从设备上下文初始化控件的成员变量

问题描述:

我正在编写从CWnd派生的自定义控件。我想使用它的设备上下文初始化我的自定义控件类的成员变量(例如:内存dc)。哪种方法是正确的?我猜设备上下文不会在构造函数中准备好。那么下一个选项是什么?使用直流电OnCreate事件安全吗?我可能在寻找类似OnInitDialog的东西,但它是一个自定义控件,而不是对话框。从设备上下文初始化控件的成员变量

更新:我通过资源编辑器将自定义控件添加到父对话框。所以没有机会获得WM_CREATE事件,因为它已经在子类化之前创建。

+0

你的意思是你想要同步的自定义控件无论是在屏幕上?这是非典型的。 – wallyk 2012-07-12 07:25:40

+0

你试过重写PreSubclassWindow吗? – Jeeva 2012-07-12 07:27:58

+0

@wallyk no。我想为自定义控件创建一个兼容的内存dc,并将其保存为用于绘图目的的成员变量。 – 2012-07-12 08:04:03

在调用基类的OnCreate方法后,可以在OnCreateWM_CREATE)中创建设备上下文。

http://msdn.microsoft.com/en-us/library/dd318297(v=vs.85).aspx

From Programming Windows

+0

请检查更新后的问题! – 2012-07-12 09:40:33