本文目录一览

1,CWnd是什么CWnd呢 是一个指针参数

窗口类CWnd* 窗口类的指针啊

CWnd是什么CWnd呢 是一个指针参数

2,c中CWnd类是干什么的他有哪些成员函数 哪些常用 的

CWnd 是windows窗口类,有窗口的属性及行为……其他就不甚清楚了。
你说呢...

c中CWnd类是干什么的他有哪些成员函数 哪些常用 的

3,HWND和 CWnd 怎么进行相互转换

CWnd *pWnd=CWnd::FromHandle(hWnd);HWND hWnd=*pWnd;
HWND是句柄,CWnd是一个窗口类,由后者生成的对象包含句柄,他的句柄就是HWND类型的.
花点时间, 看msdn 吧CWnd::FromHandle &CWnd::m_hWnd

HWND和 CWnd 怎么进行相互转换

4,CWnd的全称是什么

C=class 类Wnd=Window 窗口就是窗口类的意思。
就是CWnd类,MFC对窗口api函数进行的C++封装类
CWindow
就是CWnd类再看看别人怎么说的。
C=class 类 Wnd=Window 窗口 就是窗口类的意思。 同意以上观点
CWnd的全称就是CWnd是MFC所有窗口类的基类比如对话框(CDialog),进度条(CProgressCtrl)等等

5,MFC 中 Cwnd 和 Cwnd区别

getDlgItem(IDC_NAME)得到的是指针那么CWnd wnd=*(getDlgItem(IDC_NAME))就可以得到对象了。参数是CWnd的方法基本上都是传指针,因为这样对象只new了一份,操作的都是同一块内存。如果直接传对象那在方法里面又会new一块内存,操作的就不是你想要操作的那个对象了。
这是简写形式,getparent()函数返回父窗口指针 可以这样写:cwnd* pwnd = getparent();pwnd->func();
就像int 和int*的区别,一个是句柄,一个是句柄指针,

6,使用一个CWnd空闲池创建一个动态用户界面

http://www.vckbase.com/code/downcode.asp?id=3019 代码 介绍   本文提出了一组可以用来动态创建UI的类。该代码是集中于一个空闲池使用管理器的CWnd继承控件,该管理器可以帮助我们减少在特定UI场景中GDI资源的使用。为了在运行中演示这些类,我已经在此提供了一个MDI应用示例,它只是让你来打开XML文件。每个XML文件为单个MDI子窗体定义了布局和UI控件属性。尽管代码是用VC6写的,示例项目也可以被转换为VS 2003 和VS 2005项目。 UI场景   这里有两个普通的UI场景可能从空闲池的概念中受益。第一个例子是一个允许操作员来控制一些不同类型的远程设备的网络管理应用程序。每个设备有一组可以被几乎实时地读取或设置的参数。对于这种类型的应用程序有一个可能的UI模式是你的基本MDI框架允许你打开一个MDI子窗体以控制单个设备实例。因为每个设备可能有众多的(数以十计或甚至数以百计)参数,每个MDI子(或设备)窗体中的UI控件用如下图所示标签被组织为逻辑上的分组。   为每个设备类型实现UI的典型方法是为每个标签创建控件的一个不同的对话框或属性页。这个方法实现起来简单但是它不能很好地工作。考虑这样一个状况:你需要支持一个有着200个参数的设备类型。假定在一个设备窗体中每个标签可以为最多20个参数的控件提供的一个布局。因此,需要创建10个标签或对话框。现在,如果你认为每个参数也许需要配以它自我描述的文本标签,那么表示完整设备所必需的UI控件的数量可能会超过400个。另外,对于特定参数,UI控件可能并不是像你的基本CButton或CEdit那样简单。它也许可能是一个第三方测量的ActiveX控件(你必需在你的项目用到的),或一个类似于Windows Forms用户控件的聚集。因此,必需实现单个设备窗体的GDI资源耗费可能会很高并在操作员需要在同一时间打开很多这些设备窗体时变成一个限制的因素。   第二个例子是选项对话框(比如在VS2005中的“选项(Options)”对话框)。这一类型对话框的代表是在左手边包含一个树视图,右边是一组UI控件。每当树视图中的选择项改变,右手的那组控件就会动态改变。这个UI场景实际上与有着标签设备常窗体的第一个例子很相似。主要的不同之处是在选择和分组机制上(例如,树视图选择对应标签选择)。 CWnd空闲池   去除对不同的对话框或属性页的需要是减少标签设备窗体的资源需求的一个方法。可以通过只用一个对话框并实现一个机制,并由此依靠当前选择了哪一个标签决定UI控件被隐藏或显示。相同数量的UI控件需要被创建,但是我们以对话框所需要的数量保存这些控件。   如果我们认识到相同类型的UI控件常常在多个标签中被显示,那就可以在资源使用中获得更大节约。换句话说,不是只在标签选择改变时隐藏控件,我们可以在空闲池或cache中存储隐藏控件以便它们可以在转换到一个不同标签时被复用。这允许我们通过标签选择复用UI控件实例。举个例子,如果一个标签使用了一个CButton和另一个标签也使用一个CButton,为这两个标签它应该只需要创建一个CButton的实例并使用相同的UI实例。用此方法,每个设备窗体所需UI控件节约的数量会是相当大的。正如最佳案例场景的一个例子,考虑一个有者10个参数组(标签)和200个参数的设备,每个参数用一个trackbar(滑块)控件表示。如果我们也要用一个相应的文本标签控件为每个trackbar配对,这时就需要总数400个UI控件使用一个典型的多对话框实现。然而,如果我们从一个标签到另一个标签复用trackbar和label控件,设备窗体将需要至少20个trackbar和20个label控件,由此可以10倍减少资源的使用。   为了实现复用机制,我们首先通过定义一个只是保存空闲和可利用的CWnd实例track的CWndFreePool类。池中引用的每个CWnd配以一个字符串标识与UI控件的类型相应的CWnd。比如,"Button"类型字符串标识配对CWnd实际上是一个CButton实例,(以BS_PUSHBUTTON样式创建的)。除了MFC内建控件比如CButton,空闲池也可以引用ActiveX控件,因为Visual Studio可以为继承于CWnd的ActiveX控件生成MFC包装类。CWndFreePool类的public接口如下所示。

文章TAG:是什么  什么  一个  指针  cwnd  是一个指针参数  
下一篇