
MFC
gamer243
这个作者很懒,什么都没留下…
展开
-
mfc 默认情况下 按下 enter esc 退出对话框 解决方法
首先 删除 原来的按钮 。不要试图修改原来的 按钮(我第一次修改按钮ID,试图让mfc找不到 OK按钮,但没有成功 。原因是 要修改 该按钮的default button 选项 为 false);其次:由于 MFC默认的 ENTER按钮 会 触发 OnOK()函数 esc会触发 onCancle()函数 只要重载他们就可以了 如下:原创 2010-04-12 13:44:00 · 668 阅读 · 0 评论 -
CTime 与CString 之间的转换
<br />转自:<br />http://hi.baidu.com/kevinwing/blog/item/85bf7eb1e1c4f8510823025a.html转载 2010-09-06 09:03:00 · 401 阅读 · 0 评论 -
关于 notify 消息的 介绍
<br />转自: http://school.cnd8.com/vc/jiaocheng/37508_2.htm<br /><br /> VC中的消息的分类有3种:窗口消息、命令消息和控件通知消息,我们这里要谈的是最后一种:控件通知消息。 <br /> 控件通知消息,是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows公共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本、操作控件的转载 2010-09-21 11:41:00 · 1618 阅读 · 0 评论 -
WM_PAINT 消息不处理的可怕后果
<br />WM_PAINT 是在系统 检测到 有需要更新的区域时发送的.于是 既然发送来了这个消息就说明系统UpdateRegion序列中有region.如果不处理,系统就会一直检测到有需要更新的区域.这时候就将造成消息阻塞,内存占用率很高.<br />处理WM_PAINT消息的方法是: 删除这个区域,使用BeginPaint 方法,删除 这个区域就表示app已经处理着个消息了.<br />同时注意的是 CpaintDC, CwindowDC在定义的时候就会做 beginPaint 动作.而CDC是原创 2010-09-28 11:40:00 · 1013 阅读 · 0 评论 -
美化 含有多个子控件的 一般方法
转贴 :http://blog.sina.com.cn/s/blog_48a45b950100eqkg.html 如果要对ListBox控件进行自定义绘制(美化),那么首先必须将ListBox的DrawMode属性设置为OwnerDrawVariable或OwnerDrawFixed。ListBox有个ItemHeight属性,在DrawMode设置为Normal时,这个属性是不可设置的,并且其值是根据当前字体进行计算获得的。只有当DrawMode设置为OwnerDrawVariable或OwnerDr转载 2010-09-28 17:22:00 · 751 阅读 · 0 评论 -
WM_MEASUREITEM ( 控件 listbox listctrl combobox menu 含有多个子项)
<br />转贴:http://blog.youkuaiyun.com/yingzheng1983/archive/2008/10/27/3159825.aspx<br />WM_MEASUREITEM<br />在控件或菜单被创建的时候,向自绘按钮(button),组合框(combo box),列表框(list box),<br />列表视图(list view)或菜单项的所有者发送WM_MEASUREITEM消息<br />WM_MEASUREITEM <br />idCtl = (UINT) wParam;转载 2010-09-28 17:21:00 · 1419 阅读 · 0 评论 -
ClistCtrl 自绘 可设置 每一行的 rect 及 这一行如何绘制
CListCtrl自绘 转帖地址:http://kb.cnblogs.com/a/1556904/花了一个晚上学习listctrl的自绘,不是很简单,可能比CRichEditCtrl还要复杂些,遇到第一件事情是自适应改变行高,项目需要,当然也可以是固定,最终解决方案如下:网上修改CListCtrl项高度的方法一般是扩大字体,及用图片将项高度撑大.这两种方法虽然简单,但是效果却不是很理想.一种比较理想的方法是自画CListCtrl,不过方法相对来说比较复杂.要修改CListCtrl的列表项转载 2010-09-29 00:28:00 · 1973 阅读 · 2 评论 -
关于 控件 的鼠标效应消息 WM_MOUSELEAVE 和WM_MOUSEHOVER
<br />一般情况下 控件 只会有 有WM_MOUSEMOVE消息,而不会有 WM_MOUSELEAVE 和WM_MOUSEHOVER消息。<br />想要想要这2个消息 需要使用 trackmouseevent 函数 来 追踪 鼠标响应。可查msdn 查看相关 参数。原创 2010-10-09 23:40:00 · 887 阅读 · 0 评论 -
listbox 自绘制 注意事项
1. 首先要修改 listbox的style 设置 ownerdraw 不为 no 同时如果需要支持addstring 和getstring 需要 增加 LBS_Hasstrings 属性。默认情况下非 自绘制的listbox(系统默认的那种) 默认是有lbs_hasstrings 属性。2. 在ownerdraw 不为no属性下,对wm_drawitem 和wm_measure 消息进行相应。在对 wm_drawitem相应函数OnDrawItem()中 ,通过参数获取 HDC 。 CDC dc;原创 2010-10-08 19:56:00 · 758 阅读 · 0 评论 -
MENU 自绘
http://blog.youkuaiyun.com/goodboyws/archive/2005/09/28/491507.aspx转载 2010-10-18 17:17:00 · 512 阅读 · 0 评论 -
换肤 技术 (转载)
揭秘换肤技术(转载)<br /> 转载几篇别人写的皮肤类控件的技术文章<br />原连接:http://blog.sina.com.cn/s/blog_4c3538470100ezhu.html<br /> <br />实现控件的透明背景<br />很多情况下,我们需要控件的背景是透明的,就是要求直接看到控件父窗口的背景颜色、背景位图,比如标签控件、单选Radio控件、复选Check控件,通常都要求在父窗口的背景上进行绘制。然而要求控件的画布透明,这个技术在GDI的文档中没有看到Microsoft作任何说原创 2010-11-02 09:14:00 · 956 阅读 · 0 评论 -
http://www.vckbase.com/document/viewdoc/?id=675
<br />转自:http://www.vckbase.com/document/viewdoc/?id=675<br /> <br /><br /><br />如何锁定 ListView 的栏目头宽度<br /><br /><br />编译:NorthTibet<br />下载源代码<br /><br /><br /> 世界之大,真是无其不有。Windows 应用程序的GUI标准明确规定了 ListView 栏目头(Column Header)的宽度必须是可调整的,这本来是专门为用户考虑而设计的控制转载 2010-11-10 17:05:00 · 2259 阅读 · 1 评论 -
listview 滚动条 自绘
<br />转自:http://blog.sina.com.cn/s/blog_48f93b530100eg3z.htmlCListCtrl控件功能扩展总结(三)(2009-08-21 21:31:15)转载标签:clistctrl滚动条自绘控件it分类:工作•开发<br /> 前面写过两篇CListCtrl控件的开发总结,最近在开发和应用当中又发现了几个比较有趣的问题,主要是关于自绘滚动条的。从我的感觉来说,做CListCtrl控件(我们一直在讨论report风格)的自绘滚动条是比较复杂的,因为里边原创 2010-11-11 15:07:00 · 5540 阅读 · 5 评论 -
Cstatic 类 添加图片
<br /> mfc 中 使用 ide 生成的 picture Control 其实也就是 Cstatic 类实现的。<br />首先创建Cstatic m_static ;<br /> 然后 创建 m_static , m_static.create(,,,,,);<br />然后设置 m_static 的 style m_static.ModifyStyle(0,SS_BITMAP|SS_CENTERIMAGE|SS_REALSIZEIMAGE)<br />然后 读取 HBITMA原创 2010-09-01 21:52:00 · 938 阅读 · 0 评论 -
TrayIcon 使用过程中的遇到问题
<br /> 首先要先 建立 消息映射 然后再 seticon<br /> <br /> <br />如果先seticon 在建立消息映射 ,会出现 托盘 出现不了的情况原创 2010-09-01 20:35:00 · 1279 阅读 · 0 评论 -
类似 QQ的对话框
转自:http://topic.youkuaiyun.com/t/20060824/17/4973430.htmlhttp://blog.youkuaiyun.com/lixiaosan/archive/2006/04/11/658248.aspx option设置对话框(左边是树,右边是子对话框) 实现原理:create多个child类型的对话框,然后全部hide,点击左边树的ite转载 2010-04-12 14:06:00 · 548 阅读 · 0 评论 -
How to solve “add/remove operation is impossible, because the code element 'Cxxx' is read only”
How to solve “add/remove operation is impossible, because the code element Cxxx is read only”With Visual Studio 2008, we may meet “add/remove operation is impossible, because the code element Cxxx转载 2010-04-14 09:32:00 · 1650 阅读 · 0 评论 -
mfc 子窗口 跟随 主窗口
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://shujiantang.blogbus.com/logs/29644154.html前不久做了一个MFC项目。项目做完了,客户觉得MFC的标准界面太难看。尽管之前从未做过界面美化工作,但心想这东西网上资源丰富,应该不是难事,就满口答应了。这一答应不打紧,着实让我下足了工夫。 先大致介绍一下项目界面的构成。转载 2010-04-02 14:25:00 · 8200 阅读 · 1 评论 -
mfc 消息映射 处理
MFC消息映射机制(补充)2009年05月25日 21:05比较全的消息与消息处理对应规则,方便查询.从文档中转过来,可能百度的制表位定义不同,没对齐.WM_COMMAND消息与处理对应规则:消息 对应处理函数原型 ON_COMMAND(, ) afx_msg void memberFxn(); ON_COMMAND_EX(, )原创 2010-04-02 14:59:00 · 958 阅读 · 0 评论 -
窗口对鼠标 键盘 无响应 原因
今天 在写一个mfc对话框程序,结构是在一个对话框中创建 多个对话框(初始化就创建)。根据条件 用ShowWindow(SW_SHOW) 来显示 同时隐藏其他对话框(SW_HIDE).出现 一个问题就是 条件触发后子对话 框显示了但是子对话框不能响应鼠标事件。原因是:在代码编写过程中,忘记 ShowWindow(SW_HIDE),于是出现了2个对话框同时存在。2个对话框都在Show原创 2010-04-13 13:04:00 · 1295 阅读 · 0 评论 -
CListCtrl 使用基础()
CListCtrl 学习笔记(1)---基础篇转贴:来源 http://www.programfan.com/blog/article.asp?id=21639 背景:CListCtrl 在小型数据库中应用的还是比较多的.因此掌握它是一个很重要的技能.最近在做老师布置的一个项目,用到它,开始的时候不知所措.后来上网找了一些资料,再加上自己的探索,终于对转载 2010-04-03 12:30:00 · 511 阅读 · 0 评论 -
CListCtrl 实现 当点击界面的其他地方时,列表中的选中项仍处于选中状态
为CListCtrl控件添加NM_CUSTOMDRAW事件响应函数,这样当我们点击界面的其他地方地方时,列表中的选中项仍处于选中状态。 C/C++ code <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->void CM转载 2010-04-03 12:32:00 · 1270 阅读 · 0 评论 -
VC++ 使用 ADO编写数据库程序 流程
VC++下使用ADO编写数据库程序(1)2006-09-02 来源: 网友评论0 条 进入电脑报知道 准备:(1)、引入ADO类 [page_break] #import "c:/program files/common files/system/ado/msado15.dll" /no_namespace /rename ("EOF", "adoEOF")(2)、转载 2010-04-07 10:17:00 · 509 阅读 · 0 评论 -
如何在 对话框 启动时 实现隐藏窗口(只显示托盘)
<br />具体方法是 在 当窗体绘制 边框(WM_NCPAINT消息响应)的时候 使用showWindow (SW_hide)。这样不会出现闪烁的情况。<br />在OnInitDlg或者在OnPaint中 使用showWindow(SW_HIDE)会出现闪烁现象原创 2010-09-01 00:07:00 · 537 阅读 · 0 评论 -
ClistCtrl 单击某行 图片变更
<br />1. 首先需要在 presubcalsswindow() 中 添加图片列表 Cimagelist 设置 图片的大小(目的将 行距 加大)<br />2.setImagelist(&CimageList,LVSIL_STATE );<br />3. CRect rect;<br /> GetWindowRect(&rect);<br /> InsertColumn(0,TEXT("PID"),LVCFMT_LEFT);//添加 列<br /> SetColumn原创 2010-09-13 20:50:00 · 835 阅读 · 0 评论 -
CListctrl 添加图片
<br />1> 先创建 Cimagelist 对象,注意 CimageList 对象必须是 全局 对象或者 类成员变量 或者是 堆栈对象,不能是函数局部变量。<br /> CImageList * m_pImage;<br />m_pImage = new CImagelist;<br />2> 初始化 对象<br /> m_pImage ->Create(48, 48,ILC_COLOR , 1, 4);<br />48 是设置的图片的大小, ILC_COLOR 查找 msdn , 1 表示 初原创 2010-09-12 01:45:00 · 3311 阅读 · 0 评论 -
mfc 中 系统自带的 菜单中的 移动菜单 无法 置灰
<br /> 今天 在对CMenu做实验的时候 发现 <br />CMenu* pSysMenu = GetSystemMenu(FALSE);<br />if (pSysMenu != NULL)<br />{<br />CString strAboutMenu;<br />strAboutMenu.LoadString(IDS_ABOUT);<br />if (!strAboutMenu.IsEmpty())<br />{<br />pSysMenu->Ap原创 2010-09-02 20:08:00 · 625 阅读 · 0 评论 -
windows 界面 编程
<br />http://hi.baidu.com/sunbin728/blog/item/58e5d88d35eba4f0513d929f.html<br /> <br />http://hi.baidu.com/sunbin728/blog/item/48f7d9ed87c00be5ce1b3e9e.html转载 2010-11-18 19:06:00 · 694 阅读 · 0 评论