MFC 利用checkbox 做成切換開關按鈕

2021-07-31 03:32:02 字數 711 閱讀 4388

我們在做mfc程式時候經常會乙個切換式的按鈕,之前我的做法是利用buttion類的乙個setstate()函式,但是返現效果不佳。而且容易出現點1按鈕,焦點跑到另外乙個按鈕上去了  。後來看到別人乙個程式。我發現他的切換效果做的很好 ,經過看**發現,他用的控制項根本不是buttion控制項而是check box 控制項。我就很奇怪,如何將check box變成了乙個按鈕的,經檢視**發現,原來是他將控制項的屬性------push lisk  (我的翻譯是按下去像  純字面理解)設定成true  如圖

他就會變成乙個按鈕形狀了,這時候 你給他新增控制項變數和控制項變數的值,在程式裡面函式dodataexchange(cdataexchange* pdx)中會生成ddx_control(pdx, idc_button1, m_btn_at);

ddx_check(pdx, idc_button1,  m_check_at);在標頭檔案中會定義兩個連個變數cbuttion m_btn_at;和bool m_check_at,  可以修改cbuttion 為你重新寫的類。然後我們新增按鈕的訊息響應函式:在訊息響應函式中要新增函式updatadata(true);這個函式會呼叫dodataexchange(cdataexchange* pdx);

void c按鈕凹凸效果dlg::onbnclickedcheck1()

else }

這樣乙個切換開關就做好 ,按鈕上還可以做上相應。哈哈  請大家放心使用 我在vs2005測試用了。

MFC中核取方塊 checkbox

來自 http blog.csdn.net dongzhongshu archive 2010 06 30 5705138.aspx checkbox是一種特殊的按鈕 得到核取方塊狀態的函式 cbutton pbtn cbutton getdlgitem idc check int state pb...

MFC中的CheckBox的使用

在checkbox的使用中 在 內要得到checkbox的指標要強轉為cbutton型別 cbutton m checkbox cbutton getdlgitem idc checkbox1 呼叫getcheck 函式 如果其返回值為1則說明是選中狀態 if m checkbox getcheck...

基於MFC單文件程式的CheckBox運用

首先,單文件程式不能像基於對話方塊程式一樣直接把checkbox拖到主介面中,必須自己手動建立,即靠 寫出來。其次,mfc沒有ccheckbox類,只有clistbox 和 cchecklistbox類,後兩者相比,cchecklistbox 比 clistbox 多了核取方塊,因此這兒我們需要用到...