两个面试题 不甚理解 使用SelectObject选定GDI对象,是否需要在过程结束时进行清空/释放处理?窗口句柄HWND和窗口指针CWnd*两种用法,在对MFC和非MFC(即Window)对象应用时有什么不同? 高手看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 路过,第一个要把原来的Old GDI对象再恢复回去.第二个,对于非MFC应用,就没有CWnd*的用法了,CWnd是MFC的类. ->1.印象中都是在过程结束时,将GDI对象还原,即重新将原来的对象选到描述表中,应该不用清空。不知道对不对,等待高手! 1、被选入的dc是无法删除的,所以最后调用SelectObject(hdc, oldxxx); 选入oldxxx,这样才可以用DeleteObject删除之前的xxx释放空间,而oldxxx是系统保有的不需要删除。通常SelectObject会传回旧的装置, 好的习惯是在用完之后, 应该再选回旧的装置, 然后将你新建的装置释放掉2、CWnd*是窗口指针HWND是窗口句柄。 举个例来说明两者的区别吧。假如pWnd是CWnd指针,hWnd是HWND. 那么pWnd有一个成员pWnd-> m_hWnd是HWND, 你也可以通过句柄来获取窗口指针声明如下: CWnd::FromHandle( HWND hWnd )由于CWnd是MFC的类,所以对于非MFC应用,就没有CWnd*的用法了, SelectObject加载HOBJECT对象,该函数返回原来的GDI对象,最后SelectObject还原原来的HOBJECT对象 HBRUSH hOldBrush = (HBRUSH) ::SelectObject((HBRUSH) ::GetStockObject(WHITE_BRUSH));// 进行一系列操作// 最后重置::SelectObject(hOld); 真的吗?我会看着你被和谐的哦~~~呵呵,玩笑啦1,好像是自动恢复的2,CWND是MFC的一个类 vc问题求教 获取对话框设置数据 设置Group Box控件背景颜色及边框颜色? 模板实例化函数链接出错:error LNK2019: unresolved external symbol 请教异步的小问题 VC下TabCtrl的控制问题解决办法 如何让C支持中文? 关于字符串。。 怎样运行程序所在的目录? 操作Excel问题 非模态对话框为何没有及时处理主界面发送的消息? DC句柄要释放吗?
第一个要把原来的Old GDI对象再恢复回去.
第二个,对于非MFC应用,就没有CWnd*的用法了,CWnd是MFC的类.
CWnd*是窗口指针
HWND是窗口句柄。
举个例来说明两者的区别吧。假如pWnd是CWnd指针,hWnd是HWND.
那么pWnd有一个成员pWnd-> m_hWnd是HWND,
你也可以通过句柄来获取窗口指针声明如下:
CWnd::FromHandle( HWND hWnd )由于CWnd是MFC的类,所以对于非MFC应用,就没有CWnd*的用法了,
::SelectObject(hOld);
呵呵,玩笑啦
1,好像是自动恢复的
2,CWND是MFC的一个类