MFC幾種按鈕的應用 程式設計筆記

2021-06-09 02:46:39 字數 1520 閱讀 4957

靜態控制項和按鈕是windows程式設計最基本的控制項之一。

靜態控制項有靜態文字、組框、靜態;按鈕有按鍵按鈕、單選按鈕、核取方塊按鈕。由於按鍵按鈕已經用了很多次了,基本的用法都差不多會了,現在來專門熟悉單選按鈕和核取方塊按鈕。

以例子來學習這兩種按鈕的用法:製作調查問卷

1:介面設計

2:分組按照類別分為三組,每一組對第乙個按鈕的屬性中的組核取方塊點上

3:完善**

(1)初始化對話方塊,將一些常見選項設為預設。具體做法:在對話方塊類cxxdlg中的oninitdialog()函式中新增以下**

checkradiobutton(idc_age_l18,idc_age_m38,idc_age_18t27);//這個函式是將第一組的組員範圍規定一下,然後選出要點點的那個按鈕

checkradiobutton(idc_cm_fttl,idc_cm_other,idc_cm_fttl);//上同

cbutton *pbtn=(cbutton *)getdlgitem(idc_do_pop);//獲取核取方塊按鈕控制代碼

pbtn->setcheck(1);//設定選中的核取方塊為預設

(2)設定確定按鈕的功能

為對話方塊的確定按鈕新增響應函式然後再響應函式中新增一下**:

cstring str,strctrl;

//獲取第乙個單選框資訊

str="你的年齡:";

int nid=getcheckedradiobutton(idc_age_l18,idc_age_m38);//找出點點的單選框並返回其id號

getdlgitemtext(nid,strctrl);//得到第乙個單選框的id然後獲得其控制代碼並通過該控制代碼將它的內容賦值給strctrl

str=str+strctrl+"\n";

//獲取第二個單選框資訊

str=str+"你使用的上網方式:";

nid=getcheckedradiobutton(idc_cm_fttl,idc_cm_other);

getdlgitemtext(nid,strctrl);

str=str+strctrl+"\n";

//獲取第三個核取方塊的資訊

str=str+"你上網主要是:\n";

uint ncheckids[4]=;

cbutton *pbtn;

for(int i=0;i<4;i++)

}messagebox(str);

效果圖:

根據例項學習了如下內容:

(1):如何對單選按鈕和複選按鈕進行分組和初始化checkradiobutton(),和setcheck(?);

(2):如何確定讀取了哪個按鈕:getcheckedradiobutton();

(3)如何獲取對話方塊上某控制項的資料(字串或數值資訊)getdlgitemtext();

MFC程式設計筆記

選中乙個對話方塊,右鍵 新增資源 選擇menu新增。在oninitdialog中載入這個menu控制項。m menu.loadmenu idr menu1 setmenu m menu 然後編輯那個menu,對於每個按鈕,右鍵 新增事件處理程式,新增對應的處理 對於每乙個新建的對話方塊,都右鍵 新增...

MFC防止按鈕動作的連擊響應,用CTime

涉及到ctime 的比較大小時。ctimespan隆重登場了。減少了很多麻煩事 ctime 類只能用來獲取時間,不能用來進行時間比較,否則會產生負值 例如 cwnd ontimer nid 以上這段 在經過一分鐘後 或 start.getminute now.getminute 時 now.gets...

MFC學習 「逃跑」按鈕的實現

如何設計對話方塊程式上的 逃跑 按鈕,即每當滑鼠移動到btn上面的時候就會自動跑到另外乙個地方,看上去滑鼠好像永遠無法點中?討巧 設定滑鼠wm mousemove的響應函式用於捕獲滑鼠移動操作,每當滑鼠移動到btn上就修改屬性隱藏,同時修改另乙個btn的屬性為顯示,造成btn自動 逃跑 的假象。步驟...