動態改變對話方塊可調整大小屬性 「Border」項

2021-06-27 21:29:40 字數 1709 閱讀 5554

mfc的對話方塊cdialog是怎麼控制視窗可調整大小的屬性的呢?開啟資源檔案,對話方塊資源的屬性列表中,有乙個「border」項,改變該項的值就可以改變視窗邊框風格。實際上windows視窗是否可調整大小,就是根據邊框的風格來確定的。視窗風格中與邊框有關的值如下:

ws_border -thin-line border,不能調整大小;

ws_dlgframe- dialog box typical border,不能調整大小;

ws_sizebox- sizing border,可以調整大小;

ws_thickframe

同ws_sizebox。

我們可以通過createwindow函式的

dwstyle引數值來

指定視窗風格,但是如果想在執行期動態改變視窗邊框風格呢?可以用modifystyle函式,通過簡單的新增和刪除上面的視窗風格,就能實現窗mfc的對話方塊cdialog是怎麼控制視窗可調整大小的屬性的呢?開啟資源檔案,對話方塊資源的屬性列表中,有乙個「border」項,改變該項的值就可以改變視窗邊框風格。實際上windows視窗是否可調整大小,就是根據邊框的風格來確定的。視窗風格中與邊框有關的值如下:

ws_border - thin-line border,不能調整大小;

ws_dlgframe - dialog box typical border,不能調整大小;

ws_sizebox - sizing border,可以調整大小;

ws_thickframe - 同ws_sizebox。

我們可以通過createwindow函式的dwstyle引數值來指定視窗風格,但是如果想在執行期動態改變視窗邊框風格呢?可以用modifystyle函式,通過簡單的新增和刪除上面的視窗風格,就能實現視窗可調整大小屬性的改變。

但是如果你將「system menu」屬性設定為「true」,就會發現即使呼叫modifystyle(ws_border, ws_thickframe, swp_framechanged);將邊框修改為thick frame也不能調整大小,出現了箭頭,但是視窗大小是固定的,原因是必須要將「maximize box」設定為「true」。

當然,也可以用**modifystyle(null, ws_sysmenu | ws_maximizebox);來新增系統選單和最大化按鈕。

當我們需要固定對話方塊尺寸時,有3個地方需要控制:1,邊框不能拉伸視窗;2,最大化按鈕不可用;3,禁止雙擊標題欄最大化。指定邊框風格為ws_border可完成1和3,去掉ws_maximizebox可完成2。mfc已經為我們封裝的很好。口可調整大小屬性的改變。

但是如果你將「system menu」屬性設定為「true」,就會發現即使呼叫modifystyle(ws_border, ws_thickframe, swp_framechanged);將邊框修改為thick frame也不能調整大小,出現了箭頭,但是視窗大小是固定的,原因是必須要將「maximize box」設定為「true」。

當然,也可以用**modifystyle(null, ws_sysmenu | ws_maximizebox);來新增系統選單和最大化按鈕。

當我們需要固定對話方塊尺寸時,有3個地方需要控制:1,邊框不能拉伸視窗;2,最大化按鈕不可用;3,禁止雙擊標題欄最大化。指定邊框風格為ws_border可完成1和3,去掉ws_maximizebox可完成2。mfc已經為我們封裝的很好。

動態改變對話方塊可調整大小屬性

mfc的對話方塊cdialog是怎麼控制視窗可調整大小的屬性的呢?開啟資源檔案,對話方塊資源的屬性列表中,有乙個 border 項,改變該項的值就可以改變視窗邊框風格。實際上windows視窗是否可調整大小,就是根據邊框的風格來確定的。視窗風格中與邊框有關的值如下 ws border thin li...

可調整大小的組合框

e 69.21 kb 介紹 當我用combobox建立乙個使用datagrid的專案時,我希望獲得乙個可調整大小的combobox,將其高度設定為datagrid單元格的高度。這是我建立乙個可調整大小的組合框activex的嘗試,現在我可以改變它的高度。一些程式設計師使用表單,列表框,文字框和按鈕來...

動態改變對話方塊大小

首先,需要在改變大小的對話方塊中新增一條分隔條,分隔條是用影象控制項製作的picture control,分隔條的位置就是對話方塊變小時所在的位置。修改分隔條id為 idc separator,選擇sunken屬性,意思是下陷。然後在需要修改的地方加入以下 static crect rectlarg...