以EditBox为例,步骤如下:
- 新建一单文档项目
- 在资源编辑器中,添加一工具栏按钮(ID_EDIT),为控件显示位置
- 从CToolBar派生新类CmyToolBar,并添加public变量:CEdit m_wndEdit
- 将MainFrm中的CToolBar替换为CmyToolBar
- 在CMainFrm的OnCreate函数中,添加下面的代码:
1 int nIndex = 0;
2 RECT rc;
3 while(m_wndToolBar.GetItemID(nIndex) != ID_EDIT)
4 nIndex++;
5 m_wndToolBar.SetButtonInfo(nIndex, ID_EDIT, TBBS_SEPARATOR, 80);//控件宽度为80
6 m_wndToolBar.GetItemRect(nIndex, &rc);
7
8 if(!m_wndToolBar.m_wndEdit.Create(WS_CHILD|WS_VISIBLE|ES_MULTILINE, rc,//创建【多行】EditBox
9 &m_wndToolBar, ID_EDIT))
10 {
11 TRACE0("Failed to create edit-box\n");
12 return FALSE;
13 }
14
15 m_wndToolBar.m_wndEdit.GetRect(&rc);//垂直居中
16 OffsetRect(&rc,0,5);
17 m_wndToolBar.m_wndEdit.SetRect(&rc);
18
19 m_wndToolBar.m_wndEdit.SetWindowText(L"EditBox");
20 m_wndToolBar.m_wndEdit.ShowWindow(SW_SHOW); - 手动添加消息响应