VC++编程实用技巧与源码示例
需积分: 9 39 浏览量
更新于2024-10-12
收藏 313KB DOC 举报
"VC常用操作源码总结" 文件是一份集合了Visual C++(简称VC)编程中常见操作的源代码文档,涵盖了多种实用技巧,包括系统操作、界面交互、剪切板操作、窗口管理等多个方面。以下是这些知识点的详细说明:
1. **CD-ROM操作**:可能涉及到对CD-ROM驱动器的读取或控制,例如读取光盘信息、播放音乐等。
2. **关闭/重启计算机**:实现系统关机或重启功能,通常需要用到Windows API函数如`InitiateSystemShutdown`。
3. **枚举所有字体**:遍历系统中安装的所有字体,显示或保存字体信息,这需要调用`EnumFontFamilies`等API。
4. **只运行一个程序实例**:确保应用程序在同一时刻只有一个实例运行,常通过检查注册表或临时文件来实现。
5. **得到鼠标位置**:获取鼠标在屏幕或窗口上的坐标,可以使用`GetCursorPos`函数。
6. **显示和隐藏程序菜单**:控制程序主窗口的菜单栏是否可见,通常通过修改窗口样式或调用`ShowWindow`。
7. **获取可执行文件的图标**:提取EXE文件的图标资源,使用`ExtractIcon`函数。
8. **窗口自动靠边程序演示**:实现窗口自动贴靠到屏幕边缘的功能,利用Windows的消息处理机制。
9. **系统菜单添加菜单项**:向窗口的系统菜单中动态添加自定义菜单项,通过`AppendMenu`或`InsertMenu`实现。
10. **动态增加或删除菜单**:在运行时根据需要添加或移除菜单项,利用`DeleteMenu`和`AppendMenu`等函数。
11. **改变应用程序的图标**:更新程序的图标,可能涉及修改资源文件和更新窗口类信息。
12. **改变窗口标题的方法**:动态修改窗口标题,使用`SetWindowText`函数。
13. **剪切板上通过增强元文件拷贝图像数据**:将图像数据复制到剪切板以便于在不同程序间共享,利用`OpenClipboard`、`CreateEnhMetaFile`、`DrawEnhMetaFile`等API。
14. **剪切板上文本数据的传送**:处理剪切板上的文本数据,使用`OpenClipboard`、`EmptyClipboard`和`SetClipboardData`。
15. **捕捉屏幕图像到剪切板中**:截取屏幕并保存到剪切板,通过`BitBlt`和`SetClipboardData`等函数。
16. **将位图缩放显示**:调整位图大小以适应显示区域,使用`StretchBlt`函数。
17. **改变对话框中控件的颜色**:更改对话框控件的前景或背景颜色,可能涉及到`SetBkColor`和`SetTextColor`。
18. **修改窗口外观**:定制窗口样式,包括边框、标题、大小等,使用`CreateWindowEx`或`SetWindowLong`。
19. **获得应用程序主窗口的指针**:获取应用程序主窗口的句柄,使用`FindWindow`或`GetActiveWindow`。
20. **确定应用程序的路径**:获取应用程序的完整路径,使用`GetModuleFileName`。
21. **获得其他程序的图标**:获取其他已运行程序的图标,通常通过读取进程信息。
22. **获得各种目录信息**:获取系统目录如程序文件夹、临时文件夹等,使用`GetWindowsDirectory`或`GetSystemDirectory`。
23. **如何自定义消息**:创建并处理自定义消息,通过`RegisterWindowMessage`。
24. **改变窗口的缺省风格**:修改窗口的默认风格,使用`CreateWindowEx`或`SetWindowLong`。
25. **将窗口居中显示**:使窗口在屏幕或另一个窗口中居中,通过计算位置和调用`MoveWindow`。
26. **一启动就最大化和最小化**:控制程序启动时的窗口状态,设置窗口风格和使用`ShowWindow`。
27. **限制窗口的大小**:设置窗口的最大和最小尺寸,通过`SetWindowPos`。
28. **创建一个字回绕的CEditView**:创建支持文本换行的编辑控件。
29. **程序保持极小状态**:让窗口始终保持最小化状态。
30. **移动窗口**:动态改变窗口位置,使用`MoveWindow`。
31. **重置窗口的大小**:调整窗口尺寸,通过`SetWindowPos`。
32. **单击窗口标题栏以外区域使窗口移动**:监听非标题栏区域的鼠标点击事件,实现窗口移动。
33. **改变视窗的背景颜色**:修改窗口背景色,使用`SetBkColor`。
34. **防止主框窗口在其说明中显示活动的文档名**:可能涉及到修改窗口类信息。
35. **获取有关窗口正在处理的当前消息的信息**:通过`GetMessage`、`TranslateMessage`和`DispatchMessage`获取消息信息。
36. **代码中获取工具条和状态条的指针**:获取控件指针以进行操作。
37. **使能和禁止工具条的工具提示**:控制工具提示的显示,通过`TOOLINFO`结构和`SendMessage`。
38. **如何创建一个不规则形状的窗口**:使用自定义绘制技术,如`BeginPath`、`EndPath`和`SetWindowRgn`。
39. **获取应用程序的实例句柄**:获取应用程序实例的句柄,使用`GetModuleHandle`。
40. **如何编程结束应用程序**:安全地结束程序,使用`PostQuitMessage`。
41. **创建和使用无模式对话框**:创建可以在用户完成操作后关闭的对话框,通过`CreateDialogParam`和`DialogBoxParam`。
42. **怎样加载其他的应用程序**:可能是关于进程创建和控制,如`CreateProcess`。
43. **使窗口始终在最前方**:设置窗口的顶层,使用`SetWindowPos`。
44. **在对话框中显示一个位图**:在对话框控件中嵌入位图,使用控件的`BITMAP`资源。
45. **获取一个对话控件的指针**:通过控件ID获取其指针,使用`GetDlgItem`。
46. **改变控件的字体**:修改控件的字体属性,使用`SetFont`。
47. **OLE控件中使用OLE_COLOR数据类型**:在OLE控件中处理颜色值,涉及到`OLE_COLOR`的转换和应用。
48. **在不使用通用文件打开对话的情况下如何显示一个文件列表**:直接创建并显示文件列表,可能需要手动构建对话框。
49. **旋转按钮控件**:创建具有旋转功能的按钮,可能需要自定义控件绘图。
50. **用位图显示下压按钮**:自定义按钮状态下的显示,使用位图资源和控件消息处理。
51. **创建三态下压按钮**:实现类似复选框的三态按钮,可能需要自定义控件消息处理。
52. **如何动态创建控件**:在运行时创建新的控件,使用`CreateWindow`或`CreateWindowEx`。
53. **限制编辑框中的准许字符**:通过`EM_SETCHARFORMAT`消息和`CHARFORMAT`结构限制输入字符。
54. **向列表框中添加多个项时防止闪烁**:批量添加列表框项时避免闪烁,可能需要一次性加载所有数据。
55. **向编辑控件中添加文本**:在编辑控件中插入或追加文本,使用`SetWindowText`或`EM_SETSEL`。
56. **访问预定义的GDI对象**:使用系统提供的图形设备接口(GDI)对象,如画刷、笔和字体。
57. **获取GDI对象的属性信息**:查询GDI对象的属性,如颜色、样式等,使用`GetObject`。
58. **实现一个橡皮区矩形**:创建一个橡皮擦效果的矩形,通过`SelectClipRgn`和`Rectangle`。
59. **更新翻转背景颜色的文本**:在不同背景颜色下显示文本,可能涉及自定义绘图。
60. **创建一个具有特定点大小的字体**:创建特定字号的字体对象,使用`CreateFont`。
61. **如何计算一个串的大小**:计算字符串的字节数或字符数,使用`lstrlen`或`MultiByteToWideChar`。
62. **显示旋转文本**:绘制旋转的文本,可能涉及到`TextOut`和自定义绘图逻辑。
63. **显示包含标签字符的串**:处理包含特殊字符的字符串,可能需要转换或过滤。
64. **串太长时如何在其末尾显示一个省略号**:截断过长的字符串并显示省略号,使用`DrawText`的DT_END_ELLIPS
2012-03-16 上传
2012-02-22 上传
2010-11-03 上传
2022-06-12 上传
2021-04-18 上传
2021-08-11 上传
2021-08-11 上传
2021-08-11 上传
2022-06-23 上传
jebe7282
- 粉丝: 54
- 资源: 13
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率