讓你的軟體介面更漂亮(四)——不完美之選單朱一松
漂亮介面的軟體應該有漂亮的選單,大家對 windows xp 的開始選單肯定不陌生吧,那種選單獨具風格。於是去研究了一下,發現其實它並不是真cmenu也不是其派生類,分析其結構發現其主要是兩個 listview、乙個*******、乙個 button 組成的。於是也寫了個選單類,但我並沒有用 listview 去實現,雖然不敢和 windows xp相比,但我認為其是一種有個性的選單,拿出和大家分享! 希望大家能寫出有創新和自主產權的選單。哈哈……。當然要先眼見為實如下圖。
一、 實現原理
用 cwnd 和 cbutton 來實現。主要的類檔案為 cyisong menu.cpp cyisongmenu.h。
二、選單使用方法說明
類 public 變數定義:
cyisongmenu m_groupmenu;設定頭像和新增選單項:cyisongmenu m_subgroupmenu;//子選單
m_groupmenu.setmenuheader("我的主選單",idi_qq, true );idc_subitem, //選單id
idi_icon1, // 圖示
null, //子選單指標
menu_normal|menu_fontbold//風格引數
); idc_subitem+1,
idi_icon2,
null,
menu_normal );
m_groupmenu.creategroupmenu(this,crect(0,0,150,300),idc_menu,1,1);至此基本完成建立工作,如果還要建立創子選單用,請回到a處。
顯示選單項
在點(x,y)處顯示選單
m_groupmenu. showmenupos(x,y, leftbottom);第三個 數指定(x,y)為選單的四個角點中的乙個。如leftbottom即為選單左下角處在(x,y)的位置。
響映選單項命令
在.cpp 中新增:
on_command_range(idc_subitem,idc_subitemmax,onmenucommand) //訊息對映函式並在.h 中宣告為:
void onmenucommand(uint nid)在 cpp 中的函式實現**為:
cstring strselect;strselect.format("你選擇了第%i功能",nid-idc_subitem + 1);
messagebox(strselect,"執行結果");
讓你的軟體介面更漂亮 三
讓你的軟體介面更漂亮 三 朱一松 實現令人滿意的風格統一的軟體介面確實很難,象提到的messagebox filedialog fontdialog 目錄選擇對話方塊等mfc內部甚至系統dll內的對話方塊,要想讓它變臉可不容易。有人說hook技術可以,hook技術確實可以,hook可以說是無孔不入,...
讓你的軟體介面更漂亮 二
一 統一風格漂亮介面設計的理論與實現 a.視窗和對話方塊 windows操作系中視窗和對話方塊在我們看來是一樣的,就是乙個四邊形,有標題欄 系統按鈕,邊框等,可移動和可變大小。實際上視窗和對話方塊是有的區別的。在建立對話方塊視窗時的工作中要發生兩個主要過程 對話方塊的過程和其視窗過程。win32 s...
讓你的軟體介面更漂亮 VC
我們使用過很多的軟體,給我們留下印象很深的是那些介面漂亮且迷人的軟體,國外的軟體象qicktime,國產的象金山詞霸等,它們的軟體介面設計風格都有獨特之處。本人跟據自已的經驗和大家 一下軟體的漂亮介面實現的原理並提供demo程式。一 漂亮介面實現的原理 用圖象元素自繪視窗標題樣欄,邊框,系統按鈕 最...