VC 修改視窗屬性

2021-07-12 03:53:04 字數 3092 閱讀 8371

說明:以下函式對於popup視窗有效,對於子視窗好像不行。

//最小化按鈕有效

::setwindowlong(m_hwnd,gwl_style,getwindowlong(m_hwnd,gwl_style) | ws_minimizebox );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); 

//最小化按鈕無效

::setwindowlong(m_hwnd,gwl_style,getwindowlong(m_hwnd,gwl_style) &~ws_minimizebox );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); 

//最大化按鈕有效

::setwindowlong(m_hwnd,gwl_style,getwindowlong(m_hwnd,gwl_style) | ws_maximizebox );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); 

//最大化按鈕無效

::setwindowlong(m_hwnd,gwl_style,getwindowlong(m_hwnd,gwl_style) &~ws_maximizebox );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); 

//關閉按鈕有效

::enablemenuitem(::getsystemmenu(m_hwnd,false),sc_close,mf_bycommand | mf_grayed);

//關閉按鈕無效

::enablemenuitem(::getsystemmenu(m_hwnd,false),sc_close,mf_bycommand | mf_enabled);

//工具欄視窗。在工作列上沒有程式顯示,需要新增在oninitdialog()裡

::setwindowlong(m_hwnd,gwl_exstyle,getwindowlong(m_hwnd,gwl_exstyle) 

::setwindowpos(m_hwnd,null,0,0,0,0,swp_framechanged|swp_nomove|swp_nosize); 

//新增標題欄

::setwindowlong(m_hwnd,gwl_style,getwindowlong(m_hwnd,gwl_style) 

| ws_caption );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); 

//取消標題欄

::setwindowlong(m_hwnd,gwl_style,getwindowlong(m_hwnd,gwl_style) 

& ~ws_caption );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); 

//取消標題欄,保留3d邊框,可調整視窗大小

::setwindowlong(m_hwnd,gwl_style, getwindowlong(m_hwnd,gwl_style) 

& ~ws_caption | ws_thickframe );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); //一定要加這句設定才會立即生效

//取消標題欄和3d邊框,保留乙個線條的細邊框,不能調整視窗大小

::setwindowlong(m_hwnd,gwl_style,getwindowlong(m_hwnd,gwl_style) 

& ~ws_caption & ~ws_thickframe | ws_border );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); 

//如果有ws_ex_dlgmodalframe還要取消ws_ex_dlgmodalframe

// ::setwindowlong(m_hwnd,gwl_exstyle,getwindowlong(m_hwnd,gwl_exstyle) 

// & ~ws_ex_dlgmodalframe); 

// ::setwindowpos(m_hwnd,null,0,0,0,0,swp_framechanged|swp_nomove|swp_nosize); 

//取消所有邊框

::setwindowlong(m_hwnd,gwl_style,getwindowlong(m_hwnd,gwl_style) 

& ~ws_caption & ~ws_thickframe );  

::setwindowpos(m_hwnd,null,0,0,0,0,swp_nomove|swp_nosize|swp_framechanged); 

// //如果有ws_ex_dlgmodalframe還要取消ws_ex_dlgmodalframe

// ::setwindowlong(m_hwnd,gwl_exstyle,getwindowlong(m_hwnd,gwl_exstyle) 

// & ~ws_ex_dlgmodalframe); 

// ::setwindowpos(m_hwnd,null,0,0,0,0,swp_framechanged|swp_nomove|swp_nosize); 

vc++6.0 如何去掉mfc嚮導生成的sdi程式中檢視邊框的3d效果2010-03-24 17:48先要去掉view的邊框,**如下: 

bool csdiview::precreatewindow(createstruct& cs) 

然後在去掉外部frame的客戶區邊框,**如下: 

bool cmainframe::precreatewindow(createstruct& cs) 

VC 修改視窗屬性

修改視窗屬性 說明 以下函式對於popup視窗有效,對於子視窗好像不行。最小化按鈕有效 setwindowlong m hwnd,gwl style,getwindowlong m hwnd,gwl style ws minimizebox setwindowpos m hwnd,null,0,0,...

修改視窗STYLE屬性

以下函式對於popup視窗有效,對於子視窗好像不行。最小化按鈕有效 setwindowlong m hwnd,gwl style,getwindowlong m hwnd,gwl style ws minimizebox setwindowpos m hwnd,null,0,0,0,0,swp no...

VC 切分視窗

vc 中建立切分視窗 1.使用嚮導建立sdi窗體,一切均取預設值 2.在cmainframe類中增加切分控制項成員 csplitterwnd m wndsplitter 3.在cmainframe類的oncreateclient方法 若沒有此方法使用 增加虛函式 嚮導新增 中增加如下 並將retur...