pDC CDC GetDC hdc HDC hWnd HWND CWnd pWnd ---整理!!

本文介绍了在VC++中CWnd类与HWND句柄之间的转换方法,并提供了使用CDC对象进行绘图的具体实现。通过实例展示了如何获取设备上下文(DC)并释放,以及如何直接利用窗口句柄进行绘图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

CDC *pDC
pDC = GetDC();

void show::draw(CWnd * pWnd)//要是CWnd指针是成员变量就可写成void show::draw()
{
CDC * pDC = pWnd->GetDC();//get the pWnd 's DC
//use dc draw your pic
...
pWnd->ReleaseDC(pDC);
}

---
void show::draw(HWND hWnd)//要是hWnd是成员变量就可写成void show::draw()
{
HDC hdc =GetDC(hWnd);//get the hWnd 's DC
//use dc draw your pic
...
ReleaseDC(hWnd,hdc);

}
---------------


HWND hWnd= :: GetWindow (:: GetDesktopWindow(), GW_CHILD)


VC的窗口类和窗口句柄的转换。
窗口类就是CWnd,窗口句柄就是HWND。CWnd和HWND之间互相转换代码如下:
    CWnd *pWnd;
    HWND hWnd;
    hWnd = pWnd->GetSafeHwnd();        //CWnd->HWND
    pWnd = CWnd::FromHandle(hWnd); //HWND->CWnd

--------
HWND   句柄,其实就是void*类型的,当然没有函数可调用,只有用API对它进行操作。
Cwnd 是C++的一个类,有函数调用。但其操作的对像其实就是一个HWND的句柄。

主窗口的CWND 就是框架窗口了,包括其他子窗口的容器

就是MFC与SDK的关系.弄懂了,WINDOWS编程就变得容易了

CWnd是类名
HWND是句柄

LRESULT AFXAPI AfxCallWndProc(CWnd* pWnd, HWND hWnd, UINT nMsg,...

Cwnd是C++里面的一个类
HWND是一个句柄,他是一个32位的数,相当于c里面的指针.

HWND是个整数,存放于windows资源标志表
例如 HWND hWnd1    1 (表示进程1中的某个窗口对象的地址)
      HWND hWnd2    2 (表示进程2中的某个窗口对象的地址)
       。.。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值