VS 單文檔 添加按鈕
今天做項目需要在單文檔中創建按鈕來響應函數,即點擊按鈕,調用某函數,特此記錄。
1. 在XXXView中添加CButton變量,例如 CButton start;
2. 下來就是 創建按鈕 了
① 在資源 Rescource.h 中注冊一下 按鈕
#define IDB_BUTTONSTOP(這是名字,自己起) 2000(這是編號,不要和其他的一樣就好)
②下來創建按鈕
右鍵 XXXView類->屬性->消息->WM_CREAT->add(編輯函數)
內容:
int CTetrisView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您專用的創建代碼
//開始按鈕
CRect rect_button(panel->p1.x + 20, panel->p0.y + 500, panel->p1.x + 200, panel->p0.y + 540);//控制按鈕大小、位置
start.Create(L"開始游戲", WS_CHILD | WS_VISIBLE | WS_BORDER, rect_button, this, IDB_BUTTONSTART);
start.ShowWindow(SW_SHOWNORMAL);
}
(其中,rect_buton是要顯示的矩形大小,四個參數應該懂吧,定義矩形:要么兩個CPoint 點,要么四個數)
然后 .OnCreate(...)照着寫就行,注意把 IDB_BUTTONSTART 換成你自己定義的名稱,start就是你在XXXView中新建的變量,我的VS2017需要在字符串前加 L,你可能不需要。
至此,運行程序,就可以看到 按鈕了。
3. 響應函數的建立
① 在XXXView.cpp 中找到 BEGIN_MESSAGE_MAP(CTetrisView, CView).......END_MESSAGE_MAP(),
在其中 添加點擊消息響應 ON_BN_CLICKED(IDB_BUTTONSTART, OnSTARTDown)//點擊start事件
注意:把第一個參數換成 自己定義的 名稱(在Rescource.h中定義的那個),第二個參數是 要響應的函數(就是,你通過點擊按鈕,要調用的那個函數)
② 實現 響應函數
我的是:
1 void CTetrisView::OnSTARTDown() 2 {
//添加自己的代碼 3 CDC *pDC = this->GetDC();// 4 playMusic();// 5 SetTimer(1, 500, NULL);// 6 }
你自己的,自己實現一下
