// MainDlg.h
#pragma once
class CMainDlg : public CDialogImpl<CMainDlg>
{
public:
enum { IDD = IDD_MAINDLG };
CBitmapButton m_button_bmp; // ビットマップボタン
BEGIN_MSG_MAP(CMainDlg)
MSG_WM_INITDIALOG(OnInitDialog)
COMMAND_ID_HANDLER_EX(IDC_BUTTON_BMP, OnButtonBmp)
COMMAND_ID_HANDLER_EX(IDOK, OnOK)
COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
END_MSG_MAP()
BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam){
// スクリーンの中央に配置
CenterWindow();
// 大きいアイコン設定
HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR,
::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
SetIcon(hIcon, TRUE);
// 小さいアイコン設定
HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR,
::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
SetIcon(hIconSmall, FALSE);
// コントロール設定
CImageList il;
il.CreateFromImage(IDB_BITMAP_BUTTON, 64, 1,
CLR_NONE, IMAGE_BITMAP, LR_CREATEDIBSECTION);
m_button_bmp.SubclassWindow(GetDlgItem(IDC_BUTTON_BMP));
m_button_bmp.SetImageList(il);
m_button_bmp.SetImages(0, 1, 2, 3);
m_button_bmp.SetToolTipText(_T("ビットマップボタン"));
m_button_bmp.CenterWindow();
return TRUE;
}
void OnButtonBmp(UINT uNotifyCode, int nID, CWindow wndCtl){
MessageBox(_T("これはビットマップボタンです。"));
}
void OnOK(UINT uNotifyCode, int nID, CWindow wndCtl){
EndDialog(nID);
}
void OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl){
EndDialog(nID);
}
};
|