[英]draw simple rectangle in MFC Dialog-Based
我編寫了這段代碼來在對話框中繪制一個簡單的矩形,我還在我的消息 map 中添加了 ON_WM_PAINT()。 但它沒有在對話中向我顯示任何內容:如果有人能告訴我代碼中的錯誤,我真的很感激:
void Ctest4Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = 2;
int y = 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
//I want to draw a rectangle
dc.Rectangle(10,10,50,50);
}
else
{
CDialogEx::OnPaint();
}
}
看起來您的繪畫代碼僅在 window 具有標志性時運行? 你為什么這樣做?
在調用CDialogEx::OnPaint()
之后,將它放在else
塊中。
您的第一個也是最大的錯誤是嘗試直接在對話框中繪圖。 雖然可以這樣做,但這幾乎總是一個壞主意。 對話框通常應被視為控件的容器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.