마우스로 콤보박스에 삼각형부분(▼)을 클릭해서 콤보박스를 열고
항목을 선택해서 클릭하면 콤보박스가 닫히면서 커서가 리치에디터에
나타납니다. 누구나 아는 사실이지요.
[질문> 그런데
마우스로 콤보박스에 삼각형부분(▼)을 클릭해서 열고 항목을 선택하지
않고 삼각형부분(▼)을 클릭해서 닫으면 커서가 리치에디터에
나타나지 않습니다.
여러분이 알려주신 데로 아래의 프로그램으로 아무리 노력을 해도
문제해결이 안되네요.
자세히... 프로그램을 짜서 알려주시면 고맙겠습니다.
TColor iColor[] = { clBlack, clMaroon, clGreen, clOlive, clNavy,
clPurple, clTeal, clGray, clSilver, clRed, clLime,
clYellow, clBlue, clFuchsia, clAqua, clWhite };
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ComboBox1->Style = csOwnerDrawFixed;
ComboBox1->ItemIndex=0;
}
void __fastcall TForm1::RichEdit1SelectionChange(TObject *Sender)
{
// 생략
}
void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control,
int Index, TRect &Rect, TOwnerDrawState State)
{
ComboBox1->Canvas->FillRect(Rect);
ComboBox1->Canvas->Brush->Color=iColor[Index];
ComboBox1->Canvas->Rectangle(Rect.Left+1, Rect.Top+1,
Rect.Right-1, Rect.Top+15);
}
void __fastcall TForm1::ComboBox1Click(TObject *Sender)
{
if(ComboBox1->DroppedDown==false)
RichEdit1->SetFocus();
}
jsk365 올림.
|