VC编程技巧:自定义消息、窗口限制与应用操作

需积分: 9 0 下载量 192 浏览量 更新于2024-09-22 收藏 152KB DOC 举报
"VC++编程常见问题的解决策略与实践" 在VC++编程过程中,开发者可能会遇到各种问题,本文档汇总了一些常见的问题及其解决方案。以下是一些关键知识点: 1. 自定义消息:要自定义消息,可以使用`#define`预处理器指令,如`#define WM_MY_MESSAGE WM_USER+100`。这样定义的消息应至少从WM_USER开始,以避免与系统消息冲突。接着,需要编写处理该消息的函数,如`LRESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)`。 2. 限制窗口大小:若要创建固定大小的对话框,需要处理`WM_GETMAXMININFO`消息,在`OnGetMinMaxInfo`函数中设置窗口的最大和最小尺寸。 3. 隐藏窗口:利用`ShowWindow`函数,传入参数`SW_HIDE`可以使窗口变得不可见。同时,可以结合`FindWindow`函数找到特定窗口并进行操作。 4. 获取主窗口指针:主窗口的指针存储在`CWinThread::m_pMainWnd`成员变量中,通过`AfxGetMainWnd()`函数可以获取到主窗口的指针,然后可以对其进行操作,例如最大化窗口:`AfxGetMainWnd()->ShowWindow(SW_SHOWMAXIMIZED)`。 5. 获取应用程序路径:使用`GetModuleFileName`函数可以得到当前运行应用程序的完整路径,通过去除文件名部分即可获取路径。 6. 获取其他程序的图标: - 方法一:使用SDK函数`SHGetFileInfo`获取文件信息,包括图标。例如,显示记事本程序的图标: ```cpp void CSampleView::OnDraw(CDC* pDC) { SHFILEINFO stFileInfo; if (::SHGetFileInfo(_T("c:\\win95\\notepad.exe"), 0, &stFileInfo, sizeof(stFileInfo), SHGFI_ICON)) { pDC->DrawIcon(10, 10, stFileInfo.hIcon); } } ``` - 方法二:使用`ExtractIcon`函数直接提取图标资源。 这些技巧和示例代码有助于开发者解决在VC++编程中遇到的常见问题,提高效率,并确保程序的正确运行。了解并掌握这些知识点将对VC++程序员的工作大有裨益。