dropdownsampledlg.cpp
来自「windows ce开发技巧与实例光盘代码」· C++ 代码 · 共 90 行
CPP
90 行
// DropDownSampleDlg.cpp : implementation file
//
#include "stdafx.h"
#include "DropDownSample.h"
#include "DropDownSampleDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDropDownSampleDlg dialog
CDropDownSampleDlg::CDropDownSampleDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDropDownSampleDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDropDownSampleDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CDropDownSampleDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDropDownSampleDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDropDownSampleDlg, CDialog)
//{{AFX_MSG_MAP(CDropDownSampleDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDropDownSampleDlg message handlers
CRect rect;
void AddDropDown(CCeCommandBar *pCb, int nButtonIndex)
{
CToolBarCtrl *pToolbar = &pCb->GetToolBarCtrl();
TBBUTTON but;
pToolbar->GetButton(nButtonIndex, &but);
pToolbar->DeleteButton(nButtonIndex);
but.fsStyle = but.fsStyle | TBSTYLE_DROPDOWN;
pToolbar->InsertButton(nButtonIndex, &but);
pCb->SetSizes(CSize(23,21), CSize(16,15));
pToolbar->GetItemRect(nButtonIndex, &rect);
pToolbar->ClientToScreen(&rect);
};
BOOL CDropDownSampleDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
CenterWindow(GetDesktopWindow());
CCeCommandBar *pCommandBar = (CCeCommandBar*)m_pWndEmptyCB;
pCommandBar->LoadToolBar(IDR_TOOLBAR);
AddDropDown(pCommandBar, 1);
return TRUE;
}
BOOL CDropDownSampleDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
NMTOOLBAR* lpnm = (NMTOOLBAR*) lParam;
if (lpnm->hdr.code == TBN_DROPDOWN) {
CMenu menu;
menu.LoadMenu(IDR_POPUP);
CMenu *pMenu = menu.GetSubMenu(0);
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_BOTTOMALIGN, rect.left, rect.top-1, this, NULL);
}
return CDialog::OnNotify(wParam, lParam, pResult);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?