CSDN论坛 > VC/MFC > 基础类

关于CWnd::SubclassDlgItem的 [问题点数:20分,结帖人songsong2008]

Bbs1
本版专家分:4
结帖率 100%
CSDN今日推荐
Bbs2
本版专家分:130
匿名用户不能发表回复!
其他相关推荐
CWnd类总结
一、MFC 类别阶层架构 二、CWnd类 CWnd是MFC的一个窗口类,这个类里几乎封装了所有关于窗口操作的API函数。 在Windows系统里,一个窗口的属性分两个地方存放:一部分放在“窗口类”里头,如上所述的在注册窗口时指定;另一部分放在Windows Object本身,如:窗口的尺寸,窗口的位置(X,Y轴),窗口的Z轴顺序,窗口的状态(ACTIVE,MINIMI
MFC中创建或派生基于CWnd的类
MFC中创建或派生基于CWnd的类。
cwnd类介绍
cwnd类提供了微软基础类库中所有窗口类的基本功能。 cwnd对象与windows的窗口不同,但是两者有紧密联系。cwnd对象是由cwnd的构造函数和析构函数创建或销毁的。另一方面,windows的窗口是windows的一种内部数据结构,它是由cwnd的create成员函数创建的,而由cwnd的虚拟析构函数销毁。destroywindow函数销毁windows的窗口,但是不销毁对象。
QWidget 与 CWnd相互转化
1: QWidget  -> CWnd: {     QWidget * pWidget = new QWindget;     CWnd * pWnd = CWnd::FromHandle(  (HWnd)( pWidget->winId() ) ); } 2: CWnd -> QWidget: {    CWnd * pWnd = new CWnd ;
CWnd的常用成员函数
1.有句柄转为CWND对象 (1)FromHandle和GetGlgItem:产生一个临时性窗口指针,只限于在当前函数内使用; (2)Attach和Detach成对使用为一个CWnd对象嫁接和移除窗口句柄。只用attach在摧毁窗口时会出现错误; (3)SubclassWindow和UnSubclassWindow,子类化和反子类化,还能通过子类接收窗口消息; (4)SubclassDlg
CWnd 类 和 CWindow类 的区别
在 MSDN 中一个函数属于 CWnd 类 和 CWindow类 的区别: 1、 CWindow是ATl中封装的窗口类,没有ClassWizzard支持的。  CWnd是MFC的封装有ClassWizzard支持。 2、 CWindow 是在 window ce 平台上使用的 CWnd 是mfc中所有窗口类的基类
关于attach和detach的疑问
            attach是把一个C++对象与一个WINDOWS对象关联,直到用detach则把关联去掉。    如果attach了以后没有detach,则C++对象销毁的时候WINDOWS对象跟着一起完蛋。              attach了以后,C++对象的指针和WINDOWS对象的HWND会有一个映射关系,其作用相当于你直接用一个C++对象去Create一个WINDOWS对象
得到当前窗口CWND
方法一: CDialogFindString * lDialogFindString;//自己定义的窗口类指针 HWND lHwnd = GetSafeHwnd(); CWnd * pCWnd = FromHandle(lHwnd); lDialogFindString->Create(CDialogFindString::IDD,pCWnd );//创建一个非模态窗口 方法二:
MFC中CWnd类及其派生类对话框、消息处理、窗口操作
CWnd类 我们在屏幕上看到的所有对象都和窗口有关,它们或者派生于CWnd,属继承关系,如对话框、工具栏、状态栏、子控件;或者被CWnd合成,属服务员与服务对象关系,如图标、菜单、显示设备。 CWnd类封装的窗口操作主要包含窗口的创建和销毁、操作窗口风格、操作窗口状态、窗口子类化、获取指定窗口等。 当然,CWnd还实现了其他功能: 1、绘制窗口 GetDC()//取得客户区显示设备上下文
MFC中CWnd对象和Windows窗口的区别
一个CWnd对象和一个Windows窗口是有本质区别的,尽管它们有密切的联系。CWnd对象是一个C++概念,即类的实例;而Windows窗口则是指向Windows内部数据结构的一个句柄,它的创建和显示是要消耗系统资源的。一个CWnd对象通过其构造函数被创建,通过析构函数销毁;而一个Windows窗口则通过CWnd的Create函数创建,被DestroyWindows函数销毁。 调用构造函数后,C
关闭
关闭