1. 程式人生 > 實用技巧 >可移動\可調整大小的執行時懸浮按鈕與工具提示

可移動\可調整大小的執行時懸浮按鈕與工具提示

介紹 我發現CHoverButton 尼克·阿爾伯斯和喜歡 然而,懸浮按鈕的想法並沒有足夠的通用性 為了我想要的。有 不過,滑鼠懸停\離開程式碼是一個很好的開始。我想要的 能夠在執行時移動和調整按鈕的大小。我也 希望能夠拉伸點陣圖以及載入 從水平或垂直佈局懸停影象。我也需要 在沒有點陣圖的情況下,作為常規按鈕繪製的按鈕 在載入。這樣就建立了CHoverButtonEx。 要使用CHoverButtonEx類,只需在上建立一個按鈕 您的對話方塊,並將其從CButton更改為CHoverButtonEx。 隱藏,複製Code

#include "hoverbutton.h"
...
CHoverButtonEx m_hoverbtn;

如果不需要點陣圖或工具提示,那麼就完成了。如果你需要點陣圖, 然後只需呼叫LoadBitmap(IDB_Bitmap);或者隱藏起來Code

LoadBitmapFromFile("Bitmap.bmp");

副本。 LoadBitmap採取一個影象,有3個相等大小的部分。每個點陣圖的大小 應該是寬度(或高度)/ 3 =影象大小。 呼叫SetHorizontal(真正的);對於水平影象,SetHorizontal(FALSE); 用於垂直影象,然後呼叫LoadBitmap。影象的佈局應如下: 接下來我們通過呼叫SetToolTipText(UINT nResourceStringID, bActivate = TRUE)來新增工具提示。 或者作為SetToolTipText(CString spText, bActivate = TRUE)。啟用設定 設定為true來建立工具提示並告訴它顯示滑鼠是否懸停。如果Activate == FALSE, 當滑鼠懸停在按鈕上時,工具提示將不顯示。SetToolTipText () 將建立工具提示並同時設定其文字。如果我想改變 工具提示文字嗎?然後你只是打電話 隱藏,複製Code

DeleteToolTip();
SetToolTipText("My string here");

這將刪除我們之前建立的工具提示,並建立一個帶有適當文字的新工具提示。為什麼不 我們只是重置了你問的文字?理想情況下,當按鈕是可調整大小時,這將工作 將文字設定為新字串不起作用。我們必須刪除工具提示並重新建立它 適當的尺寸和文字。 為了允許在執行時移動和調整按鈕的大小,我們只需呼叫SetMoveable()和this 將允許在執行時移動或調整大小。移動是在執行時通過右鍵單擊和拖動按鈕完成的 然後單擊您想要放置物件的位置。通過按住Control鍵和來完成調整大小 右鍵單擊按鈕,然後在按鈕調整到您想要的大小時單擊左鍵。 因此,我們使用這個類的程式碼在標頭檔案中是這樣的: 隱藏,複製Code

#include "hoverbutton.h"
...
...
...
CHoverButtonEx m_hover;

像這樣在我們的。cpp檔案中: 隱藏,複製Code

m_hover.SetHorizontal(TRUE); // Images are laid out horizontally
m_hover.LoadBitmap(IDB_HOVER);//Load from resource
CString hover=_T("Hover Button");//ToolTip text
m_hover.SetMoveable();// Allow moving and resizing
m_hover.SetToolTipText(hover);//Create the ToolTip

處理這些程序的函式在程式碼中有很好的文件說明。享受吧! 本文轉載於:http://www.diyabc.com/frontweb/news523.html