CWnd常用方法

CWnd常用方法CWnd 类提供了微软基础类库中所有窗口类的基本功能 数据成员 m hWnd 指明与这个 CWnd 对象相关联的 HWND 句柄 nbsp 构造和析构 CWnd 构造一个 CWnd 对象 DestroyWindo 销毁相关联的 Windows 窗口 nbsp 获取 CWnd 指针 CWnd h Wnd GetDlgItem IDD DXCAPTURE DIALOG 获取 HWNDHWNDGet

CWnd类提供了微软基础类库中所有窗口类的基本功能。

数据成员

m_hWnd 指明与这个CWnd对象相关联的HWND句柄

 

构造和析构 :

CWnd 构造一个CWnd对象

DestroyWindow 销毁相关联的Windows窗口

 

获取CWnd指针

CWnd* h_Wnd=GetDlgItem(IDD_DXCAPTURE_DIALOG);

获取HWND

HWND GetSafeHwnd( ) const;

返回值:返回窗口的句柄。如果CWnd对象没有与一个窗口连接或它使用的CWnd指针为NULL,则返回NULL。

CWnd 常用方法

 

 

BOOL ShowWindow( int nCmdShow );

返回值:如果窗口原来可见,则返回非零值;如果CWnd原来是隐藏的,则返回0。

参数:nCmdShow指定了CWnd应如何被显示。常用数值:

SW_HIDE 隐藏窗口并将活动状态传递给其它窗口。

SW_SHOW 激活窗口并以其当前的大小和位置显示。

 

void Invalidate( BOOL bErase = TRUE );

参数: bErase 指定是否要擦除更新区域内的背景。

 

void UpdateWindow( );

说明: 如果更新区域不为空,则发送一条WM_PAINT消息以更新客户区域。UpdateWindow成员函数直接发送一条WM_PAINT消息,越过应用程序队列。如果更新区域为空,则WM_PAINT不会被发送。

 

窗口文本函数:

void SetWindowText( LPCTSTR lpszString );

参数: lpszString 指向一个CString对象或以null结尾的字符串,将被用作新的标题或控件文本。

说明:这个函数将窗口的标题设为指定的文本。如果窗口为一个控件,则将设置控件内的文本。

这个函数使一条WM_SETTEXT消息被发送到这个窗口。

 

int GetWindowText( LPTSTR lpszStringBuf, int nMaxCount ) const;

void GetWindowText( CString& rString ) const;

返回值:指定了要拷贝的字符串的长度,以字节为单位,不包括结尾的空字符。如果CWnd没有标题或标题为空,则为0。

参数: lpszStringBuf 指向要接收窗口标题的复制字符串的缓冲区。

nMaxCount 指定了要拷贝的缓冲区的最大字符数目。如果字符串比nMaxCount指定的数目还要长,则被截断。

rString 用于接收窗口标题的复制字符串的CString对象。

说明:这个函数将CWnd的标题(如果有)拷贝到lpszStringBuf指向的缓冲区或者目的字符串rString。如果CWnd对象是一个控件,则GetWindowText成员函数将拷贝控件内的文本(而不是控件的标题)。这个成员函数会向CWnd对象发送一个WM_GETTEXT消息。

 

void SetFont( CFont* pFont, BOOL bRedraw = TRUE );

参数: pFont 指定了新的字体。

bRedraw 如果为TRUE,则重画CWnd对象。

说明:这个函数将窗口的当前字体设为指定的字体。如果bRedraw为TRUE,则窗口还会被重画。

 

CFont* GetFont( ) const;

返回值:指向一个CFont对象的指针,其中包含了当前的字体。

这个指针可能是临时的,不能被保存以供将来使用。

说明:获得窗口的当前字体

 

 

窗体位置和大小:

void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );

void MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE );

 

参数: x 指定了CWnd的左边的新位置。

y 指定了CWnd的顶部的新位置。

nWidth 指定了CWnd的新宽度。

nHeight 指定了CWnd的新高度。

bRepaint 指定了是否要重画CWnd。如果为TRUE,则CWnd象通常那样在OnPaint消息处理函数中接收到一条WM_PAINT消息。如果这个参数为FALSE,则不会发生任何类型的重画操作。这应用于客户区、非客户区(包括标题条和滚动条)和由于CWnd移动而露出的父窗口的任何部分。当这个参数为FALSE的时候,应用程序必须明确地使CWnd和父窗口中必须重画的部分无效或重画。

lpRect CRect对象或RECT结构,指定了新的大小和位置。

 

说明:这个函数改变窗口的位置和大小。

对于顶层的CWnd对象,x和y参数是相对于屏幕的左上角的。对于子对象,它们是相对于父窗口客户区的左上角的。

MoveWindow函数发送一条WM_GETMINMAXINFO消息。处理这个消息时,CWnd得到一个改变最大和最小的窗口缺省值的机会。如果传递给MoveWindow成员函数的参数超过了这些值,则在WM_GETMINMAXINFO处理函数中可以用最小或最大值来代替这些值。

 

BOOL SetWindowPos(

     const CWnd* pWndInsertAfter,

     int x, int y,

     int cx, int cy,

     UINT nFlags

    );

返回值:如果函数成功,则返回非零值;否则返回0。

 

注:参数和说明见:MFC类库详解

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204338.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:31
下一篇 2026年3月19日 下午8:31


相关推荐

  • Python开发英语记忆单词软件

    Python开发英语记忆单词软件

    2026年3月12日
    18
  • p4merge_p42排列组合公式

    p4merge_p42排列组合公式P5641【CSGRound2】开拓者的卓识https://www.luogu.com.cn/problem/solution/P5641经典的讨论贡献的题目,如果一层一层展开就太暴力了,我们直接考虑每个数被计算了多少次,那么应该是它的左边放k-1个左括号,右边放k-1个右括号的方案数,然后就可以组合数计算了,然后发现对于每个r它所对应的答案是一个卷积的形式,所以我们可以直接ntt一次就可以求出所有答案。…

    2025年8月10日
    10
  • nginx的负载均衡算法_redis负载均衡

    nginx的负载均衡算法_redis负载均衡1、轮询     就是按照时间顺序分配下一个请求的服务器。2、权值轮询     给每一个服务器加上权值,权值和分配的请求成正比,比较适应于服务器配置不均的情况。3、ip哈希     根据ip的哈希值分配,这样每个ip每次访问的服务器都相同,这样session的处理会容易些。4、响应时间动态分配   根据请求的响应时间来分配,时间越短,说明处理能力较强,这样会…

    2022年10月12日
    3
  • Qwen3-VL-WEBUI入门必看:5分钟快速上手教程

    Qwen3-VL-WEBUI入门必看:5分钟快速上手教程

    2026年3月15日
    2
  • 0001.Latex中中文双引号和单引号的写法「建议收藏」

    0001.Latex中中文双引号和单引号的写法「建议收藏」0001.Latex中中文单引号和双引号的写法如何在Latex或者Ctex中输入中文双引号or单引号?在Latex中,查看Tab键上面的键,在英文状态下连续输入两个“,然后输入Enter键左边的单引号’’,输入两次,也是英文状态下哦。可以将一个矩阵$“\cdot$”按列拉直成一个向量注意引号与$符号的位置。同样的,中文单引号如下输入可以将一个矩阵$`\Gamma$’按列拉直成一个向量…

    2022年6月25日
    93
  • TextWatcher学习[通俗易懂]

    xmlversion=”1.0″encoding=”utf-8″?>LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”android:orientation=”vertical”android:layout_width=”fill_parent”android:layout_heig

    2022年4月18日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号