MFC工具栏增加EditBox和Button

1.  在资源视图中增加EditBox, Button控件,ID分别为ID_EDIT_SEED, ID_BTN_SEED

2. 在CMainFrame中增加成员变量

CMFCToolBarEditBoxButton *m_editSeed;
CMFCToolBarButton *m_btnSeed;

3. 在CMainFrame::OnCreate中创建控件

m_editSeed = new CMFCToolBarEditBoxButton(ID_EDIT_SEED, GetCmdMgr()->GetCmdImage(ID_EDIT_SEED, FALSE));
m_editSeed->EnableWindow(true);
m_editSeed->SetContents("0");
//m_editSeed->CanBeStretched();
//m_editSeed->HaveHotBorder();
//m_editSeed->SetFlatMode();
//m_editSeed->OnSize(65);
m_btnSeed = new CMFCToolBarButton(ID_BTN_SEED, GetCmdMgr()->GetCmdImage(ID_BTN_SEED, FALSE), "SEED");
m_btnSeed->EnableWindow(true);
m_btnSeed->m_bText = true;
m_btnSeed->m_strText = "NUM";

4. 增加工具栏控件替换函数

afx_msg LRESULT OnToolbarReset(WPARAM, LPARAM);

ON_REGISTERED_MESSAGE(AFX_WM_RESETTOOLBAR, OnToolbarReset)

LRESULT CMainFrame::OnToolbarReset(WPARAM wp, LPARAM lp)
{
	m_wndToolBar.ReplaceButton(ID_EDIT_SEED, *m_editSeed);
	m_wndToolBar.ReplaceButton(ID_BTN_SEED, *m_btnSeed);
	return 0;
}

5. 增加控件事件函数,否则控件没有enable

afx_msg void OnUpdateEditSeed(CCmdUI *pCmdUI);
afx_msg void OnBnClickedButtonSeed();

ON_UPDATE_COMMAND_UI(ID_EDIT_SEED, &CMainFrame::OnUpdateEditSeed)
ON_BN_CLICKED(ID_BTN_SEED, &CMainFrame::OnBnClickedButtonSeed)

void CMainFrame::OnUpdateEditSeed(CCmdUI *pCmdUI)
{
	int index = m_wndToolBar.CommandToIndex(ID_EDIT_SEED);
	CMFCToolBarEditBoxButton* editSeed = (CMFCToolBarEditBoxButton*)m_wndToolBar.GetButton(index);
	editSeed->EnableWindow(TRUE);
}

void CMainFrame::OnBnClickedButtonSeed()
{
	
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值