CLinkCtrl-Klasse
Stellt die Funktionalität des allgemeinen Windows-SysLink-Steuerelements bereit.
Syntax
class CLinkCtrl : public CWnd
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CLinkCtrl::CLinkCtrl | Erstellt ein CLinkCtrl -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CLinkCtrl::Create | Erstellt ein Verknüpfungssteuerelement und fügt es an ein CLinkCtrl Objekt an. |
CLinkCtrl::CreateEx | Erstellt ein Verknüpfungssteuerelement mit erweiterten Formatvorlagen und fügt es an ein CLinkCtrl Objekt an. |
CLinkCtrl::GetIdealHeight | Ruft die ideale Höhe des Verknüpfungssteuerelements ab. |
CLinkCtrl::GetIdealSize | Berechnet die bevorzugte Höhe des Verknüpfungstexts für das aktuelle Verknüpfungssteuerelement, je nach der angegebenen Breite der Verknüpfung. |
CLinkCtrl::GetItem | Ruft die Zustände und Attribute eines Linksteuerelementelements ab. |
CLinkCtrl::GetItemID | Ruft die ID eines Linksteuerelementelements ab. |
CLinkCtrl::GetItemState | Ruft den Status des Verknüpfungssteuerelementelements ab. |
CLinkCtrl::GetItemUrl | Ruft die URL ab, die durch das Linksteuerelementelement dargestellt wird. |
CLinkCtrl::HitTest | Bestimmt, ob der Benutzer auf den angegebenen Link geklickt hat. |
CLinkCtrl::SetItem | Legt die Zustände und Attribute eines Linksteuerelementelements fest. |
CLinkCtrl::SetItemID | Legt die ID eines Verknüpfungssteuerelementelements fest. |
CLinkCtrl::SetItemState | Legt den Status des Verknüpfungssteuerelementelements fest. |
CLinkCtrl::SetItemUrl | Legt die URL fest, die durch das Linksteuerelementelement dargestellt wird. |
Hinweise
Ein "Linksteuerelement" bietet eine bequeme Möglichkeit zum Einbetten von Hypertextlinks in ein Fenster. Das eigentliche Steuerelement ist ein Fenster, das markierten Text rendert und geeignete Anwendungen startet, wenn der Benutzer auf einen eingebetteten Link klickt. Mehrere Verknüpfungen werden innerhalb eines Steuerelements unterstützt und können von einem nullbasierten Index aufgerufen werden.
Dieses Steuerelement (und daher die Klasse) ist nur für Programme verfügbar, die CLinkCtrl
unter Windows XP und höher ausgeführt werden.
Weitere Informationen finden Sie unter SysLink Control im Windows SDK.
Vererbungshierarchie
CLinkCtrl
Anforderungen
Header: afxcmn.h
CLinkCtrl::CLinkCtrl
Erstellt ein CLinkCtrl
-Objekt.
CLinkCtrl();
CLinkCtrl::Create
Erstellt ein Verknüpfungssteuerelement und fügt es an ein CLinkCtrl
Objekt an.
virtual BOOL Create(
LPCTSTR lpszLinkMarkup,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
virtual BOOL Create(DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
lpszLinkMarkup
Zeigen Sie auf eine leere Zeichenfolge, die den markierten anzuzeigenden Text enthält. Weitere Informationen finden Sie im Abschnitt "Markup- und Linkzugriff" im Thema "Übersicht über SysLink-Steuerelemente".
dwStyle
Gibt die Formatvorlage des Verknüpfungssteuerelements an. Wenden Sie eine beliebige Kombination von Steuerelementformatvorlagen an. Weitere Informationen finden Sie unter Windows SDK
"Allgemeine Steuerelementformatvorlagen".
rect
Gibt die Größe und Position des Verknüpfungssteuerelements an. Es kann sich entweder um ein CRect-Objekt oder eine RECT-Struktur handeln.
pParentWnd
Gibt das übergeordnete Fenster des Verknüpfungssteuerelements an. Er darf nicht NULL sein.
Nid
Gibt die ID des Verknüpfungssteuerelements an.
Rückgabewert
TRUE, wenn die Initialisierung erfolgreich war; andernfalls FALSE.
Hinweise
Sie erstellen ein CLinkCtrl
Objekt in zwei Schritten. Rufen Sie zuerst den Konstruktor auf, und rufen Sie dann auf Create
, wodurch das Verknüpfungssteuerelement erstellt und an das CLinkCtrl
Objekt angefügt wird. Wenn Sie erweiterte Fensterstile mit Ihrem Steuerelement verwenden möchten, rufen Sie CLinkCtrl::CreateEx anstelle von Create
.
Die zweite Form der Create
Methode ist veraltet. Verwenden Sie das erste Formular, das den lpszLinkMarkup-Parameter angibt.
Beispiel
Im ersten Codebeispiel werden zwei Variablen definiert, die für m_Link1
m_Link2
den Zugriff auf zwei Verknüpfungssteuerelemente verwendet werden.
afx_msg void OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnNMClickSyslink2(NMHDR *pNMHDR, LRESULT *pResult);
// Link variable associated with resource editor CLinkCtrl control.
CLinkCtrl m_Link1;
// Link variable associated with programmatic CLinkCtrl control.
CLinkCtrl m_Link2;
Im nächsten Codebeispiel wird ein Linksteuerelement basierend auf der Position eines anderen Linksteuerelements erstellt. Das Ressourcenladeprogramm erstellt das erste Verknüpfungssteuerelement, wenn die Anwendung gestartet wird. Wenn Ihre Anwendung die OnInitDialog-Methode eingibt, erstellen Sie das zweite Verknüpfungssteuerelement relativ zur Position des ersten Verknüpfungssteuerelements. Anschließend ändern Sie die Größe des zweiten Linksteuerelements so, dass es an den angezeigten Text angepasst wird.
CRect rect1, rect2;
int height = 0;
SIZE sz = {0};
PTCHAR url =
_T("Link 2) ")
_T("<A HREF=\"https://visualstudio.microsoft.com\">")
_T("Microsoft VC++ Home")
_T("</A>");
m_Link1.GetWindowRect(&rect1);
m_Link2.Create(url,
(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER),
CRect(
rect1.left, rect1.bottom + rect1.Height(),
rect1.right, rect1.bottom + (2 * rect1.Height())),
this,
IDC_SYSLINK2);
m_Link2.GetClientRect(&rect2);
// The return value of GetIdealSize() is the same as sz.cy
height = m_Link2.GetIdealSize(
rect2.Width(), &sz);
if ((sz.cx != 0) && (sz.cy != 0))
{
int rc = m_Link2.SetWindowPos(
this,
0, 0, sz.cx, sz.cy,
(SWP_NOMOVE | SWP_NOZORDER | SWP_NOREPOSITION | SWP_NOACTIVATE));
}
CLinkCtrl::CreateEx
Erstellt ein Verknüpfungssteuerelement mit erweiterten Formatvorlagen und fügt es an ein CLinkCtrl
Objekt an.
virtual BOOL CreateEx(
LPCTSTR lpszLinkMarkup,
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
virtual BOOL CreateEx(DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
lpszLinkMarkup
Zeigen Sie auf eine leere Zeichenfolge, die den markierten anzuzeigenden Text enthält. Weitere Informationen finden Sie im Abschnitt "Markup- und Linkzugriff" im Thema "Übersicht über SysLink-Steuerelemente".
dwExStyle
Gibt die erweiterte Formatvorlage des Verknüpfungssteuerelements an. Eine Liste der erweiterten Windows-Stile finden Sie unter dem dwExStyle-Parameter für CreateWindowEx im Windows SDK.
dwStyle
Gibt die Formatvorlage des Verknüpfungssteuerelements an. Wenden Sie eine beliebige Kombination von Steuerelementformatvorlagen an. Weitere Informationen finden Sie unter "Allgemeine Steuerelementstile" im Windows SDK.
rect
Gibt die Größe und Position des Verknüpfungssteuerelements an. Es kann sich entweder um ein CRect-Objekt oder eine RECT-Struktur handeln.
pParentWnd
Gibt das übergeordnete Fenster des Verknüpfungssteuerelements an. Er darf nicht NULL sein.
Nid
Gibt die ID des Verknüpfungssteuerelements an.
Rückgabewert
TRUE, wenn die Initialisierung erfolgreich war; andernfalls FALSE.
Hinweise
Verwenden Sie CreateEx
anstelle von "Erstellen ", um erweiterte Windows-Stilkonstanten anzuwenden.
Die zweite Form der CreateEx
Methode ist veraltet. Verwenden Sie das erste Formular, das den lpszLinkMarkup-Parameter angibt.
CLinkCtrl::GetIdealHeight
Ruft die ideale Höhe des Verknüpfungssteuerelements ab.
int GetIdealHeight() const;
Rückgabewert
Die ideale Höhe des Steuerelements in Pixeln.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht LM_GETIDEALHEIGHT, wie im Windows SDK beschrieben.
CLinkCtrl::GetIdealSize
Berechnet die bevorzugte Höhe des Verknüpfungstexts für das aktuelle Verknüpfungssteuerelement, je nach der angegebenen Breite der Verknüpfung.
int GetIdealSize(
int cxMaxWidth,
SIZE* pSize) const;
Parameter
cxMaxWidth
[in] Die maximale Breite des Links in Pixel.
pSize
[out] Ein Zeiger auf eine Windows SIZE-Struktur . Wenn diese Methode zurückgegeben wird, enthält das cy-Element der SIZE
Struktur die ideale Linktexthöhe für die Linktextbreite, die von cxMaxWidth angegeben wird. Das Cx-Element der Struktur enthält die Verknüpfungstextbreite, die tatsächlich benötigt wird.
Rückgabewert
Die bevorzugte Höhe des Linktexts in Pixeln. Der Rückgabewert ist identisch mit dem Wert des cy-Elements der SIZE
Struktur.
Hinweise
Ein Beispiel für die GetIdealSize
Methode finden Sie im Beispiel in CLinkCtrl::Create.
Diese Methode sendet die LM_GETIDEALSIZE Nachricht, die im Windows SDK beschrieben wird.
CLinkCtrl::GetItem
Ruft die Zustände und Attribute eines Linksteuerelementelements ab.
BOOL GetItem(PLITEM pItem) const;
Parameter
pItem
Ein Zeiger auf eine LITEM-Struktur zum Empfangen von Elementinformationen.
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht LM_GETITEM, wie im Windows SDK beschrieben.
CLinkCtrl::GetItemID
Ruft die ID eines Linksteuerelementelements ab.
BOOL GetItemID(
int iLink,
CString& strID) const;
BOOL GetItemID(
int iLink,
LPWSTR szID,
UINT cchID) const;
Parameter
iLink
Der Index eines Verknüpfungssteuerelementelements.
strID
Ein CStringT-Objekt , das die ID des angegebenen Elements enthält.
szID
Eine mit Null beendete Zeichenfolge, die die ID des angegebenen Elements enthält.
cchID
Die Größe in Zeichen des szID-Puffers .
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweis
Diese Funktion gibt auch FALSE zurück, wenn der Puffer von szID oder strID kleiner als MAX_LINKID_TEXT ist.
Hinweise
Ruft die ID eines bestimmten Linksteuerelementelements ab. Weitere Informationen finden Sie in der Win32-Meldung LM_GETITEM im Windows SDK.
CLinkCtrl::GetItemState
Ruft den Status des Verknüpfungssteuerelementelements ab.
BOOL GetItemState(
int iLink,
UINT* pnState,
UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED) const;
Parameter
iLink
Der Index eines Verknüpfungssteuerelementelements.
pnState
Der Wert des angegebenen Statuselements.
stateMask
Kombination von Flags, die beschreiben, welches Zustandselement abgerufen werden soll. Eine Liste der Werte finden Sie in der Beschreibung des state
Elements in der LITEM-Struktur . Zulässige Elemente sind mit den zulässigen state
Elementen identisch.
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Ruft den Wert des angegebenen Statuselements eines bestimmten Verknüpfungssteuerelementelements ab. Weitere Informationen finden Sie in der Win32-Meldung LM_GETITEM im Windows SDK.
CLinkCtrl::GetItemUrl
Ruft die URL ab, die durch das Linksteuerelementelement dargestellt wird.
BOOL GetItemUrl(
int iLink,
CString& strUrl) const;
BOOL GetItemUrl(
int iLink,
LPWSTR szUrl,
UINT cchUrl) const;
Parameter
iLink
Der Index eines Verknüpfungssteuerelementelements.
strUrl
Ein CStringT-Objekt , das die durch das angegebene Element dargestellte URL enthält
szUrl
Eine mit Null beendete Zeichenfolge, die die durch das angegebene Element dargestellte URL enthält
cchUrl
Die Größe in Zeichen des szURL-Puffers .
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweis
Diese Funktion gibt auch FALSE zurück, wenn der Puffer von szUrl oder strUrl kleiner als MAX_LINKID_TEXT ist.
Hinweise
Ruft die URL ab, die durch das angegebene Linksteuerelementelement dargestellt wird. Weitere Informationen finden Sie in der Win32-Meldung LM_GETITEM im Windows SDK.
CLinkCtrl::HitTest
Bestimmt, ob der Benutzer auf den angegebenen Link geklickt hat.
BOOL HitTest(PLHITTESTINFO phti) const;
Parameter
phti
Zeigen Sie auf eine LHITTESTINFO
Struktur, die alle Informationen zum Link enthält, auf den der Benutzer geklickt hat.
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht LM_HITTEST, wie im Windows SDK beschrieben.
CLinkCtrl::SetItem
Legt die Zustände und Attribute eines Linksteuerelementelements fest.
BOOL SetItem(PLITEM pItem);
Parameter
pItem
Ein Zeiger auf eine LITEM-Struktur , die die festzulegenden Informationen enthält.
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht LM_SETITEM, wie im Windows SDK beschrieben.
CLinkCtrl::SetItemID
Ruft die ID eines Linksteuerelementelements ab.
BOOL SetItemID(
int iLink,
LPCWSTR szID);
Parameter
iLink
Der Index eines Verknüpfungssteuerelementelements.
szID
Eine mit Null beendete Zeichenfolge, die die ID des angegebenen Elements enthält.
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Legt die ID eines bestimmten Linksteuerelementelements fest. Weitere Informationen finden Sie in der Win32-Meldung LM_SETITEM im Windows SDK.
CLinkCtrl::SetItemState
Ruft den Status des Verknüpfungssteuerelementelements ab.
BOOL SetItemState(
int iLink,
UINT state,
UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED);
Parameter
iLink
Der Index eines Verknüpfungssteuerelementelements.
pnState
Der Wert des angegebenen Zustandselements, das festgelegt wird.
stateMask
Kombination von Kennzeichen, die das festgelegte Statuselement beschreiben. Eine Liste der Werte finden Sie in der Beschreibung des state
Elements in der LITEM-Struktur . Zulässige Elemente sind mit den zulässigen state
Elementen identisch.
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Legt den Wert des angegebenen Statuselements eines bestimmten Linksteuerelementelements fest. Weitere Informationen finden Sie in der Win32-Meldung LM_SETITEM im Windows SDK.
CLinkCtrl::SetItemUrl
Legt die URL fest, die durch das Linksteuerelementelement dargestellt wird.
BOOL SetItemUrl(
int iLink,
LPCWSTR szUrl);
Parameter
iLink
Der Index eines Verknüpfungssteuerelementelements.
szUrl
Eine mit Null beendete Zeichenfolge, die die durch das angegebene Element dargestellte URL enthält
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Legt die URL fest, die durch das angegebene Linksteuerelementelement dargestellt wird. Weitere Informationen finden Sie in der Win32-Meldung LM_SETITEM im Windows SDK.