動態創建按鍵代碼

void CMyDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息處理程序代碼和/或調用默認值
CButton* pNewButton = new CButton();// 也可以定義爲類的成員變量。
CRect rect(point.x,point.y,point.x + 50, point.y + 50); // 按鈕在對話框中的位置。
pNewButton->Create(_T("按鈕"), 0, rect, this, 10098);
pNewButton->ShowWindow(SW_SHOW);


CDialogEx::OnLButtonUp(nFlags, point);
}
建立控件對象:這裏創建一個CButton 類的普通按鈕,此時不能直接定義CButton
對象,如:CButton m_MyBut。該種方式只能爲靜態控件定義控制變量,不能用於定義動態
控件。正確做法是,採用new 調用CButton 構造函數:CButton *p_MyBut = new CButton(),
再用CButton 類的Create()函數創建


BOOL CButton::Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect,
CWnd* pParentWnd, UINT nID )
參數lpszCaption 是按鈕上顯示的文字;
參數dwStyle 爲按鈕風格,除了Windows 風格可以使用外(如WS_CHILD|WS_
VISIBLE|WS_BORDER)還有按鈕專用的一些風格。具體如下:
BS_AUTOCHECKBOX 檢查框,按鈕的狀態會自動改變;
BS_AUTORADIOBUTTON 圓形選擇按鈕,按鈕的狀態會自動改變;
BS_AUTO3STATE 允許按鈕有三種狀態即:選中,未選中,未定;
BS_CHECKBOX 檢查框;
BS_DEFPUSHBUTTON 默認普通按鈕;
BS_LEFTTEXT 左對齊文字;
BS_OWNERDRAW 自繪按鈕;
BS_PUSHBUTTON 普通按鈕;
BS_RADIOBUTTON 圓形選擇按鈕;
BS_3STATE 允許按鈕有三種狀態,即選中、未選中和未定。
參數rect 爲按鈕窗口所佔據的矩形區域;
參數pParentWnd 爲父窗口指針;
參數nID 爲該按鈕的ID 值。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章