1.bmp基本概念
(1)色位
色位即色彩位數,指每個畫素點上顏色的資料位數(bit),有色彩深度、色彩精度等等多種稱法,以24位為例,表示r.g.b每原色用8位二進位制資料表示,最多可表達256級濃淡,從而可以再現256x256x256=16777216種顏色。色彩數越多,影象就越生動艷麗。
(2)大小
位圖大小和畫素有關。畫素:上的1個點就是1個畫素。
(3)解析度
解析度通常是指1英吋長度上的畫素(點)數,表示一張上畫素之間排列的疏密程度。
2.mfc工具欄控制項
建立工具欄步驟:
(1)在resource view中插入新*******
(2)在*******上雙擊增加按鈕,更改id為id_button,編譯後在resource.h中即可看到
#define id_button132771
(3)在框架類中新增保護的成員變數 c******* m_my*******;
(4)在框架類的oncreate中用createex建立工具欄控制項(設定屬性),載入工具欄資源
**如下:
if (!m_my*******.createex(this, tbstyle_flat, ws_child | ws_visible | cbrs_left(5)為工具欄按鈕新增訊息響應函式,否則按鈕為灰色| cbrs_gripper | cbrs_tooltips | cbrs_flyby | cbrs_size_dynamic) ||
!m_my*******.load*******(idr_*******1))
m_my*******.enabledocking(cbrs_align_any);
enabledocking(cbrs_align_any);
dockcontrolbar(&m_my*******);
在框架類add window message handle, 選擇id_button,新增訊息響應。
具體新增的**為:1.框架類的宣告中afx_msg void onbutton1();
2.框架類的原始檔中on_command(id_button1, onbutton1)
3.框架類的原始檔中訊息響應函式的實現void cmainframe::onbutton1() {}
效果圖如下:
3.bmp工具欄(開始步驟同上略去)
(1)在resource view中新增bitmap (在此之前先用畫圖工具將bitmap調整至合適大小,如48*48),同樣編譯後可在
resource.h中觀察到#define idb_bitmap1132
(2)在框架類中新增成員變數cimagelist m_imagelist;
(3)初始化imagelist並將它與cimagelist物件聯絡起來
m_imagelist.create(48,48,ilc_color32|ilc_mask,0,0);ilc_mask的作用是將背景色透明。
(4)載入位圖資源並且新增進影象列表imagelist(注意要用deleteobject釋放之前載入的資源)
cbitmap bmp;(5)構建乙個******* 按鈕id的陣列for(int i=0;i<3;++i)
uint narray[3];(6)設定工具欄按鈕的id,按鈕與點陣圖的大小for(int k=0;k<3;++i)
m_my*******.setbuttons(narray,3);(7)設定影象m_my*******.setsizes(csize(55,55),csize(48,48));
m_my*******.get*******ctrl().setimagelist(&m_imagelist);效果圖如下:
4.為工具欄按鈕新增滑鼠停留提示資訊
(2)在框架類增加乙個成員變數 cstring str;
(3)在框架類message map中加入 on_notify_ex(ttn_needtext,0,on*******tips)
(4)在框架類新增函式bool on*******tips(uint id, nmhdr * ptttstruct, lresult * presult);
包括標頭檔案中的函式宣告和原始檔的函式實現。該響應函式的實現如下
bool cmainframe::on*******tips( uint id, nmhdr * pnmhdr, lresult * presult )效果圖如下:pttt->lpsztext=str.getbuffer(str.getlength());
pttt->hinst=afxgetresourcehandle();
return true;
}
5. 單擊工具欄按鈕後改變
採用了笨辦法,設定了兩個imagelist.
效果圖如下:
MFC bmp彩色工具欄
1.bmp基本概念 1 色位 色位即色彩位數,指每個畫素點上顏色的資料位數 bit 有色彩深度 色彩精度等等多種稱法,以24位為例,表示r.g.b每原色用8位二進位制資料表示,最多可表達256級濃淡,從而可以再現256x256x256 16777216種顏色。色彩數越多,影象就越生動艷麗。2 大小 ...
24位真彩色工具欄
以位圖的形式新增到資源裡 然後在初始化函式裡進行下列操作 m createex this,tbstyle flat,ws child ws visible cbrs top 建立工具欄 m load idr 1 載入資源 cimagelist imgs cbitmap bmp bmp.loadbit...
輕鬆製作24位真彩色工具欄
製作 24位真彩色工具欄,網上的資料可真是多啊。我寫這篇文章前就想放棄寫了,雖然我是做出來,可人家早就做出來了啊。這段時間呢,由於無事可幹,老闆看著我閒著也是閒著,就叫我先做乙個軟體介面出來,抱著學習與工作的心態,就開始做了。看到 acrobat reader 5.1 就想著我也能不能將工具欄做成和...