随笔分类 -  MFC控件

VC ListCtrl中嵌入进度条
摘要:VC中在listctrl中嵌入进度条,截图如下:其实要实现这个非常容易,以下是自绘ListCtrl的代码,首先继承CListCtrl,然后增加函数OnCustomDraw:void CProcessList::OnCustomDraw(NMHDR *pNMHDR, LRESULT *pResult){//draw each item.set txt color,bkcolor....NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR);// Take the default processing unle 阅读全文
posted @ 2011-05-08 23:22 maxweii 阅读(2511) 评论(0) 推荐(0)
MFC中实现自绘菜单
摘要:为了实现菜单的自绘,花了我几个小时,其实真正解决后又发现很简单。实现菜单的自绘只需要三个步骤:第一步:将所有菜单项设置为MF_OWNERDRAW,即自绘模式第二步:在WM_MEASUREITEM消息中设置菜单项的大小第三步:在WM_DRAWITEM消息中进行菜单项的绘制问题首先出现在了第一步,我要绘制的是一个上下文菜单,即右键菜单,要将菜单项设置为MF_OWNERDRAW,需要用到ModifyMenu函数,起始由于ModifyMenu函数的参数设置错误,导致程序怎么也响应不了WM_MEASUREITEM和WM_DRAWITEM消息,所以建议在使用ModifyMenu时对返回值进行检查。void 阅读全文
posted @ 2011-02-25 00:48 maxweii 阅读(1912) 评论(0) 推荐(0)
标题栏问号按钮帮助功能的实现
摘要:推测的处理过程:要在标题栏上增加一个问号按钮,得参考一些系统菜单操作API;点这个问号按钮会产生一个系统消息,我在处理这个消息的时候把对话框的鼠标光标改为带问号的指针,用这个带问号的指针点击对话框的某个元素,就产生一个“WM_LBUTTONDOWN”的消息,处理这个消息,根据鼠标光标的位置判定鼠标点击的是对话框上的那个元素,获取这个元素的帮助字符串,创建一个没有Title的很小的窗口,把这个小窗口在鼠标光标位置处Pop出来,然后在上面Draw一些帮助字符串,当这个小窗口失去焦点,或被用户用鼠标点击了一下,或按了一下键盘什么的,就会Hide起来,当用户又执行了上述的“问号点击操作”之后,这个小窗 阅读全文
posted @ 2010-12-19 19:13 maxweii 阅读(1725) 评论(1) 推荐(0)