控制項是不是子視窗

2021-06-29 11:36:42 字數 618 閱讀 5441

控制項與子視窗是什麼關係呢?答案是多數控制項為子視窗,個別除外.

依據嘛,看下面從某本書裡摘抄的:

在建立普通視窗時,首先定義視窗類別,並使用registerclass將其註冊到windows中,然後用createwindow命令依據該視窗類別建立乙個普通視窗,從第三章開始,我們就是這麼做的。但是,當您使用預先定義的某個控制項時,不必為子視窗註冊視窗類別,視窗類別已經存在於windows之中,並且有乙個預先定義的名字。您只需在createwindow中把它們用作視窗類別引數。createwindow中的視窗樣式引數準確地定義了子視窗控制項的外形和功能。windows內建了處理傳送給依據這些視窗類別建立的子視窗訊息的視窗訊息處理程式。

從中可以看出,使用控制項要註冊視窗 然後用createwindow產生視窗 以及編寫視窗訊息處理程式,所以大部分控制其實就是子視窗.儘管註冊視窗和編寫視窗訊息處理程式已經都事先做好了。

當然也有例外,比如滾動條,在使用滾動條的時候程式寫作者只需要在createwindow的第三個引數中包括視窗樣式(ws)識別符號ws_vscroll(垂直捲動)和/或ws_hscroll(水平捲動)即可。可見滾條並不需要額外的註冊視窗 產生視窗,它就隨著主視窗一起產生,所以說滾動條不是子視窗。

以上為個人看法,有不對的地方歡迎提出來。

3 判斷是不是子串行

給定兩個字串 s和 t 判斷 s是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abcde ...

c MFC新增子視窗控制項筆記

1 新增無邊child型別對話方塊作為子對話方塊,新增對話方塊類。2 新增乙個tab控制項 3 新增乙個mfc類的tab 4 在父對話方塊中定義乙個tab控制項,5 在tab類中定義子對話方塊類變數 cdlgchild1 m objtab1 cdlgchild1 m objtab2 cdlgchil...

建立活動子視窗控制項

movabletrialdlg.h cstatic m staticmovable cedit m editmovable 在類cmovabletrialdlg中定義其他成員變數。隱藏,複製code movabletrialdlg.h bool m bmoving 請在 中包含pretranslat...