簡體   English   中英

在組框或MFC中的圖片控件中創建矩形

[英]Create rectangle in groupbox or picture control in MFC

我正在嘗試在對話框的圖片控制框中創建一個矩形。 但是,到目前為止,單擊按鈕后我仍可以在對話框上繪制矩形,但是我需要在圖片控件中進行同樣的操作。

為什么我需要這樣做? 實際上,矩形的尺寸將由運行時間決定,因此,如果矩形位於對話框中,則它可能會覆蓋下面的按鈕和編輯框,我希望保留圖片控件,以便即使矩形的尺寸發生變化,不會從圖片框中出來。

我正在VC ++中使用MFC開發任何幫助。 謝謝! :)

您需要的技術稱為子類化。 創建一個從CStatic派生的類(我將其稱為CYourDerivedStatic),然后在該類中為WM_PAINT消息添加一個消息處理程序。 然后,您可以在OnPaint消息處理程序中繪制所需的任何內容。

void CYourDerivedStatic::OnPaint()
{
 CPaintDC dc(this);
 dc.FillSolidRect(...);
}

要將自定義類附加到圖片框控件,請先在對話框編輯器中右鍵單擊該控件,然后單擊“添加變量”。 這在對話框類中為您提供了一個CStatic成員變量。 然后將“ CStatic”編輯為“ CYourDerivedStatic”,並#include“ YourDerivedStatic.h”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM