[英]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.