`

VC++入门笔记:创建一个窗口

    博客分类:
  • VC++
阅读更多
VC++入门笔记:创建一个窗口

在VC++中创建一个窗口需要做到如下4个操作步骤:
1、设计一个窗口类;
2、注册窗口类;
3、创建窗口;
4、显示及更新窗口;
typedef struct _WNDCLASS { 
    UINT    style; //定义类的类型
    WNDPROC lpfnWndProc; //用来接收一个函数指针,回调函数,用来处理该窗口类型消息的函数,这里用指针来索引指向
    int     cbClsExtra; //类的附加内存空间,通常为0
    int     cbWndExtra; //窗口的附加内存空间,通常为0
    HANDLE  hInstance; 
    HICON   hIcon; 
    HCURSOR hCursor; 
    HBRUSH  hbrBackground; 
    LPCTSTR lpszMenuName;//常量字符串类型,设定菜单的名字
    LPCTSTR lpszClassName; //设定类的名字
} WNDCLASS; 


一个字节 8位;

关于LoadIcon函数:
我们在MSDN的帮助文件中,查阅LoadIcon函数的帮助文档。
HICON LoadIcon(
  HINSTANCE hInstance, // handle to application instance
  LPCTSTR lpIconName   // icon-name string or icon resource 
                       // identifier
);

HINSTANCE hInstance,当一个标准的图标被加载的时候,这个必须为空。
第二个值可以用下面标准的值:
Value Description
IDI_APPLICATION   Default application icon.
IDI_ASTERISK      Same as IDI_INFORMATION.
IDI_ERROR         Hand-shaped icon.
IDI_EXCLAMATION   Same as IDI_WARNING.
IDI_HAND          Same as IDI_ERROR. 
IDI_INFORMATION   Asterisk icon.
IDI_QUESTION      Question mark icon.
IDI_WARNING       Exclamation point icon.
IDI_WINLOGO       Windows logo icon.

关于HBRUSH  hbrBackground的解析(背景刷的颜色):
HGDIOBJ GetStockObject(
  int fnObject   // type of stock object
);

获得一个画刷的句柄,返回的是一个HGDIOBJ(画刷物体)。

wndcls.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH);

这里做了强制类型转换:(HBRUSH),因为hbrBackground必须还是一个HBRUSH类型。

RegisterClass(注册窗口类)
ATOM RegisterClass(
  CONST WNDCLASS *lpWndClass   // address of structure with class 
                               // data
);


参数为窗口类结构体的指针。

关于CreateWindow函数:
HWND CreateWindow(
  LPCTSTR lpClassName,  // pointer to registered class name指针指向注册类的名字
  LPCTSTR lpWindowName, // pointer to window name
  DWORD dwStyle,        // window style
  int x,                // horizontal position of window
  int y,                // vertical position of window
  int nWidth,           // window width
  int nHeight,          // window height
  HWND hWndParent,      // handle to parent or owner window
  HMENU hMenu,          // handle to menu or child-window identifier
  HANDLE hInstance,     // handle to application instance
  LPVOID lpParam        // pointer to window-creation data
);

获得是一个窗口句柄。





分享到:
评论

相关推荐

    VC++复习笔记

    MFC是微软为Windows编程提供的一个C++类库,它简化了窗口、消息处理、控件、菜单等操作。本章会讲解MFC的基本架构,包括应用程序框架、文档/视图结构、消息映射机制等,这些都是构建MFC应用的基础。 **第三章:MFC...

    vc++学习教程与笔记

    3. **MFC框架**:MFC是Microsoft为Windows平台开发的一个C++类库,它封装了许多Windows API,简化了窗口、菜单、对话框等组件的创建。学习MFC可以帮助你更高效地构建用户界面。 4. **VC++项目创建与管理**:了解...

    VC++学习文档,很好的入门笔记

    1.MFC生成的C++源文件中都有StdAfx.h,此文件包含了常用的AFX函数的声明,其中有afxwin.h,此文件包含了CRECT,CPoint,CWnd等许多类及其方法的声明。...创建一个完整的窗口的四个步骤SDK,1设计窗口类,2注册窗口类

    VC++技术内幕(第四版)笔记

    《VC++技术内幕(第四版)笔记》涵盖了微软Windows编程和Visual C++的深度解析,主要涉及以下几个核心知识点: 1. **Windows应用程序基础**:Windows应用程序必须包含`WinMain`函数,这是应用程序的入口点,负责...

    计算机视觉入门学习-基于C++和OpenCV4.8.0入门笔记

    ### 计算机视觉入门学习-基于C++和OpenCV4.8.0入门笔记 #### OpenCV项目配置步骤 1. **配置OpenCV项目的初始步骤:** - 在Visual Studio环境中,设置OpenCV项目的基本配置是至关重要的第一步。首先需要确保已经...

    VC++技术内幕(第四版)笔记

    ### VC++技术内幕(第四版)笔记 #### 第一章:Microsoft Windows 和 Visual C++ 本章节主要探讨了Microsoft Windows操作系统与Visual C++编程环境的基本概念和技术细节,为读者提供了深入理解Windows应用程序开发的...

    使用VC进行VFW视频捕获笔记

    AVICap是一个重要的组件,它提供了一个窗口类,用于创建捕获窗口并管理视频捕获过程。通过调用`capCreateCaptureWindow`函数创建捕获窗口,然后使用`WM_CAP_DRIVER_CONNECT`消息将窗口连接到捕获设备,最后使用`WM_...

    VC++工具栏使用实例(达内MFC笔记源码)

    摘要:VC/C++源码,界面编程,工具栏 VC++工具栏使用实例是从达内MFC笔记中摘录出来的源码实例,具有初级代表性,适合初级的VC++入门者参阅。  本笔记的内容大概如下:一 工具栏的使用    1 MFC工具栏相关  ...

    VC入门教程 7天学会VC

    VC++是Microsoft公司提供的一个集成开发环境(IDE),它集成了编译器、调试器和其他工具,便于开发者编写、构建、调试和管理C++应用程序。本教程将引导你逐步了解和掌握这个平台。 在7天的学习计划中,你可能会接触...

    yinkair

    学习如何使用MFC创建对话框、窗口、菜单和控件是VC++入门的重要部分。 4. **Windows API**:虽然MFC提供了很多便利,但有时仍需要直接调用Windows API来实现特定功能。理解API函数的使用方法和Windows消息机制至关...

    c#学习笔记.txt

    很多人觉得它应该像C或者C++,但事实上它更像是java的一个clone,所以作为入门,读一下清华大学出版社出版的《Java 语言与面向对象程序设计》可能会对你有所帮助。本文假定你具备一切学习此语言所需的知识,没有也不...

    VC.rar_visual c

    MFC(Microsoft Foundation Classes)是微软为Windows平台提供的一个类库,它封装了Windows API,使得开发者可以通过面向对象的方式来编写Windows应用程序。MFC包含了窗口、控件、对话框、文档/视图架构等多个类,...

    电脑服VC教程--入门经典

    【电脑服VC教程--入门经典】是一份专为初学者设计的VC++编程教程,旨在帮助读者快速掌握VC++的基本概念、语法以及编程技巧。VC++是Microsoft公司开发的一款强大的Windows平台下的C++集成开发环境,它集成了编译器、...

    vc源代码合集0951.rar

    2012-06-12 11:54 80,235 (MSDN oct 2001)VC6 适用的最后一个版本[ISO].rar 2012-06-13 09:53 0 1.txt 2012-06-12 11:56 17,755 2011年北航计算机考研复试上机题.rar 2012-06-12 07:14 11,172,336 91算命软件.zip ...

    C语言资料

    首先,"vc++_mfc.chm" 和 "visual c++—mfc入门教程.chm" 是关于Microsoft Visual C++的资源,特别是MFC(Microsoft Foundation Classes)框架的介绍。MFC是C++的一个类库,基于Windows API,为开发Windows应用程序...

    sunxinVC.zip_Windows编程_Visual_C++_

    8. **源代码分析**:通过具体的示例代码,学习者可以了解Windows程序的设计思路和实现过程,例如如何编写一个简单的窗口程序,如何响应用户的输入事件,以及如何使用API函数实现特定功能。 9. **文档/视图架构**:...

Global site tag (gtag.js) - Google Analytics