相关推荐
-
MFC消息反射
什么是消息反射? 在windows里面,子控件经常向父控件发送消息,例如很多子控件要绘制自己的背景,就可能向父窗口发送消息WM_CTLCOLOR。对于从子控件发来的消息,父控件有可能在处理之前,把消息返还给子控件处理,这样消息看起来就像是从父窗口反射回来一样,故此得名:消息反射。
-
MFC消息机制
MFC消息机制涉及许多知识,比如消息分类,消息映射等。 知识先了解一下,马上动手实践才是硬道理。 我建了个SDI项目,把常用的消息试验了一遍。 如果像我一样初学的,可以留下邮箱索取源码。 // MainFrm.h afx_msg void OnMenuMsg(); // 菜单命令消息 afx_msg void OnMenuItem(UINT uId); // 范围消息,不限菜单 ...
-
消息反射
1、问题的提出: 在Windows3.x中,不存在WM_NOTIFY消息,控制子窗口的通知消息同菜单的命令消息及加速键消息一样,均使用WM_COMMAND来发送,此时,根据WM_COMMAND消息传递的做法,可知道含有如下的传递结构: wParam high-order : Notify Code :(如TTN_NEEDTEXT) wParam low-order : ...
-
MFC界面美化第三篇----自绘按钮(重绘按钮)
最近发现读者对我的mfc美化的专栏比较感兴趣,因此在这里进行续写,这里我会计划写几个连续的篇章,包括对MFC按钮的美化,菜单栏的美化,标题栏的美化,list列表的美化,直到最后形成一个完整的成品效果。
-
mfc 自绘 学习小总结
mfc的标准控件比较丑,所以需要自绘 1:创建mfc控件的时候要加入 WS_OWNER* 风格, 然后重载标准控件的虚函数 BS_OWNERDRAW 2: OnPaint 方法 即 WM_PAINT消息很重要 动态加入图片资源,CImage对象 ,然后调用 Draw(hdc句柄,Crect) 绘制上去,利用图片将丑陋的灰色的窗体draw上去 ...
-
MFC自绘控件与界面美化2
3.3 使用Windows的消息机制 使用MFC类的既有函数来美化界面,其功能是有限的。既然Windows是通过消息机制进行通讯的,那么我们就可以通过截获一些有用的消息来美化我们的界面,以下是一些有用的Windows消息: WM_PAINT WM_ERASEBKGND WM_CTLCOLOR* WM_DRAWITEM* WM_MEASUREITEM* NM_CUSTOMDRAW...
-
MFC界面美化---自绘标题栏
MFC界面美化,MFC标题栏重绘,自绘。MFC按钮重绘,自绘。
-
VC控件自绘制
实现自定义绘制的三步曲<br />既然您已经了解了绘制控件可用的各种选项(包括使用自定义绘制的好处),那么,让我们来看看实现一个自定义绘制控件需要的三个主要步骤。 <br />执行一个 NM_CUSTOMDRAW 消息处理程序。 <br />指定处理所需的绘制阶段。 <br />筛选特定的绘制阶段(在这些阶段中,您需要加入自己的特定于控件的绘制代码)。 <br />执行一个NM_CUSTOMDRAW 消息处理程序<br />当需要绘制一个公共控件时,MFC 会将控件的自定义绘制通知消息(最初发送到控件的父窗
-
MFC实现按钮自绘
【代码】MFC实现按钮自绘。
-
MFC之自绘控件
在描绘MFC界面时,MFC自带的控件样式是绝对不满足界面的需求的。 所以我们就要在MFC自带控件基础上对控件样式进行重绘。 在采用自绘前界面样式 采用自绘后界面样式 是不是自绘控件后看起来正常了很多? 自绘控件的步骤: 我们以做一个关闭按钮为例 先创建一个MFC类继承自CButton。 给这个类添加 一个虚函数DrawItem(),一个虚函数PreSu...
-
WM_CTLCOLOR
在前面我们分析了控件通知消息WM_NOTIFY,和WM_NOTIFY紧密联系的还有一个MFC新特性:消息反射。本文中,我想就这个问题作一个全面的论述,如果有错误,还望各路大虾批评指正。 什么是消息反射? 在windows里面,子控件经常向父控件发送消息,例如很多子控件要绘制自己的背景,就可能向父窗口发送消息WM_CTLCOLOR。对于从子控件发来的消息,父控件有可
-
深度剖析消息反射机制
<br />什么是消息反射?<br /> 在windows里面,子控件经常向父控件发送消息,例如很多子控件要绘制自己的背景,就可能向父窗口发送消息WM_CTLCOLOR。对于从子控件发来 的消息,父控件有可能在处理之前,把消息返还给子控件处理,这样消息看起来就想是从父窗口反射回来一样,故此得名:消息反射。 <br /> 消息反射的由来<br /> 在windows和MFC4.0版本一下,父窗口(通常是一个对话框)会对这些消息进行处理,换句话说,自控件的这些消息处理必须在父窗
-
转贴:VC++中对于处理消息的学习总结
Message Mapstruct AFX_MSGMAP //消息映射表{AFX_MSGMAP* pBaseMessageMap; //基类消息映射表的指针;AFX_MSGMAP_ENTRY* lpEntries; //消息入口表的指针;};struct AFX_MSGMAP_ENTRY //消息映射入口表{UINT nMessage; //消息;UINT nCode; //控件的通知
-
MFC:给静态文本设置字体和颜色
首先我们引入CCaption类 CCaption.h #pragma once #include <afxwin.h> class CCaption : public CStatic { public: CCaption(); ~CCaption(); DECLARE_MESSAGE_MAP() afx_msg HBRUSH CtlColor(CDC* /*pDC*/, UINT /*nCtlColor*/); public: void Init(int nX, int nY, in
-
MFC教程(4)-- 消息映射的实现(2)
但是在当前例子中,当前对象的类CTview没有覆盖该函数,所以CWnd的WindowProc被调用。 这个函数把下一步的工作交给OnWndMsg函数来处理。如果OnWndMsg没有处理,则交给DefWindowProc来处理。 OnWndMsg和DefWindowProc都是CWnd类的虚拟函数。 OnWndMsg的原型如下: BOOL CWnd::OnWndMsg( U
-
改变只读CEdit的背景颜色
一般要改变MFC控件的背景颜色,都会响应消息ON_WM_ERASEBKGND 和ON_WM_CTLCOLOR。但在Edit控件里,应响应ON_WM_ERASEBKGND 和ON_WM_CTLCOLOR_REFLECT。 在构造函数里创建 画刷CMyEdit::CMyEdit(){ m_hBrush = CreateSolidBrush(RGB(255,
-
为CEdit设置背景图片
以CSkinEdit( public CEdit )为例:设置Edit的属性:Multiline, 无Border1.映射消息: ON_WM_CTLCOLOR_REFLECT()HBRUSH CSkinEdit::CtlColor(CDC* pDC, UINT nCtlColor) { // TODO: Change any attributes of the DC here C
-
Edit控件的扩展类
转:http://hi.baidu.com/%CF%FB%BB%EA%D2%B9/blog/item/4711ce1a457cb10c35fa41fe.html自己写的一个Edit控件的扩展类(源码)修改版2010年01月17日 星期日 下午 04:35#if !defined(AFX_COOLEDIT_H__3F4B9BD7_EFF9_45F5_AD79_EEF2B95742B3__INCLUDED_) #define AFX_COOLEDIT_H__3F4B9BD7_EFF9_45F5_AD79_E
-
透明的CEdit控件
透明的CEdit控件动手做了一个透明的CEdit控件,发现远没有网上所说的那么复杂,很奇怪的说!思路很简单,就是让控件处理以下反射消息CtlColo就可以了。代码如下:TransparentEdit.h#pragma once// CTransparentEditclass CTransparentEdit : public CRichEditCtrl{ DECLARE_DYNAMIC(CTran
22 楼 bookmirror 2012-02-13 00:22
21 楼 mirinda95925 2011-01-10 14:07
20 楼 coolspeed 2011-01-08 12:28
难道这哥们儿说的是linux, mac上的opera?
以前中文字体是很纠结。但是opera 11版本稍微设置一下就可以像windows上的一样完美了。
19 楼 ouchxp 2011-01-08 10:41
中文版不错. 速度快. 占用资源小.
18 楼 yeshaoting 2011-01-08 00:23
17 楼 麦蒂粉丝 2011-01-07 21:48
16 楼 csywashing 2011-01-07 20:26
15 楼 leves 2011-01-07 17:57
14 楼 EldonReturn 2011-01-07 16:38
13 楼 ouchxp 2011-01-07 15:25
中文支持哪里差了? 我怎么没发现呢?
12 楼 allenny 2011-01-07 14:57
11 楼 boygirl 2011-01-07 14:07
10 楼 treblesoftware 2011-01-07 12:12
NO,是圈的。你们懂的!圈谁的?你懂得。怎么圈?你懂得。别问我,你比我更懂。
9 楼 aninfeel 2011-01-07 11:21
8 楼 ouchxp 2011-01-07 11:20
Opera11增加了扩展下载. 现在连杀毒软件都可以不用了.
7 楼 ouchxp 2011-01-07 11:15
6 楼 daxiong921 2011-01-07 11:09
5 楼 huhuanqadn 2011-01-07 11:05
4 楼 不复记忆 2011-01-07 09:54
3 楼 tterry 2011-01-07 09:49