如何有效的使用對話方塊之二
譯者:徐景周
(原作:nishant s )
本文是《如何有效使用對話方塊》
一文的繼續.
1. 如何有效地使初始視窗不顯示
當我們想讓視窗初始時不顯示時,通常會用showwindow(sw_hide) ,但實際上還是在啟動是可以看到視窗一閃而過的痕跡。所以,可以使用下面的方法來實現它:
(1.1)先在建構函式中設定布樂變數 visible值為false.
visible = false;(1.2)過載 wm_windowposchanging,並新增下面**:
void ctest_deletedlg::onwindowposchanging(windowpos far* lpwndpos)(1.3)然後設布林visible變數值為true,並在要顯示視窗時,再用showwindow(sw_show)既可。
visible = true;showwindow(sw_show);2. 對話方塊的全屏顯示
對話方塊的全屏顯示可以在oninitdialog()中用 setwindowpos 和 hwnd_topmost 來實現對話方塊的重新大小。
bool cfullscrdlgdlg::oninitdialog()3. 如何在2k/xp下使視窗獲取焦點
在2k/xp下我們可以用 attachthreadinput 和setforegroundwindow來有效的獲取焦點。
//捕捉並設定當前焦點視窗為我們的視窗attachthreadinput( getwindowthreadprocessid( ::getforegroundwindow(),null), getcurrentthreadid(),true);//置我們的為焦點視窗setforegroundwindow();setfocus(); //釋放threadattachthreadinput( getwindowthreadprocessid( ::getforegroundwindow(),null), getcurrentthreadid(),false);4. 使你的對話方塊位於最頂端
可以直接在 oninitdialog()中用setwindowpos來實現。
setwindowpos(&this->wndtopmost,0,0,0,0,swp_nomove|swp_nosize);5. 如何動態放大/縮小對話方塊
還是可以用setwindowpos或movewindow來實現它。
void ctest_deletedlg::onmake**all() void ctest_deletedlg::onexpand()或:
6. 如何讓對話方塊回到螢幕中來
當對話方塊被拖離螢幕時,可用下面**使其回到螢幕中。
sendmessage(dm_reposition);注:它必須是頂端視窗且不是child視窗。
7. 如何給對話方塊新增或去掉最大/最小化按鈕
在oncreate()或oninitdialog() 改變其顯示風格既可。
int ctest_deletedlg::oncreate(lpcreatestruct lpcreatestruct)或用:
modifystyle (null, ws_maximizebox);8. 改變滑鼠指標
可以在onsetcursor中實現.
9. 改變對話方塊的前景和背景色
可以在initinstance()中實現。
//紅色背景、綠色前景setdialogbkcolor(rgb(255,0,0),rgb(0,255,0));10. 在任務條上不顯示圖示
11. 加入上、下文幫助
在 oninitdialog 修改顯示風格,加入上、下文hlp幫助顯示.
bool helpdialog::oninitdialog()過載onhelpinfo(...),用顯示相關幫助資訊
bool helpdialog::onhelpinfo(helpinfo* phelpinfo) }
Qt學習之二 建立對話方塊
1 深入介紹訊號和槽 槽和普通的 c 成員函式幾乎是一樣的 可以是虛函式,可以被過載 可以是公有的 保護的或者私有的。槽還可以和訊號連線在一起,在這種情況下,每當發射這個訊號的時候,就會自動呼叫這個槽。connect sender,signal signal receiver,slot slot 這...
對話方塊 如何製作屬性頁對話方塊
1 加入屬性頁 增加對話方塊資源,修改以下屬性 style child border thin system menu false 2 為每個屬性頁生成類,基類為 cpropertypage 3 生成屬性對話方塊類,基類為 cpropertysheet 在屬性對話方塊類標頭檔案中增加類似如下內容 i...
對話方塊的使用
1 對話方塊的特性 對話總是依賴父視窗 jframe 當父視窗關閉,對話方塊也被關閉,父視窗最小化,對話方塊隨之最小化。對話方塊分模態和非模態兩類。2 使用joptionpane建立對話方塊 通過該類的show dialog方法,如果是在jinternalframe中使用,用相應的showinter...