簡體   English   中英

在CPropertySheet / CDialog上將ModifyStyle與WS_THICKFRAME一起使用

[英]Using ModifyStyle with WS_THICKFRAME on a CPropertySheet/CDialog

我有一個CPropertySheet。

當我使用

ModifyStyle(DS_MODALFRAME, WS_POPUP | WS_THICKFRAME | WS_MAXIMIZEBOX);

在OnCreate處理程序中,一切都很好。 創建的窗口的行為符合預期並可以調整大小。

當我使用相同的代碼時,在CPropertySheet :: OnInitDialog中稍稍打勾之后,此代碼僅具有顯示正確框架的效果,並且當我在窗口邊框上拖動時,光標也會改變。 但是沒有調整大小功能。

在OnInitDialog中使用CDialog也會發生同樣的情況。 暗示在創建窗口后無法更改某些標志。

是否有關於此問題的更多信息?

您需要設置nFlags參數SWP_FRAMECHANGED ,也許還SWP_DRAWFRAME在您的來電ModifyStyle 這樣,它將在內部調用SetWindowPos ,它將應用新樣式。 您還需要刪除WS_SYSMENU而不是DS_MODALFRAME。

例:

ModifyStyle(WS_SYSMENU, WS_POPUP | WS_THICKFRAME | WS_MAXIMIZEBOX, SWP_FRAMECHANGED);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM