Klasa CMFCToolTipCtrl
Rozszerzona implementacja etykietki narzędzia oparta na klasie CToolTipCtrl. Etykietka narzędzia oparta na CMFCToolTipCtrl
klasie może wyświetlać ikonę, etykietę i opis. Wygląd wizualizacji można dostosować przy użyciu wypełnienia gradientowego, niestandardowego tekstu i kolorów obramowania, tekstu pogrubionego, zaokrąglonych narożników lub stylu balonu.
Aby uzyskać więcej informacji, zobacz kod źródłowy znajdujący się w folderze VC\atlmfc\src\mfc instalacji programu Visual Studio.
Składnia
class CMFCToolTipCtrl : public CToolTipCtrl
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCToolTipCtrl::CMFCToolTipCtrl |
Konstruktor domyślny. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCToolTipCtrl::GetIconSize | Zwraca rozmiar ikony w etykietce narzędzia. |
CMFCToolTipCtrl::GetParams | Zwraca ustawienia wyświetlania etykietki narzędzia. |
CMFCToolTipCtrl::OnDrawBorder | Rysuje obramowanie etykietki narzędzia. |
CMFCToolTipCtrl::OnDrawDescription | |
CMFCToolTipCtrl::OnDrawicon | Wyświetla ikonę w etykietce narzędzia. |
CMFCToolTipCtrl::OnDrawLabel | Rysuje etykietkę narzędzia lub oblicza rozmiar etykiety. |
CMFCToolTipCtrl::OnDrawSeparator | Rysuje separator między etykietą a opisem w etykietce narzędzia. |
CMFCToolTipCtrl::OnFillBackground | Wypełnia tło etykietki narzędzia. |
CMFCToolTipCtrl::SetDescription | Ustawia opis, który ma być wyświetlany przez etykietkę narzędzia. |
CMFCToolTipCtrl::SetFixedWidth | |
CMFCToolTipCtrl::SetHotRibbonButton | |
CMFCToolTipCtrl::SetLocation | |
CMFCToolTipCtrl::SetParams | Określa wygląd wizualizacji etykietki narzędzia przy użyciu CMFCToolTipInfo obiektu. |
Uwagi
Użyj CMFCToolTipCtrl
obiektów klasy , CMFCToolTipInfo
i CTooltipManager razem, aby zaimplementować dostosowane etykietki narzędzi w aplikacji.
Aby na przykład użyć etykietek narzędzi w stylu balonu, wykonaj następujące kroki:
Użyj metody klasy CWinAppEx, aby zainicjować menedżera etykietek narzędzi w aplikacji.
Utwórz strukturę,
CMFCToolTipInfo
aby określić odpowiedni styl wizualizacji:CMFCToolTipInfo params; params.m_bBoldLabel = FALSE; params.m_bDrawDescription = FALSE; params.m_bDrawIcon = FALSE; params.m_bRoundedCorners = TRUE; params.m_bDrawSeparator = FALSE; if (m_bCustomColors) { params.m_clrFill = RGB (255, 255, 255); params.m_clrFillGradient = RGB (228, 228, 240); params.m_clrText = RGB (61, 83, 80); params.m_clrBorder = RGB (144, 149, 168); }
Użyj metody CTooltipManager::SetTooltipParams, aby ustawić styl wizualny dla wszystkich etykietek narzędzi w aplikacji przy użyciu stylów zdefiniowanych w
CMFCToolTipInfo
obiekcie:theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL, RUNTIME_CLASS (CMFCToolTipCtrl), ¶ms);
Możesz również utworzyć nową klasę z CMFCToolTipCtrl
, aby kontrolować zachowanie etykietki narzędzi i renderowanie. Aby określić nową klasę kontrolki etykietki narzędzia, użyj CTooltipManager::SetTooltipParams
metody :
myApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
RUNTIME_CLASS (CMyToolTipCtrl))
Aby przywrócić domyślną klasę kontrolki etykietki narzędzi i zresetować wygląd etykietki narzędzia do stanu domyślnego, określ wartość NULL w klasie środowiska uruchomieniowego i parametrach SetTooltipParams
informacji o etykietce narzędzia :
theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
NULL,
NULL);
Przykład
W poniższym przykładzie pokazano, jak skonstruować CMFCToolTipCtrl
obiekt, ustawić opis wyświetlany przez etykietkę narzędzia i ustawić szerokość kontrolki etykietki narzędzia.
CMFCToolTipInfo *params = new CMFCToolTipInfo();
params->m_bBoldLabel = FALSE;
params->m_bDrawDescription = FALSE;
params->m_bDrawIcon = FALSE;
params->m_bRoundedCorners = TRUE;
params->m_bDrawSeparator = FALSE;
params->m_clrFill = RGB(255, 255, 255);
params->m_clrFillGradient = RGB(228, 228, 240);
params->m_clrText = RGB(61, 83, 80);
params->m_clrBorder = RGB(144, 149, 168);
CMFCToolTipCtrl *tipCtrl = new CMFCToolTipCtrl(params);
tipCtrl->SetDescription(_T("tool tip control"));
tipCtrl->SetFixedWidth(100, 150);
Hierarchia dziedziczenia
Wymagania
Nagłówek: afxtooltipctrl.h
CMFCToolTipCtrl::CMFCToolTipCtrl
CMFCToolTipCtrl(CMFCToolTipInfo* pParams = NULL);
Parametry
[in] pParams
Uwagi
CMFCToolTipCtrl::GetIconSize
Zwraca rozmiar ikony w etykietce narzędzia.
virtual CSize GetIconSize();
Wartość zwracana
Rozmiar ikony w pikselach.
CMFCToolTipCtrl::GetParams
Zwraca ustawienia wyświetlania etykietki narzędzia.
const CMFCToolTipInfo& GetParams() const;
Wartość zwracana
Bieżące ustawienia wyświetlania etykietki narzędzia, które są przechowywane w obiekcie klasy CMFCToolTipInfo.
CMFCToolTipCtrl::OnDrawBorder
Rysuje obramowanie etykietki narzędzia.
virtual void OnDrawBorder(
CDC* pDC,
CRect rect,
COLORREF clrLine);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia.
Rect
[in] Prostokąt ograniczenia etykietki narzędzia.
clrLine
[in] Kolor obramowania.
Uwagi
Zastąp tę metodę w klasie pochodnej, aby dostosować wygląd obramowania etykietki narzędzia.
CMFCToolTipCtrl::OnDrawDescription
virtual CSize OnDrawDescription(
CDC* pDC,
CRect rect,
BOOL bCalcOnly);
Parametry
[in] PDC
[in] Rect
[in] bCalcOnly
Wartość zwracana
Uwagi
CMFCToolTipCtrl::OnDrawicon
Wyświetla ikonę w etykietce narzędzia.
virtual BOOL OnDrawIcon(
CDC* pDC,
CRect rectImage);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia.
rectImage
[in] Współrzędne ikony.
Wartość zwracana
Wartość TRUE, jeśli ikona została narysowana. W przeciwnym razie WARTOŚĆ FALSE.
Uwagi
Zastąp tę metodę w klasie pochodnej, aby wyświetlić ikonę niestandardową. Należy również zastąpić polecenie CMFCToolTipCtrl::GetIconSize , aby umożliwić prawidłowe obliczenie układu tekstu i opisu etykietki narzędzia.
CMFCToolTipCtrl::OnDrawLabel
Rysuje etykietkę narzędzia lub oblicza rozmiar etykiety.
virtual CSize OnDrawLabel(
CDC* pDC,
CRect rect,
BOOL bCalcOnly);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia.
Rect
[in] Ograniczenie prostokąta obszaru etykiety.
bCalcOnly
[in] Jeśli wartość TRUE, etykieta nie zostanie narysowana.
Wartość zwracana
Rozmiar etykiety w pikselach.
Uwagi
Zastąp tę metodę w klasie pochodnej, jeśli chcesz dostosować wygląd etykiety etykietki narzędzia.
CMFCToolTipCtrl::OnDrawSeparator
Rysuje separator między etykietą a opisem w etykietce narzędzia.
virtual void OnDrawSeparator(
CDC* pDC,
int x1,
int x2,
int y);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia.
x1
[in] Współrzędna pozioma lewego końca separatora.
x2
[in] Współrzędna pozioma prawego końca separatora.
Y
[in] Współrzędna pionowa separatora.
Uwagi
Domyślna implementacja rysuje linię od punktu (x1, y) do punktu (x2, y).
Zastąp tę metodę w klasie pochodnej, aby dostosować wygląd separatora.
CMFCToolTipCtrl::OnFillBackground
Wypełnia tło etykietki narzędzia.
virtual void OnFillBackground(
CDC* pDC,
CRect rect,
COLORREF& clrText,
COLORREF& clrLine);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia.
Rect
[in] Określa prostokąt ograniczenia obszaru do wypełnienia.
clrText
[in] Kolor pierwszego planu etykietki narzędzia.
clrLine
[in] Kolor obramowania i linia ogranicznika między etykietą i opisem.
Uwagi
Domyślna implementacja wypełnia prostokąt określony przez rect kolorem lub wzorcem określonym przez najnowsze wywołanie polecenia CMFCToolTipCtrl::SetParams.
Zastąp tę metodę w klasie pochodnej, jeśli chcesz dostosować wygląd etykietki narzędzia.
CMFCToolTipCtrl::SetDescription
Ustawia opis, który ma być wyświetlany przez etykietkę narzędzia.
virtual void SetDescription(const CString strDesrciption);
Parametry
strDesrciption
[in] Tekst opisu.
Uwagi
Tekst opisu jest wyświetlany w etykietce narzędzia pod separatorem.
CMFCToolTipCtrl::SetFixedWidth
void SetFixedWidth(
int nWidthRegular,
int nWidthLargeImage);
Parametry
[in] nWidthRegular
[in] nWidthLargeImage
Uwagi
CMFCToolTipCtrl::SetHotRibbonButton
void SetHotRibbonButton(CMFCRibbonButton* pRibbonButton);
Parametry
[in] pRibbonButton
Uwagi
CMFCToolTipCtrl::SetLocation
void SetLocation(CPoint pt);
Parametry
[in] Pt
Uwagi
CMFCToolTipCtrl::SetParams
Określa wygląd wizualizacji etykietki narzędzia przy użyciu obiektu klasy CMFCToolTipInfo.
void SetParams(CMFCToolTipInfo* pParams);
Parametry
pParams
[in] Wskaźnik do obiektu klasy CMFCToolTipInfo, który zawiera parametry wyświetlania.
Uwagi
Za każdym razem, gdy etykietka narzędzia jest wyświetlana, jest rysowana przy użyciu kolorów i stylów wizualnych, które określa parametr pParams . Wartość pParams jest przechowywana w chronionym elemencie członkowskim m_Params
, do którego można uzyskać dostęp za pomocą klasy pochodnej, która zastępuje klasę cmFCToolTipCtrl::OnDrawBorder, CMFCToolTipCtrl::OnDrawIcon, CMFCToolTipCtrl::OnDrawLabel, CMFCToolTipCtrl::OnDrawSeparator lub CMFCToolTipCtrl::OnFillBackground w celu zachowania określonego wyglądu.
Zobacz też
Wykres hierarchii
Klasy
Klasa CToolTipCtrl
Klasa CTooltipManager
Klasa CMFCToolTipInfo
Klasa CWinAppEx