MFC按鈕特效

2021-09-13 14:54:45 字數 2693 閱讀 3062

效果一:在按鈕上加入icon,使icon和文字同時顯示

假設按鈕id為idc_button1 1. 新增成員變數

cbuttonst m_btn;
2. 新增icon資源,設其id設為idi_icon1

3. 在oninitdialog函式中初始化按鈕

m_btn.subclassdlgitem(idc_button1,this); m_btn.seticon(idi_icon1); m_btn.setflat(false);
效果二:顯示平面按鈕只需要在效果一的基礎上把m_btn.setflat(false);語句去掉。

效果三:使按鈕上的圖示可變假設按鈕id為idc_button1 1. 新增成員變數

cbuttonst m_btn;

2. 新增兩個icon資源,id設為idi_icon1和idi_icon2 idi_icon1是普通狀態的圖示,idi_icon2是按下時的圖示

3. 在oninitdialog函式中初始化按鈕

m_btn.subclassdlgitem(idc_button1,this); m_btn.seticon(idi_icon2,idi_icon1);
效果四:設定按鈕在不同狀態下的底色和文字顏色

假設按鈕id為idc_button1 1. 新增成員變數

cbuttonst m_btn;

2. 新增icon資源,設其id設為idi_icon1 3. 在oninitdialog函式中初始化按鈕
m_btn.subclassdlgitem(idc_button1,this); m_btn.seticon(idi_icon1); m_btn.setcolor(cbuttonst::btnst_color_bk_out, rgb(208,208,208)); m_btn.setcolor(cbuttonst::btnst_color_bk_focus, rgb(208,208,208)); m_btn.offsetcolor(cbuttonst::btnst_color_bk_in, 30);
btnst_color_bk_in //滑鼠放在按鈕內時的背景色 btnst_color_fg_in, //滑鼠放在按鈕內時的前景色 btnst_color_bk_out, //普通狀態時的背景色 btnst_color_fg_out, //普通狀態時的前景色 btnst_color_bk_focus, //按鈕被按下後的背景色 btnst_color_fg_focus, //按鈕被按下後的前景色
效果五:設定圖示和文字的位置

假設按鈕id為idc_button1 1.新增成員變數

cbuttonst m_btn;

2.新增icon資源,id設為idi_icon1 3.在oninitdialog函式中初始化按鈕
m_btn.subclassdlgitem(idc_button1,this); m_btn.seticon(idi_icon1); m_btn.setalign(cbuttonst::st_align_vert);
st_align_horiz // 文字在右 st_align_vert //文字在下 st_align_horiz_right// 文字在左
根據icon的形狀設定按鈕的形狀

假設按鈕id為idc_button1 1.新增成員變數

效果七:新增tooltips

假設按鈕id為idc_button1 1.新增成員變數

cbuttonst m_btn;

2.新增icon資源,設其id設為idi_icon1 3. 在oninitdialog函式中初始化按鈕
m_btn.subclassdlgitem(idc_button1,this); m_btn.seticon(idi_icon1); m_btn.settooltiptext(_t("this is a tooltip.rnmultiline!"));
cbuttonst m_btn;

2.新增icon資源,設其id設為idi_icon1 3.在oninitdialog函式中初始化按鈕
m_btn.subclassdlgitem(idc_button1,this); m_btn.seticon(idi_icon1); m_btn.drawborder(false); m_btn.setcolor(cbuttonst::btnst_color_bk_out, rgb(208,208,208)); m_btn.setcolor(cbuttonst::btnst_color_bk_in, rgb(208,208,208)); m_btn.setcolor(cbuttonst::btnst_color_bk_focus, rgb(208,208,208));
注意:為達到最好效果,請根據icon的大小調整按鈕的大小。 並根據實際情況設定背景顏色。請事先將按鈕的文字去掉。

posted @

2013-09-26 13:32

心靈捕手 閱讀(

...)  

編輯收藏

MFC按鈕特效

效果一 在按鈕上加入icon,使icon和文字同時顯示 假設按鈕id為idc button1 1.新增成員變數 cbuttonst m btn 2.新增icon資源,設其id設為idi icon1 3.在oninitdialog函式中初始化按鈕 m btn.subclassdlgitem idc b...

CSS 按鈕特效

通過偽元素實現下圖效果 html rabbitcss body a a after a hover after 想要從中間開始擴張開來,需要偽元素設定position absolute 然後把top和left都設定成50 再通過transform的translate設定回 50 這個作用是讓元素從中...

CSS 按鈕特效 二

div class arrow arrow left middle arrow left middle div div class arrow arrow left top arrow left top div div class arrow arrow left bottom arrow left...