VC MFC实用技巧:窗口操作与图标获取

需积分: 9 15 下载量 192 浏览量 更新于2024-08-02 收藏 267KB DOC 举报
在Visual C++ (VC) 上进行界面操作时,基于MFC (Microsoft Foundation Classes) 的编程提供了丰富的功能和灵活性。本篇文章主要涵盖了一些实用小知识,包括如何操作和管理应用程序的界面元素、消息处理以及与系统资源的交互。 首先,关于获取应用程序主窗口的指针,MFC提供了一个方便的函数AfxGetMainWnd(),该函数返回应用程序的CWnd对象指针,代表了主窗口。例如,如果你想将窗口最大化,可以调用`AfxGetMainWnd()->ShowWindow(SW_SHOWMAXIMIZED)`。 其次,了解应用程序的路径对于很多操作至关重要。可以使用`GetModuleFileName()`函数来获取当前运行程序的完整路径,去除可执行文件名后,这个路径可用于进一步的文件操作。例如,你可以通过`TCHAR exeFullPath[MAX_PATH]; GetModuleFileName(NULL,exeFullPath,MAX_PATH);`来获取路径。 在处理程序间交互时,如果需要在界面上显示其他程序的图标,有两种方法可供选择。第一种是利用Windows SDK的`SHGetFileInfo()`函数,它能获取指定文件的图标资源,如下面的示例所示,用于在窗口左上角显示NotePad的图标。第二种方法是通过`ExtractIcon()`函数从目标程序中提取图标,这两种方式都能实现相同的功能。 对于获取系统目录信息,`GetWindowsDirectory()`函数可以直接返回Windows的根目录,而如果涉及到特定版本的应用程序,可能需要查询注册表来获取精确路径。例如,如果你的应用需要在Windows 95下运行,可能需要通过注册表获取“画笔”应用的路径。 此外,对话框和工具栏的管理和定制也是常见的操作。MFC中的CDialog类用于创建和处理对话框,通过重写其成员函数,如`OnInitDialog()`和`OnOK()`,可以定制对话框的行为。至于工具条,可以通过设置其`.EnableToolTips()`方法来启用或禁用工具提示,同时也可以使用`DockControlBar()`和`DockControlBarDockControl()`来调整工具栏在窗口中的位置。 总结来说,这篇教程详细介绍了在VC环境下基于MFC进行界面操作的一些核心技巧,包括窗口管理、消息处理、图标显示、应用程序路径获取以及目录信息的获取和对话框工具栏的定制。这些基础知识点对于任何想要熟练掌握VC开发的程序员来说都是非常重要的。