VC中對話方塊的「所有」控制項?

2021-04-09 01:41:38 字數 787 閱讀 2485

初學vc,接觸最多的自然是dialog based了。我知道每個對話方塊模版都是乙個控制項容器,既然是容器,就應該有經典的for-each操作吧。比如,我如果想讓對話方塊中所有控制項都失效,那麼這個「所有」怎麼表示呢?怎麼程式設計實現呢?

查cdialog類的msdn, 貌似沒有這樣的成員函式可以得到乙個「控制項容器」的控制代碼。是真的沒有呢,還是我沒找到?

換個方式,如果像經典的windows查詢檔案的方法一樣:找到first,又能有next,一種迭代器思路的遍歷方法,也是不錯的。但我還是沒有找到直接的方式。只有乙個類似的——nextdlgctrl函式,作用是將焦點移至「下乙個」控制項。哦,那就再呼叫一次getfocus函式獲得控制項的視窗控制代碼了——很不優雅,但可能有用。

忍不住還是要用stl的list,呵呵,沒關係了。我用乙個while迴圈創立乙個list,用來作為真正的「控制項容器」,看看下面這段**:

void

cmlaunchdlgdlg::ondisableall() 

...}

//end if

else

...}

pctrlme

->

setwindowtext( benable ?"

disable all": 

"enable all");

}

雖說這樣獲得的控制項指標不能儲存起來長久使用,但我想在乙個函式裡的區域性儲存還是沒關係的。畢竟,視窗連重畫都沒有進行。

呵呵,菜鳥乙隻,對mfc內部機制知之甚少。用這樣的方法我自己都覺得很不爽。看到這篇文章的人如果有professional的方法,一定要告訴我啊。

對話方塊控制項

單選對話方塊 newalertdialog.builder this settitle 請做出你的選擇 seticon r.mipmap.ic launcher setpositivebutton 確認 null setnegativebutton 取消 null setsinglechoiceit...

對話方塊中顯示對話方塊

一 對話方塊中顯示對話方塊的方法 1 首先建立要在對話方塊裡顯示的那個對話方塊,命名為 idd inner 設定這個對話方塊的屬性 1 style 選擇 child 中文版 樣式 選擇 下層 2 border 為 none 中文版 邊框 選擇 無 2 為了顯示時能夠準確定位,我們可以在右邊要顯示對話...

Android控制項 對話方塊

android控制項 對話方塊 分為 關鍵字 alertdialog.builder builder.show 標題欄 資訊欄 注意點 1.記得show 出來 2.alertdialog.builder 採用自定義的子布局 alertdialog.builder builder new alertd...