VC++初始化HDC

来源:百度知道 编辑:UC知道 时间:2024/06/19 10:30:58
定义了一个HDC mdc;后,直接在上面画,比如SetPixel(mdc,10,10,RGB(0,0,0));然后在显示,结果是什么都没有。
是不是HDC没有初始化?
请教一下各位高手:HDC怎么初始化啊?

直接 GetDC 获得 HDC 进行绘制的话,会被覆盖(擦)掉。

正确的方法是在 WM_PAINT 消息处理函数里调用 BeginPaint 获得 HDC,绘制完成后调用 EndPaint。

你的HDC指的是哪个设备的句柄,那连在什么地方画画都没指定,当然什么都不显示了。HDC通过API获取,如GetDC、GetClientDC等等,视你的情况而定,具体的使用可以查看MSDN或者网上搜索。

在OnDraw 中处理,因为你不知道DC的具体情况