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
);
获得是一个窗口句柄。
分享到:
相关推荐
MFC是微软为Windows编程提供的一个C++类库,它简化了窗口、消息处理、控件、菜单等操作。本章会讲解MFC的基本架构,包括应用程序框架、文档/视图结构、消息映射机制等,这些都是构建MFC应用的基础。 **第三章:MFC...
3. **MFC框架**:MFC是Microsoft为Windows平台开发的一个C++类库,它封装了许多Windows API,简化了窗口、菜单、对话框等组件的创建。学习MFC可以帮助你更高效地构建用户界面。 4. **VC++项目创建与管理**:了解...
1.MFC生成的C++源文件中都有StdAfx.h,此文件包含了常用的AFX函数的声明,其中有afxwin.h,此文件包含了CRECT,CPoint,CWnd等许多类及其方法的声明。...创建一个完整的窗口的四个步骤SDK,1设计窗口类,2注册窗口类
《VC++技术内幕(第四版)笔记》涵盖了微软Windows编程和Visual C++的深度解析,主要涉及以下几个核心知识点: 1. **Windows应用程序基础**:Windows应用程序必须包含`WinMain`函数,这是应用程序的入口点,负责...
### 计算机视觉入门学习-基于C++和OpenCV4.8.0入门笔记 #### OpenCV项目配置步骤 1. **配置OpenCV项目的初始步骤:** - 在Visual Studio环境中,设置OpenCV项目的基本配置是至关重要的第一步。首先需要确保已经...
### VC++技术内幕(第四版)笔记 #### 第一章:Microsoft Windows 和 Visual C++ 本章节主要探讨了Microsoft Windows操作系统与Visual C++编程环境的基本概念和技术细节,为读者提供了深入理解Windows应用程序开发的...
AVICap是一个重要的组件,它提供了一个窗口类,用于创建捕获窗口并管理视频捕获过程。通过调用`capCreateCaptureWindow`函数创建捕获窗口,然后使用`WM_CAP_DRIVER_CONNECT`消息将窗口连接到捕获设备,最后使用`WM_...
摘要:VC/C++源码,界面编程,工具栏 VC++工具栏使用实例是从达内MFC笔记中摘录出来的源码实例,具有初级代表性,适合初级的VC++入门者参阅。 本笔记的内容大概如下:一 工具栏的使用 1 MFC工具栏相关 ...
VC++是Microsoft公司提供的一个集成开发环境(IDE),它集成了编译器、调试器和其他工具,便于开发者编写、构建、调试和管理C++应用程序。本教程将引导你逐步了解和掌握这个平台。 在7天的学习计划中,你可能会接触...
学习如何使用MFC创建对话框、窗口、菜单和控件是VC++入门的重要部分。 4. **Windows API**:虽然MFC提供了很多便利,但有时仍需要直接调用Windows API来实现特定功能。理解API函数的使用方法和Windows消息机制至关...
很多人觉得它应该像C或者C++,但事实上它更像是java的一个clone,所以作为入门,读一下清华大学出版社出版的《Java 语言与面向对象程序设计》可能会对你有所帮助。本文假定你具备一切学习此语言所需的知识,没有也不...
MFC(Microsoft Foundation Classes)是微软为Windows平台提供的一个类库,它封装了Windows API,使得开发者可以通过面向对象的方式来编写Windows应用程序。MFC包含了窗口、控件、对话框、文档/视图架构等多个类,...
【电脑服VC教程--入门经典】是一份专为初学者设计的VC++编程教程,旨在帮助读者快速掌握VC++的基本概念、语法以及编程技巧。VC++是Microsoft公司开发的一款强大的Windows平台下的C++集成开发环境,它集成了编译器、...
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 ...
首先,"vc++_mfc.chm" 和 "visual c++—mfc入门教程.chm" 是关于Microsoft Visual C++的资源,特别是MFC(Microsoft Foundation Classes)框架的介绍。MFC是C++的一个类库,基于Windows API,为开发Windows应用程序...
8. **源代码分析**:通过具体的示例代码,学习者可以了解Windows程序的设计思路和实现过程,例如如何编写一个简单的窗口程序,如何响应用户的输入事件,以及如何使用API函数实现特定功能。 9. **文档/视图架构**:...