Udostępnij przez


Klasa CMFCToolTipCtrl

Uwaga / Notatka

Biblioteka Klas programu Microsoft Foundation (MFC) nadal jest obsługiwana. Nie dodajemy już funkcji ani nie aktualizujemy dokumentacji.

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