在MFC Dialog-Based中绘制简单矩形

Sae*_*eri 0 mfc visual-studio-2010 dialogbasedapp visual-c++

我写了这段代码在对话框中绘制一个简单的矩形,我还在我的消息映射中添加了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();
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*ood 5

看起来你的油漆代码只在窗口是标志性的时候运行?你为什么这样做?

else在拨打电话后把它放在街区CDialogEx::OnPaint().