為對話方塊建立工具欄
大家都知道,單文件應用程式預設生成了選單欄和工具欄,而對話方塊應用程式則沒有。對於選單欄的新增比較簡單,只要插入乙個選單資源然後在主對話方塊指定這個選單就可以了。那麼工具欄該如何建立呢?
工具欄的建立相對比較麻煩,在一本書上看到了建立工具欄較簡單的方法,且聽我細細給你道來。 1
、從基類c*******ctrl中派生出所需要的類cstandardbar。 2
、新增資源,目前編譯器對24位位圖支援不好,建議使用256色位圖。大小視具體每個按鈕的大小和個數而定。如果設定每個按鈕的高為32畫素,新增6個按鈕,則插入的資源長度為192畫素。對此,讀者可自行設定。
現在我們新增五個按鈕,高32畫素,總長160畫素。資源符號為idr_standardbar。 3
、新增字串資源。
資源符號
值字串資源
idstr_jilu
102記錄
idstr_baocun103儲存
idstr_chazhao104查詢
idstr_chakan105檢視
idstr_quit106退出
在cstandardbar類中呼叫create函式建立工具欄。**如下:
bool cstandardbar::create(dword dwstyle, const rect &rect, cwnd *pparentwnd, uint nid)
m_ptbbuttons[m_nbuttoncount-1].idcommand=idcancel;
tbbutton sepbutton;
sepbutton.idcommand = 0;
sepbutton.fsstyle = tbstyle_sep;
sepbutton.fsstate = tbstate_enabled;
sepbutton.istring = 0;
sepbutton.ibitmap = 0;
sepbutton.dwdata = 0;
int nindex;
for (nindex = 0; nindex < m_nbuttoncount; nindex++)
}this->setstyle(tbstyle_flat|ccs_top);
return bret;}4
、例項化cstandardbar物件:cstandardbar m_standardbar。注意要包含標頭檔案#include 「standardbar.h」 5
、在主對話方塊為cstandardbar物件建立相應的視窗。**如下:
intc*******dlg::oncreate(lpcreatestruct lpcreatestruct)
程式執行效果如下圖:
在對話方塊中加入工具欄
工具欄 是一種非常方便的控制項,能大大增加使用者操作的效率,但是基於對話方塊的程式,卻不能像使用編輯框 edit box 和列表框 list box 一樣,方便地增加工具欄控制項。本文將介紹一種在對話方塊中加入工具欄的方法。一 技術要點分析 所有的windows控制項 包括工具欄 編輯框等 都派生自...
在對話方塊中插入 工具欄
一 技術要點分析 所有的windows 控制項 包括工具欄 編輯框等 都派生自 cwnd 類,這就意味著,我們可以用視窗類的 create 函式把它們 建立 並顯示到另乙個視窗 例如對話方塊 上。把工具欄加入到對話方塊中正是使用了這樣的一種方法。通常,我們使用 c ctrl 類 派生自 cwnd 類...
VC 對話方塊程式加工具欄
我們先建立乙個基於dialog 的程式,我給他起了個名字叫 dlgmenu 一 如何往基於dialog的程式新增選單 1.1 先新增選單 idr menu1 資源,並加上需要的選單項。1.2 編輯對話方塊資源idd dlgmenu dialog的屬性,在屬性對話方塊中選擇idr menu1即可。1....