讓你的軟體介面更漂亮 四 不完美之選單

2021-04-19 07:22:09 字數 1353 閱讀 1001

讓你的軟體介面更漂亮(四)——不完美之選單朱一松

漂亮介面的軟體應該有漂亮的選單,大家對 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程式。一 漂亮介面實現的原理 用圖象元素自繪視窗標題樣欄,邊框,系統按鈕 最...