Freigeben über


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

CObject

CCmdTarget

CWnd

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_Link2den 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 stateElementen 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 stateElementen 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.

Siehe auch

Hierarchiediagramm
CWnd-Klasse