帮我举个例子,谢谢了
10 个解决方案
#1
使用VC如何处理自定义消息
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,
ClassWizard就可以象处理其它消息一样处理你自定义的消息了。
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消
息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消
息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数
RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE
宏指令,其余步骤同上。
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,
ClassWizard就可以象处理其它消息一样处理你自定义的消息了。
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消
息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消
息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数
RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE
宏指令,其余步骤同上。
#2
使用VC如何处理自定义消息
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,
ClassWizard就可以象处理其它消息一样处理你自定义的消息了。
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消
息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消
息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数
RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE
宏指令,其余步骤同上。
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,
ClassWizard就可以象处理其它消息一样处理你自定义的消息了。
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消
息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消
息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数
RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE
宏指令,其余步骤同上。
#3
florist2000(善良的石头),你好!我想问你一个问题:你的水平如此之高,你什么学历,工作几年,月薪多少?
#4
使用自定义消息,然后在这个响应这个消息的函数进行自己的处理。在需要的时候发送这个消息就可以了。
#5
to : dandaowangzi(西点浪子)
我水平不高,小混混而已
西北工业大学的研究生,以前不学电脑,现在学.
做过四年的兼职,没有正式工作过,公司是换过不少,但是水平却上不去.
薪水阿,你的一半都比不上啦,呵呵
我水平不高,小混混而已
西北工业大学的研究生,以前不学电脑,现在学.
做过四年的兼职,没有正式工作过,公司是换过不少,但是水平却上不去.
薪水阿,你的一半都比不上啦,呵呵
#6
florist2000(善良的石头):
大哥可真是谦虚,我也是研究生,不过刚刚上了半年。
想利用寒假学点东西,明年开学找份兼职。
请给我一些学习和找工作方面的建议。
大哥可真是谦虚,我也是研究生,不过刚刚上了半年。
想利用寒假学点东西,明年开学找份兼职。
请给我一些学习和找工作方面的建议。
#7
可是怎么触发这个事件呢
比如说,我希望有响声的时候触发这个事件
怎么办?
比如说,我希望有响声的时候触发这个事件
怎么办?
#8
to sunnnn(sss) sendmessage(...)就是句柄参数就是处理消息的窗口句柄
to dandaowangzi(西点浪子)
随便学点东西吧,看你现在学VC,那就学VC吧,编程大致都差不多的
快速开发工具都很好用.
不过希望多学习原理基础的东西
to dandaowangzi(西点浪子)
随便学点东西吧,看你现在学VC,那就学VC吧,编程大致都差不多的
快速开发工具都很好用.
不过希望多学习原理基础的东西
#9
florist2000(善良的石头):
多谢!
多谢!
#10
g z g z
#1
使用VC如何处理自定义消息
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,
ClassWizard就可以象处理其它消息一样处理你自定义的消息了。
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消
息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消
息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数
RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE
宏指令,其余步骤同上。
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,
ClassWizard就可以象处理其它消息一样处理你自定义的消息了。
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消
息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消
息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数
RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE
宏指令,其余步骤同上。
#2
使用VC如何处理自定义消息
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,
ClassWizard就可以象处理其它消息一样处理你自定义的消息了。
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消
息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消
息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数
RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE
宏指令,其余步骤同上。
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,
ClassWizard就可以象处理其它消息一样处理你自定义的消息了。
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消
息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消
息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数
RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE
宏指令,其余步骤同上。
#3
florist2000(善良的石头),你好!我想问你一个问题:你的水平如此之高,你什么学历,工作几年,月薪多少?
#4
使用自定义消息,然后在这个响应这个消息的函数进行自己的处理。在需要的时候发送这个消息就可以了。
#5
to : dandaowangzi(西点浪子)
我水平不高,小混混而已
西北工业大学的研究生,以前不学电脑,现在学.
做过四年的兼职,没有正式工作过,公司是换过不少,但是水平却上不去.
薪水阿,你的一半都比不上啦,呵呵
我水平不高,小混混而已
西北工业大学的研究生,以前不学电脑,现在学.
做过四年的兼职,没有正式工作过,公司是换过不少,但是水平却上不去.
薪水阿,你的一半都比不上啦,呵呵
#6
florist2000(善良的石头):
大哥可真是谦虚,我也是研究生,不过刚刚上了半年。
想利用寒假学点东西,明年开学找份兼职。
请给我一些学习和找工作方面的建议。
大哥可真是谦虚,我也是研究生,不过刚刚上了半年。
想利用寒假学点东西,明年开学找份兼职。
请给我一些学习和找工作方面的建议。
#7
可是怎么触发这个事件呢
比如说,我希望有响声的时候触发这个事件
怎么办?
比如说,我希望有响声的时候触发这个事件
怎么办?
#8
to sunnnn(sss) sendmessage(...)就是句柄参数就是处理消息的窗口句柄
to dandaowangzi(西点浪子)
随便学点东西吧,看你现在学VC,那就学VC吧,编程大致都差不多的
快速开发工具都很好用.
不过希望多学习原理基础的东西
to dandaowangzi(西点浪子)
随便学点东西吧,看你现在学VC,那就学VC吧,编程大致都差不多的
快速开发工具都很好用.
不过希望多学习原理基础的东西
#9
florist2000(善良的石头):
多谢!
多谢!
#10
g z g z