Udostępnij za pośrednictwem


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 CMFCToolTipCtrlobiektów klasy , CMFCToolTipInfoi 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:

  1. Użyj metody klasy CWinAppEx, aby zainicjować menedżera etykietek narzędzi w aplikacji.

  2. 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);
    
    }
    
  3. 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), &params);
    

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 SetTooltipParamsinformacji 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

Obiekt CObject

CCmdTarget

CWnd

CToolTipCtrl

CMFCToolTipCtrl

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