修改視窗屬性
說明:以下函式對於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,0,0,swp...
修改視窗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...