VC(MFC)编程技巧精华集:108招
需积分: 7 41 浏览量
更新于2024-07-31
收藏 135KB DOC 举报
"VC(MFC) 常用技巧总结 - 108条"
在VC++编程中,MFC(Microsoft Foundation Classes)是一个强大的库,用于构建Windows应用程序。这里是一些关于VC++和MFC的实用技巧:
1. 获取应用程序主窗口指针:
主窗口的指针在`CWinThread`类的成员变量`m_pMainWnd`中存储。你可以使用全局函数`AfxGetMainWnd()`来获取这个指针,并进行后续操作,例如最大化窗口:
```cpp
AfxGetMainWnd()->ShowWindow(SW_SHOWMAXIMIZED); // 使程序最大化
```
2. 确定应用程序的路径:
使用API函数`GetModuleFileName()`可以获取当前运行程序的完整路径,包括可执行文件名。如果只想得到路径,可以将文件名截取掉。示例:
```cpp
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL, exeFullPath, MAX_PATH);
// 移除文件名,只保留路径
_splitpath_s(exeFullPath, NULL, 0, NULL, 0, NULL, 0, NULL, 0);
```
3. 获取其他程序的图标:
- 方法一:使用SDK函数`SHGetFileInfo()`,它可以返回文件的图标句柄以及其他信息。
```cpp
SHFILEINFO stFileInfo;
if (SHGetFileInfo(_T("c:\\pwin95\\notepad.exe"), 0, &stFileInfo, sizeof(stFileInfo), SHGFI_ICON))
{
CDC* pDC = // 获取绘图设备上下文
pDC->DrawIcon(10, 10, stFileInfo.hIcon);
}
```
- 方法二:使用`ExtractIcon()`函数直接提取图标资源。
```cpp
HICON hIcon = ExtractIcon(AfxGetInstanceHandle(), _T("NotePad.exe"), 0);
if (hIcon && hIcon != (HICON)-1)
{
CDC* pDC = // 获取绘图设备上下文
pDC->DrawIcon(10, 10, hIcon);
}
```
注意,获取其他程序的路径时,应根据具体系统环境(如Windows版本)和目标程序的位置(如系统目录或自定义目录)选择适当的方法。
4. 获取各种目录信息:
- Windows目录:使用`GetWindowsDirectory()`函数。
- Windows下的System目录:使用`GetSystemDirectory()`函数。
这两个API函数分别用于获取Windows安装目录和System目录的路径。
这只是MFC编程中的一小部分技巧,实际开发中还有更多高级主题,如对话框控件的自定义、消息处理、数据库访问、网络编程、多线程以及性能优化等。学习和掌握这些技巧可以帮助开发者更高效地编写和维护MFC应用程序。
2011-10-24 上传
2011-03-02 上传
2023-06-05 上传
2023-09-25 上传
2024-03-05 上传
2023-06-13 上传
2023-09-05 上传
2024-01-19 上传
2023-09-16 上传
chrislixiangdong
- 粉丝: 0
- 资源: 8
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布