|
이런 방법은 !
TColor 는 enum type으로 color에대한 hex값이 들어가있습니다.
우선,comboBox에 삽입을 원하는 color list를 구하고 item을 삽입합니다.
ex)
ComboBox1->Items->Add(IntToStr(clBlue));
ComboBox1->Items->Add(IntToStr(clRed));
ComboBox1->Items->Add(IntToStr(clYellow));
이렇게 하면 comboBox값에 integer로 변환된 color값들이 string으로 들어갑니다.
그리고 나서
style을 csOwnerDrawFixed로 놓으시고
ComboBox1DrawItem 이벤트에 내용을 삽입을 합니다.
TColor mycolor;
switch(Index) {
case 0:
mycolor = StrToInt(ComboBox1->Items->Strings[Index]);
ComboBox1->Canvas->Brush->Color = mycolor;
ComboBox1->Canvas->FillRect(Rect);
break ;
case 1:
mycolor = StrToInt(ComboBox1->Items->Strings[Index]);
ComboBox1->Canvas->Brush->Color = mycolor;
ComboBox1->Canvas->FillRect(Rect);
break ;
case 2:
mycolor = StrToInt(ComboBox1->Items->Strings[Index]);
ComboBox1->Canvas->Brush->Color = mycolor;
ComboBox1->Canvas->FillRect(Rect);
break;
default:
ComboBox1->Canvas->Brush->Color = clWhite;
ComboBox1->Canvas->FillRect(Rect);
}
이렇게 하시면 combobox를 click하면 color list가 쫘~악 나오고요
물론 선택된 color도 알수가 있죠
ComboBox1Change 이벤트에서 선택된 color를 가져옵니다.
TColor mycolor;
mycolor = StrToInt(ComboBox1->Text); 요렇게요
이렇게 하시면 아마도.....
|