手机网站菜单代码,文明seo技术教程网,sem竞价专员是干什么的,做物业管理的企业网站MFC/C学习系列之简单记录7 前言句柄的介绍句柄的使用AFX开头的函数都是干什么用的#xff1f;总结 前言
在MFC的使用中发现了句柄#xff0c;今天来详细学习一下MFC中如何使用句柄吧#xff01; 句柄的介绍
句柄的使用是资源管理和传递的关键机制#xff0c;通过句柄将系… MFC/C学习系列之简单记录7 前言句柄的介绍句柄的使用AFX开头的函数都是干什么用的总结 前言
在MFC的使用中发现了句柄今天来详细学习一下MFC中如何使用句柄吧 句柄的介绍
句柄的使用是资源管理和传递的关键机制通过句柄将系统资源或对象进行传递使用。
句柄的使用
窗口句柄HWND用于唯一标识窗口的整数值窗口句柄可以通过CWnd变量获取。设备上下文句柄HDC用于引用绘图设备上下文。设备上下文句柄可以通过CDC获取。菜单句柄HMENU用于唯一标识菜单对象。画笔句柄HPEN用于引用画笔对象画刷句柄HBRUSH用于引用画刷对象图标句柄HICON用于引用图标资源。光标句柄HCURSOR用于引用光标资源。位图句柄HBITMAP用于引用位图资源字体句柄HFONT用于引用字体资源 除了以上句柄还有一种通用的句柄叫HANDLE是一个通用的指针类型用于引用多种不同的系统对象。
// 窗口类
CreateWindow(xx); //设备上下文句柄
HDC hdc GetDC(hwnd); // 获取窗口的设备上下文句柄//菜单句柄
HMENU hMenu CreateMenu(); // 创建一个菜单//画笔句柄
HPEN hPen CreatePen(PS_SOLID, 1, RGB(0, 0, 0)); // 创建画笔//画刷句柄
HBRUSH hBrush CreateSolidBrush(RGB(255, 0, 0)); // 创建画刷//图标句柄
HICON hIcon LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(1)); // 加载程序中的图标资源//光标句柄
HCURSOR hCursor LoadCursor(NULL, IDC_HAND); // 加载系统手形光标//位图句柄
HBITMAP hBitmap LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(2)); // 加载程序中的位图资源//字体句柄HFONT
HFONT hFont CreateFont(20, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, //通用句柄HANDLE
HANDLE hFile CreateFile(C:\\example.txt, // 文件名GENERIC_READ, // 访问模式0, // 共享模式NULL, // 安全属性OPEN_EXISTING, // 创建模式FILE_ATTRIBUTE_NORMAL, // 文件属性NULL); // 模板文件句柄
// 使用hFile进行文件操作
CloseHandle(hFile); // 关闭文件句柄AFX开头的函数都是干什么用的
在MFC中常看到一些以“AFX”开头的函数是MFC框架提供的全局函数或者宏。这些函数和宏封装了Win32 API使得C开发者能够更加方便地编写Windows应用程序。 常用的有一下几个
AfxWinInit()用于初始化MFC应用程序。AfxGetApp()返回指向当前应用程序对象CWinApp派生对象的指针。AfxGetMainWnd()返回指向程序主窗口的指针。AfxGetInstance()返回程序的实例句柄。AfxRegisterClass()注册窗口类。AfxMessageBox()类似于Win32 API中的MessageBox函数用于显示消息框。AfxOuputDebugString()将字符串输出到调试装置。AfxBeginThread()开始一个新的线程。AfxEndThread()结束一个线程。 最后两个长见于串口的开始结束。 这里以AfxMessageBox()举例
int result AfxMessageBox(_T(程序开始运行), MB_OK);
// 根据返回值执行不同的操作
if (result ! IDOK)
{// 用户点击了确定按钮return FALSE;
}我把上述代码放到BOOL CMFCtest1Dlg::OnInitDialog()函数中界面初始化的时候就会弹窗提示。 总结
简单学习了一下句柄和AFX开头的函数的使用