步骤:
1、在工具栏上定义菜单比如ID_DATE,ID_TIME
2、在CMainFrm中修改
(1)
LRESULT CMainFrame::OnToolbarReset(WPARAM wp,LPARAM)
{
//----Example----//
UINT uiToolBarId = (UINT) wp;
switch (uiToolBarId)
{
case IDR_MAINFRAME:
{
CBCGPToolbarDateTimeCtrl dateButton (ID_DATE,
CImageHash::GetImageOfCommand (ID_DATE, FALSE));
m_wndToolBar.ReplaceButton (ID_DATE, dateButton);
CBCGPToolbarDateTimeCtrl timeButton (ID_TIME,
CImageHash::GetImageOfCommand (ID_TIME, FALSE),
DTS_TIMEFORMAT | DTS_UPDOWN);
m_wndToolBar.ReplaceButton (ID_TIME, timeButton);
}
break;
}
//----Example----//
return 0;
}
(2)
void CMainFrame::OnViewCustomize()
{
//------------------------------------
// Create a customize toolbars dialog:
//------------------------------------
CBCGPToolbarCustomize* pDlgCust = new CBCGPToolbarCustomize (this,
TRUE /* Automatic menus scaning */
);
//----Example----//
CBCGPToolbarDateTimeCtrl dateButton (ID_DATE,
CImageHash::GetImageOfCommand (ID_DATE, FALSE));
pDlgCust->ReplaceButton (ID_DATE, dateButton);
CBCGPToolbarDateTimeCtrl timeButton (ID_TIME,
CImageHash::GetImageOfCommand (ID_TIME, FALSE),
DTS_TIMEFORMAT | DTS_UPDOWN);
pDlgCust->ReplaceButton (ID_TIME, timeButton);
//----Example----//
pDlgCust->Create ();
}
3、响应菜单
添加OnDate、OnTime的菜单响应消息
实现如下:
void CMainFrame::OnDate()
{
SYSTEMTIME t;
CString str;
CBCGPToolbarDateTimeCtrl::GetTimeAll(ID_DATE,&t);
CString sDate,sTime;
COleDateTime sd(t);
sDate=sd.Format("%y-%m-%d");
CBCGPToolbarDateTimeCtrl::GetTimeAll(ID_TIME,&t);
COleDateTime st(t);
sTime=st.Format("%H:%M:%S");
str.Format("%s %s",sDate,sTime);
_StartTime.ParseDateTime(str);
}
void CMainFrame::OnTime()
{
SYSTEMTIME t;
CString str;
CBCGPToolbarDateTimeCtrl::GetTimeAll(ID_DATE,&t);
CString sDate,sTime;
COleDateTime sd(t);
sDate=sd.Format("%y-%m-%d");
CBCGPToolbarDateTimeCtrl::GetTimeAll(ID_TIME,&t);
COleDateTime st(t);
sTime=st.Format("%H:%M:%S");
str.Format("%s %s",sDate,sTime);
_StartTime.ParseDateTime(str);
}