`
Fangrn
  • 浏览: 818092 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C++中 根据m_hWnd获得窗体对象

    博客分类:
  • C
 
阅读更多

由HWnd得到CWnd*:
CWnd wnd;
HWnd hWnd;
wnd.Attach(hWnd);
通常一个窗口资源已经和一个CWnd类的对象关联起来的,由于一般来说这个类是自己创建的,所以自然知道怎么得到指向这个类的指针。如果没有就创建一个CWnd对象,将这个对象与窗口资源的hWnd句柄关联起来。(如上边的语句)。如果用
static CWnd*   CWnd::FromHandle(HWND   hWnd) ;
则返回值是一个暂时的CWnd对象,并且我们确保返回值为非空,也就是hWnd是有效的。 
static CWnd*   CWnd::FromHandlePermanent(HWND   hWnd)  ;
返回的是一个永久的对象。只有在返回的CWnd在类表里已经存在是返回值为非空。

由CWnd获取HWnd就容易多了,因为它的一个成员m_hWnd就是所对应窗口的句柄。
wnd->m_hWnd。

分享到:
评论

相关推荐

    ATL对话框m_hWnd为NULL

    在这个特定的问题中,“ATL对话框m_hWnd为NULL”是一个常见的错误,通常发生在尝试操作一个对话框对象时,而该对象的窗口句柄(handle)尚未被正确地初始化。 `m_hWnd`是ATL对话框类中的一个成员变量,它存储了...

    VC++设置窗体文本框控件的焦点

    在VC++编程环境中,设置窗体文本框控件(TextBox)的焦点是一项常见的任务,它使得用户能够直接在特定的文本框中输入数据。这里,我们主要探讨如何在MFC(Microsoft Foundation Classes)框架下实现这个功能。 首先...

    Visual C++窗体设计技巧

    Visual C++ 窗体设计技巧 本文将向您介绍一些窗体设计的技巧,包括如何设计一些有“稀奇古怪”形状的窗体,如何设定窗体的颜色、如何设置任务栏和状态栏以及菜单图标等等。通过这些技巧能更深入的理解 VC 的文档-...

    MFC窗体透明显示

    在Windows编程领域,MFC(Microsoft Foundation Classes)是微软提供的一套C++库,用于简化开发Windows应用程序。本文将深入探讨如何实现MFC窗体的透明显示,以及在这个过程中可能会遇到的技术挑战和解决方案。 ...

    C++调用子窗体

    在C++编程中,"C++调用子窗体"是一个常见的需求,特别是在开发桌面应用程序时。不基于MFC(Microsoft Foundation Classes)的窗口调用意味着我们将使用更底层的API,如Win32 API,来创建和管理窗口。VC++6.0是一个...

    C++ Custom Control控件向父窗体发送对应的消息

    nm.hwndFrom = m_hWnd;//这是控件的HWND句柄 nm.idFrom = GetDlgCtrlID();//这是得到的对话框的ID CWnd* pWnd; pWnd = GetParent(); //得到父窗体 窗口 if (pWnd != NULL) { pWnd->SendMessage(W

    vc让客户区或客户区和非客户区都透明.visual c++自绘窗体

    在VC++编程环境中,创建一个具有透明效果的窗口是一项常见的需求,这通常涉及到自定义窗口绘制(自绘窗体)的技术。"vc让客户区或客户区和非客户区都透明"这个主题就是关于如何在Visual C++中实现窗口的全透明效果,...

    VC启动并遍历主窗体的所有控件

    - 主窗体的句柄可以通过CWnd对象的m_hWnd成员变量获取,例如`CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();`,然后`HWND hWndMain = pMainFrame->m_hWnd;` 4. **遍历控件** - 使用Windows API函数`...

    c++ windows 窗体小程序

    在C++编程领域,Windows窗体程序开发是一项基础且重要的技能。Windows API(应用程序接口)是微软提供的一个庞大而全面的库,它包含了创建、管理以及控制窗口所需的各种函数、结构和枚举类型。本教程将围绕“c++ ...

    C++ Win32创建窗体

    在C++中,使用Win32 API创建窗体和菜单涉及到了窗口类的注册、窗口实例的创建、窗口过程函数的定义、菜单的创建以及消息的处理等多个步骤。理解并熟练掌握这些概念和方法,对于开发Windows桌面应用是至关重要的。在...

    Windows窗体程序设计

    - **消息结构**: 在C++中,Windows的消息通常用`MSG`结构体表示。 ```cpp typedef struct tagMSG { HWND hwnd; // 接收消息的窗口 UINT message; // 消息标识 WPARAM wParam; // 附加信息 LPARAM lParam; // ...

    VC中对话框窗体背景透明而控件不透明

    在VC++(Visual C++)开发环境中,创建一个对话框窗体并实现其背景透明而控件保持不透明是一项常见的需求。这样的效果可以为用户界面增添美观和专业性。要实现这一功能,我们需要理解Windows消息处理机制以及如何...

    添加DLL中的MDI子窗体

    在Windows编程中,DLL(Dynamic Link Library)是一种可重用代码的库,它包含了一组函数和资源,可供多个...在Borland C++ Builder中,利用DLL实现MDI子窗体功能,既符合Windows编程规范,也符合软件工程的最佳实践。

    Visual C++窗体设计技巧集

    Visual C++窗体设计技巧集是指在Visual C++中设计和开发具有吸引力和实用性的窗体的技巧和方法。这些技巧包括设计有“稀奇古怪”形状的窗体、设定窗体的颜色、设置任务栏和状态栏、菜单图标等等。通过这些技巧,...

    MFC创建半透明窗体

    在本主题中,我们将深入探讨如何使用MFC来创建具有半透明效果的窗体。 创建半透明窗体在现代UI设计中是常见的需求,它可以提升应用的视觉效果和用户体验。在MFC中,我们可以通过调整窗口的Alpha值来实现这一效果。...

    C++ MFC控件随着窗口大小变化而自适应_阿强的一亩三分地,一分耕耘一分收获-CSDN博客1

    在C++的MFC(Microsoft Foundation Classes)框架中,创建的窗口控件默认可能不会自动随着窗口大小的变化而自适应。为了让控件能够根据窗口尺寸调整自身大小,我们需要处理特定的消息,例如`WM_SIZE`消息。这篇CSDN...

    VC++做异形窗口 透明效果

    //取得窗口样式LONG style = ::GetWindowLong(this->m_hWnd, GWL_STYLE);//如保留窗口风格样式,则根据不同的窗口边框类型   //选取不同的m_FrameWidth和m_CaptionHeight值, //也可以根据处理位置的需要...

    WindowProtect_枚举窗体_

    在Windows编程中,枚举窗体是一个常见的任务,它涉及到对操作系统中运行的所有窗口进行遍历,以便获取或操作特定的窗口。`WindowProtect_枚举窗体_`的标题暗示了这个项目或代码示例可能关注于保护窗口或者安全相关的...

    c++builder让程序最大化最小化的代码_勿忘初心,安得始终-CSDN博客1

    在C++Builder中,开发应用程序时,我们常常需要控制窗口的状态,比如最大化、最小化或者恢复到正常大小。本文将详细讲解如何通过C++Builder实现这些功能。 首先,要实现窗口的最大化和最小化,我们可以使用`TForm`...

    MFC实现透明窗口

    在Windows编程领域,MFC(Microsoft Foundation Classes)是一个基于C++的类库,它提供了用于构建Windows应用程序的框架。在MFC中实现透明窗口是一项常见的需求,尤其在创建具有复杂界面设计的应用时。本篇文章将...

Global site tag (gtag.js) - Google Analytics