DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年12月6日

摘要: 我们以CListCtrl控件为例来分析WM_NOTIFY消息。CListCtrl控件在Report样式下会包含CHeaderCtrl标头控件,即CHeaderCtrl标头控件为CListCtrl控件的子控件,所以不难理解,拖动CHeaderCtrl标头控件的列分隔栏会投递HDN_BEGINTRACK消息(WM_NOTIFY消息,通知码为HDN_BEGINTRACK)给其父窗口CListCtrl控件。但是,我们在对话框窗口中也可以收到CHeaderCtrl标头控件的HDN_BEGINTRACK消息,这作何解释呢?如下所示:我们在对话框窗口中响应HDN_BEGINTRACK消息,当开始拖动标头控件 阅读全文
posted @ 2012-12-06 00:53 DoubleLi 阅读(2697) 评论(0) 推荐(0)

摘要: boost::lexical_cast为数值之间的转换(conversion)提供了一揽子方案,比如:将一个字符串"123"转换成整数123,代码如下:strings="123"; inta=lexical_cast<int>(s);这种方法非常简单,笔者强烈建议大家忘掉std诸多的函数,直接使用boost:: lexical_cast。如果转换发生了意外,lexical_cast会抛出一个bad_lexical_cast异常,因此程序中需要对其进行捕捉。现在动手编写如下程序,体验如何使用boost:: lexical_cast完成数值转换。 阅读全文
posted @ 2012-12-06 00:42 DoubleLi 阅读(18765) 评论(0) 推荐(3)

摘要: 参考文章:白乔原创:VC之美化界面篇在每个控件开始绘制之前,都会向其父窗口发送WM_CTLCOLOR通告消息,在该消息的处理函数中,可以设置控件显示文本的前景色、背景色以及字体。该消息处理函数还要求返回一个画刷的句柄,用于在控件具体的绘制之前擦除其客户区。WM_CTLCOLOR映射消息处理函数为afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)。常用代码为:[cpp] view plaincopyprint?pDC->SetTextColor(RGB(255,0,0));//设置文本前景色 pDC->Set 阅读全文
posted @ 2012-12-06 00:38 DoubleLi 阅读(10583) 评论(0) 推荐(1)

摘要: 1. MFC的消息反射机制http://blog.csdn.net/cay22/article/details/61716162. CButtonST v3.9http://www.codeproject.com/Articles/57/CButtonST-v3-9-MFC-Flat-buttons3. 白乔原创:VC之美化界面篇http://blog.csdn.net/bluejoe2000/article/details/4269540#comments4. MoreWindows:秒杀多线程系列http://blog.csdn.net/morewindows/article/detail 阅读全文
posted @ 2012-12-06 00:33 DoubleLi 阅读(298) 评论(0) 推荐(0)

摘要: 代码下载:subclass(请点击进入论坛回复以后下载)也许你需要一个特殊的Edit来限制浮点数的输入,但是现有的Edit却并不能完成这项工作――因为它只能够单纯的限制大小写或者纯数字。当你在论坛上求救的时候,某个网友告诉你:“用子类化。”你也许会在看到一线曙光的同时多出了一连串的问题:何为子类化?子类化的原理是什么?如何实现子类化?下面就让我从一个简单的C++程序开始,一步步解开你的疑团吧。 首先,我为你列出以下这个C++程序:01.#include <iostream>02.usingnamespacestd;03.classParent04.{05.public:06.voi 阅读全文
posted @ 2012-12-06 00:31 DoubleLi 阅读(350) 评论(0) 推荐(0)

摘要: Win32下的消息流程清晰明了,但在MFC下,由于封装的缘故,隐藏的有点深,对一般的开发人员而言,就不甚明了喽。本文试图粗略展示出MFC下消息处理的基本流程。一、先看一下Win32下的消息处理流程 每一个线程都对应有一个消息队列,利用API函数GetMessage从消息队列中获取消息,然后利用TranslateMessage翻译消息(主要是一些键盘消息),再利用DispatchMessage将消息分发给对应的窗口过程函数处理。 一般我们在WinMain函数中利用如下代码来处理消息:[cpp] view plaincopyprint?while(GetMessage(&msg,NUL.. 阅读全文
posted @ 2012-12-06 00:28 DoubleLi 阅读(1657) 评论(0) 推荐(0)