谁能帮我理解如何为从 CDialog
派生的对话框类覆盖 OnPaint()
。
代码如下:
ColorImageDlg *pDlg = NULL;
pDlg = new ColorImageDlg;
pDlg->DoModal();
delete pDlg;
我正在覆盖 OnInitDialog()
并且它被调用了。
但是在重写 OnPaint()
时它没有被调用。
谁能帮我解决这个问题?
最佳答案
首先,在堆上创建对话框的实例有什么意义?你可以简单地做:
ColorImageDlg dlg;
dlg.DoModal();
您需要像这样修改您的消息映射:
BEGIN_MESSAGE_MAP(ColorImageDlg, CDialog)
ON_WM_PAINT()
END_MESSAGE_MAP()
使用 VS 类向导 来避免此类问题。
关于visual-c++ - 我在我的对话框类中添加了一个 OnPaint() 函数,但它在 dlg.DoModal() 之后没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37722069/