9.如何改變視窗的圖示?
向視窗傳送wm_section訊息。
example:
assert(hicon);
afxgetmainwnd() ->sendmessage(wm_section,true,(lparam) hicon);
10.如何改變視窗的預設風格?
重栽cwnd:: precreatewindow並修改createstruct結構來指定視窗風格和其他
建立資訊.
example: delete "max" button and set original window's position and size
bool cmainframe:: precreatewindow (createstruct &cs)
cs.style &=~ws_maxinizemox;
cs.x=cs.y=0;
cs.cx=getsystemmetrics(**_cxscreen/2);
cs.cy=getsystemmetrics(**_cyscreen/2);
return cmdiframewnd ::precreatewindow(cs);
11.如何將視窗居中顯示?
easy, call function cwnd:: center windows
example(1): center window( ); //relative to it's parent
// relative to screen
example(2): center window(cwnd:: getdesktopwindow( ));
afxgetmainwnd( ) -> center window( );
12.如何讓視窗和mdi視窗一啟動就最大化和最小化?
先說視窗。
在initstance函式中設定m_ncmdshow的 取值.
m_ncmdshow=sw_showmaxmized ; //最大化
m_ncmdshow=sw_showminmized ; //最小化
m_ncmdshow=sw_shownormal ; //正常方式
mdi視窗:
mdi子視窗風格組中檢測最大化或最小化;還可以過載mdi window的
precreatewindow函式,設定ws_maxmize or ws_minmize;
如果從cmdichildwnd派生,呼叫oninitialupdate函式中的 cwnd::show
window來指定mdi child window的 風格。
13.如何使程式保持極小狀態?
很有意思的 問題
這麼辦:在恢復程式窗體大小時, windows會傳送wm_query-open訊息,
用classwizard設定成員函式onqueryopen() ,add following code:
bool cmainframe:: onqueryopen( )
return false;
14.如何限制視窗的大小?
也就是fixeddialog形式。windows傳送wm_getmaxmininfo訊息來跟蹤,
響應它,在ongetmaxmininfo中寫**:
15.如何使視窗不可見?
很簡單,用sw_hide隱藏視窗,可以結合findwindow,showwindow控制.
16.如何使視窗始終在最前方?
兩種途徑.
bringwindowtotop(handle);
setwindowpos函式,指定視窗的 最頂風格,用ws_ex_topmost擴充套件視窗的 風格
example:
void toggletopmost( cwnd *pwnd)
assert_valid(pwnd);
pwnd ->setwindowpos(pwnd-> getstyle( ) &ws_ex_topmost)?
&wndnotopmost: &wndtopmost,0,0,0,0,ssp_nosize|wsp_nomove);
Visual C 程式設計技巧小結
example handle hinstance afxgetinstancehandle 2.如何通過 獲得應用程式主視窗的指標?主視窗的 指標儲存在cwinthread m pmainwnd中,呼叫 afxgetmainwnd實現。afxgetmainwnd showwindow sw show...
Visual C 的程式設計技巧
山東科技大學智慧型工程研究所 楊在春 何明祥 microsoft visual c 是一種視覺化程式語言,因功能強大而受到廣大程式設計人員的青睞。但是,由於vc 的應用程式框架結構非常複雜,使得許多初學者望而卻步。本文通過對設定檢視背景顏色和改變對話方塊標題的幾種實現方法的分析研究,揭示了vc 程式...
Visual C 的程式設計技巧
microsoft visual c 是一種視覺化程式語言,因功能強大而受到廣大程式設計人員的青睞。但是,由於vc 的應用程式框架結構非常複雜,使得許多初學者望而卻步。本文通過對設定檢視背景顏色和改變對話方塊標題的幾種實現方法的分析研究,揭示了vc 程式 執行時的一些本質特徵和有關的程式設計技巧,對...