私はプログラムのプラグインを作成していますが、MFC クラス (CDC、CRect、CPen など) を使用することを選択したプログラム ウィンドウと同じスタイルでプログラム内にウィンドウを作成する方法のオプションに直面したとき、および次に、DrawFrameControl を使用して、必要なものの簡略化されたバージョンを設計することができました。
問題は次のとおりです。閉じる、最小化などのボタンを作成しました。しかし、描画したものにイベントを追加するにはどうすればよいですか?
オンラインで検索しても解決策が見つからなかったので、皆さんに質問します
ありがとうございました
これまでに描いたコードは次のとおりです。
CDC dc;
dc.Attach(hdc);
CButton but;
CBrush green(COLOR_GREEN);
CBrush white(COLOR_WHITE);
CRect rect=GetRadarArea();
CRect rect2=GetChatArea();
CPoint ptdown,ptup;
rect.bottom=rect2.top;
rect.TopLeft().x=rect.BottomRight().x-180;
//AddScreenObject (1,"Cenas",rect,true,"nice") ;
//but.Create("Undo",BS_PUSHBUTTON,rect,hdc,MYBUTTONID);
dc.FillRect(&rect,&green);
CRect rect3; //Closebutton
rect3.TopLeft().x=rect.BottomRight().x-10;
rect3.TopLeft().y=rect.TopLeft().y;
rect3.BottomRight().x=rect.BottomRight().x;
rect3.BottomRight().y=rect.TopLeft().y+10;
dc.DrawFrameControl(&rect3,DFC_CAPTION,DFCS_CAPTIONCLOSE);
CRect rect4; //Minimize button
rect4.top=rect3.top;
rect4.bottom=rect3.bottom;
rect4.TopLeft().x=rect3.TopLeft().x-10;
rect4.BottomRight().x=rect3.BottomRight().x-10;
dc.DrawFrameControl(&rect4,DFC_CAPTION,DFCS_CAPTIONMIN);
CRect rect5;
rect5.top=rect3.top;
rect5.bottom=rect3.bottom;
rect5.TopLeft().x=rect.TopLeft().x;
rect5.BottomRight().x=rect3.BottomRight().x;
dc.SetTextColor(COLOR_WHITE);
dc.DrawText("FL Changes List",rect5,DT_CENTER);
CPen pen1 ( 0, 0.2, COLOR_WHITE) ;
dc.SelectObject(&pen1);
dc.MoveTo(rect.TopLeft().x,rect5.BottomRight().y);
dc.LineTo(rect.BottomRight().x,rect5.BottomRight().y);