Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
Użyj metody klasy CWinAppEx, aby zainicjować menedżera etykietek narzędzi w aplikacji.
Utwórz strukturę,
CMFCToolTipInfoaby 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
CMFCToolTipInfoobiekcie: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 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
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