- 浏览: 64161 次
-
最新评论
文章列表
VC的ClassWizard不允许增加用户自定义消息,所以你必须手工进行添加。当你添加了自定义的消息以后,ClassWizard就可以像处理其它消息一样处理你定义的消息了。
一、VC6添加自定义消息
1、定义消息。在Windows中,所有的消息都用一个特定的整数值来表示,为了避免自定义消息与已存在的其他消息发生冲突,应该利用Windows提供的一个常量:WM_USER,小于这个常量的是系统保留的。即用户自定义的消息至少为WM_USER+1,注意最后表示的消息的数值不要超过0x7FFF。在开发Windows95应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100, ...
- 2013-02-25 10:03
- 浏览 1039
- 评论(0)
首先弄清楚两点:
(1)谁要发送这个消息(2)谁要接受这个消息。
用一个简单的例子来说明。对象A向B(也可以就是A到A)发送消息。
1 发送消息
首先在A的头文件中定义这个消息:
#define WM_USERMESSAGE ...
- 2013-02-25 09:57
- 浏览 906
- 评论(0)
消息映射、循环机制是Windows程序运行的基本方式。VC++ MFC 中有许多现成的消息句柄
,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFC
<wbr><wbr><br>
ClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应代码,以便可<br>
以象处理其它消息一样处理自定义消息。通常的做法是采取以下步骤:<br><wbr><wbr><br>
第一步:定义消息。<br><wbr><wbr><b ...
- 2013-02-25 09:55
- 浏览 633
- 评论(0)
消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。 1.MessageBox("这是一个最简单的消息框!"); 2.MessageBox("这是一个有标题的消息框!","标题");
3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL ); 4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION ); 5.Messag ...
- 2013-02-25 09:52
- 浏览 421
- 评论(0)
1:windows OS事件驱动策略基于3种消息。标准消息、通告消息、命令消息。
2:“事件”就是“消息”,事件是有形形象的,是站在人类能理解的角度来定义的。消息是无形抽象的,是站在OS能理解的角度来定义的。
3: ...
在WINDOWS中应用程式有三种消息:窗口消息,命令消息,控件消息。
1、窗口消息
一般和窗口内部运作有关,如创建窗口,绘制窗口,销毁窗口,通常,消息是从系统发到窗口,或从窗口发到系统。发送函数SendMessage()或PostMessage( ...
- 2013-02-25 09:46
- 浏览 756
- 评论(0)
摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。
什么是消息?
消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息 ...
- 2013-02-25 09:45
- 浏览 630
- 评论(0)
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的:
type
TMsg = packed record
hwnd: HWND; //窗口句柄
message: UINT;//消息常量标识符
wParam: WPARAM ;// 32位消息的特定附加信息
lPa ...
- 2013-02-25 09:27
- 浏览 651
- 评论(0)
方法1,给STATIC控件取个名字叫IDC_STATICTITLE
然后在ClassWizard中设定一个控件变量给它叫m_statictitle
然后用m_statictitle.SetWindowText("你要写的字串");updata(False);
方法2,给STATIC控件取个名字叫IDC_STATICTITLE
GetDlgItem(IDC_STATICTITLE)->SetWindowText(_T("你要写的字串"));updata(False);
方法3,给STATIC控件取个名字叫IDC_STATICTITL ...
- 2013-02-25 09:11
- 浏览 1727
- 评论(0)
在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text控件的
字体、字体大小、字体颜色和背景色。
例如对话框的类为CTestDlg.
1. 在对话框的类中添加两个变量.
方法:在classview选项卡中,选择CTestDlg,右键,add member variable.
CBrush m_brush;
CFont m_font;
<wbr></wbr>
在OnInitDialog()函数中添加:
// TODO: ……
m_font.CreatePointFont(150," ...
- 2013-02-25 09:09
- 浏览 2999
- 评论(0)
1。设置内容
CWnd* pWnd = GetDlgItem(IDC_MYStaic);
pWnd->SetWindowText(_T("Hockey is best!"));
2。得到内容
CString str;
pWnd->GetWindowText(str);
前面的前提是那些Static Text 的Id号不要用默认的,要该一下,
//_T是用来支持Unicode的,如果你定义了_UNICODE,那么就是Unicode字符,否则的话,就是ANSI字符
- 2013-02-25 09:05
- 浏览 639
- 评论(0)
在构造函数中调用CreateFont方法,记得在头文件中加入CFONT font;申明字体的对象
CEasyCase::CEasyCase(CWnd* pParent /*=NULL*/)
: CDialog(CEasyCase::IDD, pParent)
{
VERIFY(font.CreateFont(
12, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_SEMIBOLD, // nWeight
FALSE, // bItalic
FALSE, // bUnderline ...
- 2013-02-25 08:59
- 浏览 690
- 评论(0)