6.如何建立可伸縮的對話方塊
在進行對話方塊的設計時,有時候我們需要設計可伸縮的對話方塊,當使用者按下某個按鈕時彈出或隱藏對話方塊的下半部分。(1
)、首先在對話方塊中建立乙個控制項把
id設為
idc_divider
,type
設定為矩形,
color
設定為黑色,並將其設定為一線狀,拖放在適當的位置做為伸縮對話方塊的分割線,屬性設為不可見。(2
)、實現的原理:先獲取對話方塊的尺寸大小,然後根據的位置來確定縮減後的對話方塊大小,其實對話方塊伸縮的變化就是的值,在縮減對話方塊後,我們要使不可見的部分控制項被禁止,以禁止加速鍵和
tab鍵對其的操作,在擴充套件對話方塊後,原來被禁止的控制項又要使能。
先在對話方塊上的伸縮按鈕新增單擊訊息處理函式:
void c***dlg::onbuttonexpand()
//在對話方塊中新增乙個成員函式
expanddialog
,用於擴充套件或縮減
void c***dlg::expanddialog(int nresourceid,bool bexpand)
if(bexpand)
else}//
在對話方塊中新增乙個成員函式
enablevisible
,用於能用和禁止部分控制項
void c***dlg:: enablevisible()
}7.為什麼有richedit控制項的對話方塊無法顯示
如果在對話方塊上放乙個
richedit
控制項,往往發現對話方塊卻無法正常顯示,這是因為應用程式還沒有為
richedit
控制項的編輯功能做好準備,解決辦法就是在應用程式的
initinstance()
函式呼叫
afxinitrichedit()
函式初始化
richedit
控制項8.如何指定對話方塊的預設按鈕
當建立乙個對話方塊的時候,在預設條件下,確定按鈕(
idok
)是預設按鈕,如果需要改變預設的按鈕有兩種方法:
其一:
直接在確定按鈕(
idok
)的屬性裡去掉
default button
風格的選項
其二:
在執行的時候用**實現,如:
//去掉確定按鈕(
idok
)的預設按鈕
cbutton *pokbutton = (cbutton *)getdlgitem(idok);
pokbutton->modifystyle(bs_defpushbutton,0);
//新增
idcancel
的預設按鈕風格
cbutton *pcancelbutton = (cbutton *)getdlgitem(idcancel);
pcancelbutton->setbuttonstyle(bs_defpushbutton);
VC程式設計經驗彙總 一
1.視窗最大化 最小化的實現 當我們不能用標題欄的最大化 最小化及恢復按鈕而又需在其他的地方實現這些功能,可以在指定的訊息處理函式裡新增 windowplacement wndpl windowplacement pwndpl pwndpl wndpl getwindowplacement pwnd...
VC程式設計經驗彙總 一
1.視窗最大化 最小化的實現 當我們不能用標題欄的最大化 最小化及恢復按鈕而又需在其他的地方實現這些功能,可以在指定的訊息處理函式裡新增 windowplacement wndpl windowplacement pwndpl pwndpl wndpl getwindowplacement pwnd...
VC程式設計經驗彙總 一
1.視窗最大化 最小化的實現 當我們不能用標題欄的最大化 最小化及恢復按鈕而又需在其他的地方實現這些功能,可以在指定的訊息處理函式裡新增 windowplacement wndpl windowplacement pwndpl pwndpl wndpl getwindowplacement pwnd...