51. 如何获得其他程序的图标,并显示在View中
 [问题提出]
 有的时候,如:类资源管理器会遇到获得程序图标并显示的操作,如何实现呢?
 [解决方法]
 SDK函数SHGetFileInfo来获得有关文件的很多信息:如大小图标,属性,类型等.
 [程序实现]
 建立名为My的SDI工程.在OnPaint()函数中加入:


 说明:_T("NotePad.exe")指的是要获得什么程序的图标.
 或者在OnDraw()中(此时必须保证没有OnPaint()函数,想想为何?)

52 .RichEdit
在Dialog(FormView中打开)中加入CRichEdit控件后,这个dialog 为什么打不开如何处理?
 [解决方法]
 在函数:InitInstance的第一句加入AfxInitRichEdit();

53. 如何使FormView中显示dialog时,不是凹的?
 [问题提出]
 为什么FormView中显示dialog时,是凹的,能不能不这样
 [解决方法]
 在Dialog的属性中:
  增加属性WS_BORDER  或者 WS_EX_WINDOWEDGE
 用程序实现:
 pView->ModifyStyle(,WS_BORDER) 或者pView->ModifyStyleEx(,WS_EX_WINDOWEDGE )

54. 如何改变窗口标题?
 [问题提出]
  在应用程序的不同运行时期,要反映当前状态往往会修改应用程序标题.
 [解决方法]
  在MFC类库中提供了CWnd::SetWindowText函数,通过该函数可以改变任何窗体(包括控件)的标题.
  改变主窗体的标题:

当改变多视MDI的子窗口的标题时,用:

  当改变按钮的标题时(假设按钮的ID=IDC_BUTTON1):

  运行看看.

55.图标透明
(1).Windows中的图标其实是有两个图像组成的,其中一个用于与它要显示的位置的图像做“AND”操作,另一个作“XOR”操作。
透明:用“白色”AND,用“黑色”XOR
反色:用“白色”AND,用“白色”XOR
正常色:用“黑色”AND,用正常颜色XOR.
(2). WIN9X中好像是对像素的操作实现透明的
WIN2K中就有API直接实现透明了!
WIN2K中
GetWindowLong
SetWindowLong
SetLayeredWindowAttributes
三个API就可以实现透明了!
(3)

56.ASSERT()是干什么用的
ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:
  ......
  ASSERT( n != 0);
  k = 10/ n;
  ......
  ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。
  assert()的功能类似,它是ANSI C标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。

56. 将RADIO控件初始状态设置成为选中
1、"在OnInitialDialog中用CButton::CheckRadioButton(...)
2、"在OnInitialDialog中用CButton::SetCheck(...)
3、"关联一个整型值,在构造函数中设为0。

57.获得视图


58.如何得到屏幕的真实尺寸
[问题提出]
我的屏幕是1024*800,如何得到屏幕的真实大小,我用GetSystemMetrics(SM_CYFULLSCREEN)得到的高度总是小于800
[问题解答]
GetSystemMetrics(SM_CYFULLSCREEN)得到的只是屏幕用户区的大小。要得到屏幕的真实大小需要使用
GetDeviceCaps函数,该API函数原型是这样的:
int GetDeviceCaps(
 HDC hdc,   // handle to DC
 int nIndex  // index of capability
);

59. 修改标题栏高度
NONCLIENTMETRICS nm
调用SystemParametersInfo(SPI_GETNONCLIENTMETRICS,sizeof(nm),&nm,0)
重设SystemParametersInfo(SPI_SETNONCLIENTMETRICS,sizeof(nm),&nm,0)

60. 如何实现“气球式”工具提示。
本程序介绍一个与CToolTipCtrl相似的类CTooolTipWnd。
使用该类的方法如下:
1. 增加ToolTipWnd.cpp到工程文件。
2. 在头文件中添加#include "ToolTipWnd.h" 。 
3. 在类声明中添加:
CToolTipWnd m_BalloonToolTip;
4. 在OnInitDialog(对话框)或OnInitialUpdate(表单视)中添加下面代码:

eg.
  第三个参数为可选,缺省为RGB(0, 0, 0)。缺省文本颜色可以用SetDefTextColor进行设置。
4. 重载PreTranslateMessage并添加下面代码:

 

61. dlg 上建立View的方法:

62. 窗口最大化、最小化及关闭的消息是什么?如何截获?
最大化、最小化将发送WM_SYSCOMMAND消息。要处理该消息,可以这么做:
  1、在Form的头文件中添加:


  2、在Form的单元文件中添加:

  关闭窗口的消息为WM_CLOSE,C++Builder提供了OnClose事件。

63. 如何遍历整个目录树查找文件
在应用程序的开发过程中,会遇到如何查找某一文件以确定此文件路径的问题。利用CFileFind类可以比较方便地在当前目录下进行文件查找,但却不能对其子目录中的文件进行搜寻。而实际应用中往往需要对某一整个目录树,甚至是整个C盘或D盘驱动器进行文件搜寻。通过实践,我们在Visual C++ 6.0中编程实现了如何遍历任意目录树,以查找某一特定的文件。
  在下面的具体陈述中可以看到,在确定要查找的文件名和要进行搜索的目录的名称后,将调用函数Search_Directory进行文件的查找。首先依次查找当前目录下的每一个实体(文件或是子目录),如果是某一子目录,则进入该子目录并递归调用函数Search_Dirctory进行查找,查找完毕之后, 再返回上一级目录;如果不是子目录而是某一文件,则判断其是否就是我们要查找的文件,如果是则输出其完整的文件路径。这样,通过Search_Directory函数的反复递归调用,就可以实现对整个目录,包括子目录的遍历搜索。下面将举例详细讲述如何在VC++中编程实现在整个目录树中的文件查找。
  1. 在Visual C++ 6.0(VC++ 5.0与之类似)中用默认方式创建了一基于对话框的应用程序Search。在主窗口对话框上放置一命令按钮,其Caption为“Search File”,ID为ID_BUTTON_SEARCH。单击此按钮将完成文件的查找工作。
  2. 利用ClassWizard为“Search File”按钮的BN_CLICKED 事件添加处理函数OnButtonSearch,代码如下:

  3. 在CSearchDlg类中增加成员函数Search_Directory,它将完成具体的文件查找工作,代码如下:

  这样我们就可以对整个目录进行遍历搜索,查找某一特定的文件,并输出显示其完整的文件路径。以上的程序在Visual C++ 6.0中已调试通过。

64. Richedit control的设置背景图片办法
1:继承CRichEditCtrl::OnEraseBkgnd(CDC* pDC)消息事件中,给Richedit控件绘制上背景图片:

m_bmpBackground.DrawDIB(pDC, 0, 0, rc.Width(), rc.Height());

当然也可以通过subclass richedit window之后,在回调函数中处理WM_ERASEBKGND消息。
2:设置了Richedit控件的透明属性;
3:依照kenwhale所说的,Hook了GDI32.DLL中的ExtTextOut函数,将RichEdit的text-output options去除ETO_OPAQUE style。综上所述,即可实现RichEdit控件的背景图片效果。
据此,我还实现了RichEdit控件背景绘制AVI动画效果。

65. MFC程序中如何创建多级目录

转载于:https://www.cnblogs.com/leven20061001/archive/2012/10/17/2728176.html

(转)MFC技巧学习五相关推荐

  1. mfc cedit 默认显示内容_VS2013/MFC编程学习(一)

    一.前言 1.1 VC++简介 VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台.VC++不仅是一 ...

  2. 罗马音平假名片假名转换器_零基础日语萌新该如何学习五十音?

    在这里跟小伙伴们讲一下如何学习日语50音.五十音就像我们的二十六个字母一样.如果我们不能熟练地写和发音五十种音调,我们就无法很好地继续学习. 日语五十音图 https://sourl.cn/rMFhZ ...

  3. MFC Windows 程序设计[五十六]之开启子对话框(附源码)

    MFC Windows 程序设计[五十六]之开启子对话框 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries), ...

  4. 微信小程序-常用API开发技巧学习笔记

    常用API开发技巧学习笔记 第一章 认识微信小程序 前后端分离的开发方式 小程序的特点 小程序对开发者的影响 学习小程序需要的基础 第二章 小程序环境搭建与开发工具介绍 小程序开发环境 没有小程序号对 ...

  5. 用ESX进行虚拟化的技巧连载五:代理/防火墙服务虚拟化

    设置虚拟代理服务器 在安全领域,虚拟基础架构也可以为企业创造价值.例如,规模较小的公司往往认为无需投资购置专用的代理服务器.而通过代理服务器,可以实现显著的性能提升,带宽占用率通常可以降低 25% 乃 ...

  6. vivado 亚稳态_【vivado学习五】时序分析

    想一千次,不如去做一次.华丽的跌倒,胜过无谓的徘徊. [vivado学习五]时序分析 典型的时序模型由发起寄存器.组合逻辑和捕获寄存器3部分组成,如图1所示形成了三条时钟路径:原时钟路径(Source ...

  7. C#多线程学习(五) 多线程的自动管理(定时器) (转载系列)——继续搜索引擎研究...

    Timer类:设置一个定时器,定时执行用户指定的函数.               定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数. 初始化一个Timer对象: Timer timer ...

  8. OpenCV与图像处理学习五——图像滤波与增强:线性、非线性滤波、直方图均衡化与Gamma变换

    OpenCV与图像处理学习五--图像滤波与增强:线性.非线性滤波.直方图均衡化与Gamma变换 三.图像滤波与增强 3.1 线性滤波 3.1.1 方框滤波 3.1.2 均值滤波 3.1.3 高斯滤波 ...

  9. PyTorch框架学习五——图像预处理transforms(一)

    PyTorch框架学习五--图像预处理transforms(一) 一.transforms运行机制 二.transforms的具体方法 1.裁剪 (1)随机裁剪:transforms.RandomCr ...

最新文章

  1. 不经历风雨,怎么能见彩虹!马克斯与我的不解之缘!
  2. 看明星合影争C位,学PPT中C位排版法
  3. Adobe网页无法访问服务器,Adobe Acrobat时提示“无法访问网络位置\startup”
  4. asp.net电子商务开发实战 视频 第二讲 (下)
  5. C/C++之大端小端
  6. 使用 jQuery 的 Autocomplete 插件实现input输入提示功能 input 输入模糊提示demo
  7. 核心动画——CAAnimation
  8. 基于MyEclipse+Mysql+Tomcat+SSH开发的运动会管理系统
  9. MacTips-MacTalk
  10. 国家AAAAA级旅游景区数量统计
  11. 如何将根证书预置到chromium浏览器中
  12. 电脑误格式化的数据怎么恢复,误格式化数据恢复教程
  13. 开发一款游戏引擎需要的知识与技术
  14. 天啦噜,项目上使用InputStream,我被坑了一把!
  15. 为perf4j提供集中式监控项目perf4j-dashboard
  16. python测网速_使用Linux命令行测试网速(示例代码)
  17. 五大主流浏览器及其内核简要介绍
  18. 支持掉线自动报警Profinet远程分布式IO模块
  19. 2020计算机数电实验第四次(2)
  20. 某某文学网站小说爬虫

热门文章

  1. qchart折现图_Qt开发技术:QCharts(二)QCharts折线图介绍、Demo以及代码详解
  2. C语言与Java的对比,你想好选谁了吗?
  3. app http routes.php,Laravel:我的应用程序没有被路由(Laravel : My app doesn't get routed)
  4. 初学者选黑卡还是微单_明日之镜 十年索尼微单和他的镜头王国
  5. python统计词频_Python统计四六级考试的词频
  6. NS3可视化问题及解决办法
  7. 交换机的硬件故障问题总结
  8. 21秋期末考试财务会计(一)10166k2
  9. 【渝粤教育】国家开放大学2018年春季 0233-21T学前儿童语言教育 参考试题
  10. 国家开放大学2021春1080工程数学(本)题目