為對話方塊建立工具欄

2021-05-06 13:34:24 字數 1367 閱讀 9070

為對話方塊建立工具欄

大家都知道,單文件應用程式預設生成了選單欄和工具欄,而對話方塊應用程式則沒有。對於選單欄的新增比較簡單,只要插入乙個選單資源然後在主對話方塊指定這個選單就可以了。那麼工具欄該如何建立呢?

工具欄的建立相對比較麻煩,在一本書上看到了建立工具欄較簡單的方法,且聽我細細給你道來。 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....