在VC对话框中添加工具栏,要分为如下几步操作。
1、在资源视图中添加toolbar类资源,在工具栏上添加按钮,并命名ID:ID_BTN1,ID_BTN2
2、对话框头文件中,添加变量CToolBar m_ToolBar;
3、在对话框的OnInitDialogh函数中添加如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
|
// TODO: 在此添加额外的初始化代码
if
( !m_ToolBar.CreateEx(
this
, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE |
CBRS_ALIGN_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS ) ||
!m_ToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0(
"未能创建工具栏\n"
);
AfxMessageBox(_T(
"未能创建工具栏\n"
));
return
FALSE;
// 未能创建
}
m_ToolBar.ShowWindow(SW_SHOW);
//控件条定位
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
|
4、添加提示消息汽泡
添加反射消息:ON_NOTIFY_EX_RANGE(TTN_NEEDTEXT, 0, 0xffff, OnToolTipText)
头文件中添加消息函数声明:
1
|
afx_msg
BOOL
OnToolTipText(
UINT
, NMHDR* pNMHDR,
LRESULT
* pResult);
//汽泡提示
|
在CPP文件中添加函数如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
BOOL
CTestDLLDlg::OnToolTipText(
UINT
, NMHDR* pNMHDR,
LRESULT
* pResult)
{
TOOLTIPTEXT *pTTT=(TOOLTIPTEXT*)pNMHDR;
UINT
uID=pNMHDR->idFrom;
// 相当于原WM_COMMAND传递方式的LOWORD(wParam),
//在wParam中放的则是控件的ID。
if
(pTTT->uFlags & TTF_ABSOLUTE)
uID=::GetDlgCtrlID((
HWND
)uID);
if
(uID==NULL)
return
FALSE;
switch
(uID)
{
case
ID_BTN1:
pTTT->lpszText= _T(
"OK"
);
break
;
case
ID_BTN2:
pTTT->lpszText= _T(
"hello"
);
break
;
}
return
TRUE;
}
|
本文转自Chinayu201451CTO博客,原文链接:http://blog.51cto.com/9233403/1968315
,如需转载请自行联系原作者