📄 bcgptoolbarcustomizepages.cpp
字号:
m_wndToolbarList.EnableCheck (iIndex, pToolBar->CanBeClosed ());
}
}
}
}
CBCGPToolbarCustomize* pWndParent = DYNAMIC_DOWNCAST (CBCGPToolbarCustomize, GetParent ());
ASSERT (pWndParent != NULL);
if ((pWndParent->GetFlags () & BCGCUSTOMIZE_TEXT_LABELS) == 0)
{
m_wndTextLabels.ShowWindow (SW_HIDE);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
//*************************************************************************************
void CBCGPToolbarsPage::OnSelchangeToolbarList()
{
int iIndex = m_wndToolbarList.GetCurSel ();
if (iIndex == LB_ERR)
{
m_pSelectedToolbar = NULL;
m_btnReset.EnableWindow (FALSE);
m_btnDelete.EnableWindow (FALSE);
m_bntRenameToolbar.EnableWindow (FALSE);
m_wndTextLabels.EnableWindow (FALSE);
return;
}
m_pSelectedToolbar = (CBCGPToolBar*) m_wndToolbarList.GetItemData (iIndex);
ASSERT_VALID(m_pSelectedToolbar);
m_btnReset.EnableWindow (m_pSelectedToolbar->CanBeRestored ());
m_btnDelete.EnableWindow (m_pSelectedToolbar->IsUserDefined ());
m_bntRenameToolbar.EnableWindow (m_pSelectedToolbar->IsUserDefined ());
m_wndTextLabels.EnableWindow (m_pSelectedToolbar->AllowChangeTextLabels ());
m_bTextLabels = m_pSelectedToolbar->AreTextLabels ();
UpdateData (FALSE);
}
//*************************************************************************************
void CBCGPToolbarsPage::OnDblclkToolbarList()
{
int iIndex = m_wndToolbarList.GetCurSel ();
if (iIndex != LB_ERR)
{
m_pSelectedToolbar = (CBCGPToolBar*) m_wndToolbarList.GetItemData (iIndex);
ASSERT_VALID(m_pSelectedToolbar);
if (m_pSelectedToolbar->CanBeClosed ())
{
m_wndToolbarList.SetCheck (iIndex, !m_wndToolbarList.GetCheck (iIndex));
}
else
{
MessageBeep ((UINT) -1);
}
}
OnSelchangeToolbarList ();
}
//*************************************************************************************
void CBCGPToolbarsPage::ShowToolBar (CBCGPToolBar* pToolBar, BOOL bShow)
{
if (m_wndToolbarList.GetSafeHwnd () == NULL)
{
return;
}
for (int i = 0; i < m_wndToolbarList.GetCount (); i ++)
{
CBCGPToolBar* pListToolBar = (CBCGPToolBar*) m_wndToolbarList.GetItemData (i);
ASSERT_VALID(pListToolBar);
if (pListToolBar == pToolBar)
{
m_wndToolbarList.SetCheck (i, bShow);
break;
}
}
}
//**************************************************************************************
void CBCGPToolbarsPage::OnReset()
{
ASSERT (m_pSelectedToolbar != NULL);
ASSERT (m_pSelectedToolbar->CanBeRestored ());
{
CBCGPLocalResource locaRes;
CString strName;
m_pSelectedToolbar->GetWindowText (strName);
CString strPrompt;
strPrompt.Format (IDS_BCGBARRES_RESET_TOOLBAR_FMT, strName);
if (MessageBox (strPrompt, NULL, MB_YESNO | MB_ICONQUESTION) != IDYES)
{
return;
}
}
m_pSelectedToolbar->RestoreOriginalstate ();
}
//**************************************************************************************
void CBCGPToolbarsPage::OnResetAll()
{
{
CBCGPLocalResource locaRes;
CString strPrompt;
strPrompt.LoadString (IDS_BCGBARRES_RESET_ALL_TOOLBARS);
if (MessageBox (strPrompt, NULL, MB_YESNO | MB_ICONQUESTION) != IDYES)
{
return;
}
}
CMD_MGR.ClearAllCmdImages ();
//------------------------------------------
// Fill image hash by the default image ids:
//------------------------------------------
for (POSITION pos = CBCGPToolBar::m_DefaultImages.GetStartPosition (); pos != NULL;)
{
UINT uiCmdId;
int iImage;
CBCGPToolBar::m_DefaultImages.GetNextAssoc (pos, uiCmdId, iImage);
CMD_MGR.SetCmdImage (uiCmdId, iImage, FALSE);
}
for (int i = 0; i < m_wndToolbarList.GetCount (); i ++)
{
CBCGPToolBar* pListToolBar = (CBCGPToolBar*) m_wndToolbarList.GetItemData (i);
ASSERT_VALID(pListToolBar);
if (pListToolBar->CanBeRestored ())
{
pListToolBar->RestoreOriginalstate ();
}
}
}
//**********************************************************************************
void CBCGPToolbarsPage::OnDeleteToolbar()
{
ASSERT (m_pSelectedToolbar != NULL);
ASSERT (m_pSelectedToolbar->IsUserDefined ());
CFrameWnd* pParentFrame = GetParentFrame ();
if (pParentFrame == NULL)
{
MessageBeep (MB_ICONASTERISK);
return;
}
{
CBCGPLocalResource locaRes;
CString strName;
m_pSelectedToolbar->GetWindowText (strName);
CString strPrompt;
strPrompt.Format (IDS_BCGBARRES_DELETE_TOOLBAR_FMT, strName);
if (MessageBox (strPrompt, NULL, MB_YESNO | MB_ICONQUESTION) != IDYES)
{
return;
}
}
if (pParentFrame->SendMessage (BCGM_DELETETOOLBAR, 0, (LPARAM) m_pSelectedToolbar)
== 0)
{
MessageBeep (MB_ICONASTERISK);
return;
}
m_wndToolbarList.DeleteString (m_wndToolbarList.GetCurSel ());
m_wndToolbarList.SetCurSel (0);
OnSelchangeToolbarList ();
}
//**********************************************************************************
void CBCGPToolbarsPage::OnNewToolbar()
{
CString strToolbarName;
{
CBCGPLocalResource locaRes;
CToolbarNameDlg dlg (this);
if (dlg.DoModal () != IDOK)
{
return;
}
strToolbarName = dlg.m_strToolbarName;
}
CFrameWnd* pParentFrame = GetParentFrame ();
if (pParentFrame == NULL)
{
MessageBeep (MB_ICONASTERISK);
return;
}
CBCGPToolBar* pNewToolbar =
(CBCGPToolBar*)pParentFrame->SendMessage (BCGM_CREATETOOLBAR, 0,
(LPARAM) (LPCTSTR) strToolbarName);
if (pNewToolbar == NULL)
{
return;
}
ASSERT_VALID (pNewToolbar);
int iIndex = m_wndToolbarList.AddString (strToolbarName);
m_wndToolbarList.SetItemData (iIndex, (DWORD) pNewToolbar);
m_wndToolbarList.SetCheck (iIndex, 1);
m_wndToolbarList.SetCurSel (iIndex);
m_wndToolbarList.SetTopIndex (iIndex);
OnSelchangeToolbarList ();
}
//**********************************************************************************
void CBCGPToolbarsPage::OnRenameToolbar()
{
ASSERT (m_pSelectedToolbar != NULL);
ASSERT (m_pSelectedToolbar->IsUserDefined ());
CString strToolbarName;
{
CBCGPLocalResource locaRes;
CToolbarNameDlg dlg (this);
m_pSelectedToolbar->GetWindowText (dlg.m_strToolbarName);
if (dlg.DoModal () != IDOK)
{
return;
}
strToolbarName = dlg.m_strToolbarName;
}
m_pSelectedToolbar->SetWindowText (strToolbarName);
if (m_pSelectedToolbar->IsFloating ())
{
//-----------------------------
// Change floating frame title:
//-----------------------------
CBCGPMiniFrameWnd* pParentMiniFrame = m_pSelectedToolbar->GetParentMiniFrame ();
if (pParentMiniFrame != NULL)
{
pParentMiniFrame->SetWindowText (strToolbarName);
pParentMiniFrame->RedrawWindow (NULL, NULL, RDW_FRAME | RDW_INVALIDATE);
}
}
m_wndToolbarList.DeleteString (m_wndToolbarList.GetCurSel ());
int iIndex = m_wndToolbarList.AddString (strToolbarName);
m_wndToolbarList.SetItemData (iIndex, (DWORD) m_pSelectedToolbar);
if (m_pSelectedToolbar->GetStyle () & WS_VISIBLE)
{
m_wndToolbarList.SetCheck (iIndex, 1);
}
m_wndToolbarList.SetCurSel (iIndex);
m_wndToolbarList.SetTopIndex (iIndex);
OnSelchangeToolbarList ();
}
//*************************************************************************************
BOOL CBCGPToolbarsPage::OnCommand(WPARAM wParam, LPARAM lParam)
{
UINT uiCode = HIWORD (wParam);
UINT uiID = LOWORD (wParam);
if (uiCode == CLBN_CHKCHANGE && uiID == IDC_BCGBARRES_TOOLBAR_LIST)
{
int iIndex = m_wndToolbarList.GetCurSel ();
if (iIndex != LB_ERR)
{
CBCGPToolBar* pToolbar = (CBCGPToolBar*) m_wndToolbarList.GetItemData (iIndex);
ASSERT_VALID (pToolbar);
if (pToolbar->CanBeClosed ())
{
//-------------------
// Show/hide toolbar:
//-------------------
pToolbar->ShowControlBar (m_wndToolbarList.GetCheck (iIndex), FALSE, TRUE);
}
else if (m_wndToolbarList.GetCheck (iIndex) == 0)
{
//----------------------------------
// Toolbar should be visible always!
//----------------------------------
m_wndToolbarList.SetCheck (iIndex, TRUE);
MessageBeep ((UINT) -1);
}
}
}
return CPropertyPage::OnCommand(wParam, lParam);
}
//***********************************************************************************
void CBCGPToolbarsPage::OnBcgbarresTextLabels()
{
UpdateData ();
ASSERT_VALID (m_pSelectedToolbar);
m_pSelectedToolbar->EnableTextLabels (m_bTextLabels);
}
#endif // BCG_NO_CUSTOMIZATION
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -