WEB开发网
开发学院软件开发VC 在MFC中创建动态控件的生成与响应 阅读

在MFC中创建动态控件的生成与响应

 2007-03-15 21:52:12 来源:WEB开发网   
核心提示: BEGIN_MESSAGE_MAP(CTextEditorView, CFormView)//{{AFX_MSG_MAP(CTextEditorView)ON_BN_CLICKED(IDC_ICONBUT0, OnIconbut0)//}}AFX_MSG_MAPON_BN_CLICKED(
BEGIN_MESSAGE_MAP(CTextEditorView, CFormView)
//{{AFX_MSG_MAP(CTextEditorView)
ON_BN_CLICKED(IDC_ICONBUT0, OnIconbut0)
//}}AFX_MSG_MAP
ON_BN_CLICKED(ID_MYBUT1, OnMybut1)
ON_BN_CLICKED(ID_MYBUT2, OnMybut2)
ON_BN_CLICKED(ID_MYBUT3, OnMybut3)
END_MESSAGE_MAP()

其中ON_BN_CLICKED是按钮单击消息。

2.在头文件中添加函数定义:

用ClassWizard添加函数时,会在头文件的AFX_MSG区间内添加函数定义,如:

protected:
//{{AFX_MSG(CTextEditorView)
afx_msg void OnIconbut0();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()

我们模仿这种形式,只是把函数定义添加到AFX_MSG区间外就行了:

protected:
//{{AFX_MSG(CTextEditorView)
afx_msg void OnIconbut0();
//}}AFX_MSG
afx_msg void OnMybut1();
afx_msg void OnMybut2();
afx_msg void OnMybut3();
DECLARE_MESSAGE_MAP()

3.编写消息响应函数:

以上是把消息和函数关联起来了,具体在单击按钮后应做的工作在函数中完成:

void CTextEditorView::OnMybut1()
{
MessageBox( "哈!你单击了动态按钮。" );
}
void CTextEditorView::OnMybut2()
{
……
}
void CTextEditorView::OnMybut3()
{
……
}

除了按钮的响应函数外,你还可以用上面获得的指针访问按钮,如:

修改按钮的大小和位置:p_MyBut[0]->MoveWindow(……);

修改按钮文本:p_MyBut[0]->SetWindowText(……);

上一页  1 2 3 4 5 6 7  下一页

Tags:MFC 创建 动态

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接