MFC 單文檔添加按鈕


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 }

你自己的,自己實現一下

 

然后.......就好了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM