Condividi tramite


Classe CLinkCtrl

Fornisce la funzionalità del controllo SysLink comune di Windows.

Sintassi

class CLinkCtrl : public CWnd

Membri

Costruttori pubblici

Nome Descrizione
CLinkCtrl::CLinkCtrl Costruisce un oggetto CLinkCtrl.

Metodi pubblici

Nome Descrizione
CLinkCtrl::Create Crea un controllo collegamento e lo collega a un CLinkCtrl oggetto .
CLinkCtrl::CreateEx Crea un controllo collegamento con stili estesi e lo associa a un CLinkCtrl oggetto .
CLinkCtrl::GetIdealHeight Recupera l'altezza ideale del controllo collegamento.
CLinkCtrl::GetIdealSize Calcola l'altezza preferita del testo del collegamento per il controllo collegamento corrente, a seconda della larghezza specificata del collegamento.
CLinkCtrl::GetItem Recupera gli stati e gli attributi di un elemento del controllo collegamento.
CLinkCtrl::GetItemID Recupera l'ID di un elemento del controllo collegamento.
CLinkCtrl::GetItemState Recupera lo stato dell'elemento del controllo collegamento.
CLinkCtrl::GetItemUrl Recupera l'URL rappresentato dall'elemento del controllo collegamento.
CLinkCtrl::HitTest Determina se l'utente ha fatto clic sul collegamento specificato.
CLinkCtrl::SetItem Imposta gli stati e gli attributi di un elemento del controllo collegamento.
CLinkCtrl::SetItemID Imposta l'ID di un elemento del controllo collegamento.
CLinkCtrl::SetItemState Imposta lo stato dell'elemento del controllo collegamento.
CLinkCtrl::SetItemUrl Imposta l'URL rappresentato dall'elemento del controllo collegamento.

Osservazioni:

Un "controllo collegamento" offre un modo pratico per incorporare collegamenti ipertestuali in una finestra. Il controllo effettivo è una finestra che esegue il rendering del testo contrassegnato e avvia le applicazioni appropriate quando l'utente fa clic su un collegamento incorporato. Più collegamenti sono supportati all'interno di un controllo e possono essere accessibili da un indice in base zero.

Questo controllo (e quindi la CLinkCtrl classe ) è disponibile solo per i programmi in esecuzione in Windows XP e versioni successive.

Per altre informazioni, vedere Controllo SysLink in Windows SDK.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CLinkCtrl

Requisiti

Intestazione: afxcmn.h

CLinkCtrl::CLinkCtrl

Costruisce un oggetto CLinkCtrl.

CLinkCtrl();

CLinkCtrl::Create

Crea un controllo collegamento e lo collega a un CLinkCtrl oggetto .

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);

Parametri

lpszLinkMarkup
Puntatore a una stringa con terminazione zero che contiene il testo contrassegnato per la visualizzazione. Per altre informazioni, vedere la sezione "Markup and Link Access" nell'argomento Overview of SysLink Controls.For more information, see the section "Markup and Link Access" in the topic Overview of SysLink Controls.

dwStyle
Specifica lo stile del controllo collegamento. Applicare qualsiasi combinazione di stili di controllo. Per altre informazioni, vedere Stili di controllo comuni in Windows SDK .

rect
Specifica le dimensioni e la posizione del controllo collegamento. Può essere un oggetto CRect o una struttura RECT .

pParentWnd
Specifica la finestra padre del controllo collegamento. Non deve essere NULL.

nID
Specifica l'ID del controllo collegamento.

Valore restituito

TRUE se l'inizializzazione ha avuto esito positivo; in caso contrario FALSE.

Osservazioni:

Si costruisce un CLinkCtrl oggetto in due passaggi. Prima di tutto, chiamare il costruttore e quindi chiamare Create, che crea il controllo collegamento e lo collega all'oggetto CLinkCtrl . Se si desidera usare gli stili di windows estesi con il controllo, chiamare CLinkCtrl::CreateEx invece di Create.

La seconda forma del Create metodo è deprecata. Usare il primo modulo che specifica il parametro lpszLinkMarkup .

Esempio

Il primo esempio di codice definisce due variabili, denominate m_Link1 e m_Link2, usate per accedere a due controlli di collegamento.

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;

Nell'esempio di codice seguente viene creato un controllo collegamento in base alla posizione di un altro controllo collegamento. Il caricatore di risorse crea il primo controllo collegamento all'avvio dell'applicazione. Quando l'applicazione immette il metodo OnInitDialog, si crea il secondo controllo collegamento relativo alla posizione del primo controllo collegamento. Ridimensionare quindi il secondo controllo collegamento per adattarlo al testo visualizzato.

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

Crea un controllo collegamento con stili estesi e lo associa a un CLinkCtrl oggetto .

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);

Parametri

lpszLinkMarkup
Puntatore a una stringa con terminazione zero che contiene il testo contrassegnato per la visualizzazione. Per altre informazioni, vedere la sezione "Markup and Link Access" nell'argomento Overview of SysLink Controls.For more information, see the section "Markup and Link Access" in the topic Overview of SysLink Controls.

dwExStyle
Specifica lo stile esteso del controllo collegamento. Per un elenco degli stili di Windows estesi, vedere il parametro dwExStyle per CreateWindowEx in Windows SDK.

dwStyle
Specifica lo stile del controllo collegamento. Applicare qualsiasi combinazione di stili di controllo. Per altre informazioni, vedere Stili di controllo comuni in Windows SDK.

rect
Specifica le dimensioni e la posizione del controllo collegamento. Può essere un oggetto CRect o una struttura RECT .

pParentWnd
Specifica la finestra padre del controllo collegamento. Non deve essere NULL.

nID
Specifica l'ID del controllo collegamento.

Valore restituito

TRUE se l'inizializzazione ha avuto esito positivo; in caso contrario FALSE.

Osservazioni:

Usare CreateEx invece di Crea per applicare costanti di stile Windows estese.

La seconda forma del CreateEx metodo è deprecata. Usare il primo modulo che specifica il parametro lpszLinkMarkup .

CLinkCtrl::GetIdealHeight

Recupera l'altezza ideale del controllo collegamento.

int GetIdealHeight() const;

Valore restituito

Altezza ideale del controllo, in pixel.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 LM_GETIDEALHEIGHT, come descritto in Windows SDK.

CLinkCtrl::GetIdealSize

Calcola l'altezza preferita del testo del collegamento per il controllo collegamento corrente, a seconda della larghezza specificata del collegamento.

int GetIdealSize(
    int cxMaxWidth,
    SIZE* pSize) const;

Parametri

cxMaxWidth
[in] Larghezza massima del collegamento, espressa in pixel.

pSize
[out] Puntatore a una struttura Windows SIZE . Quando termina, il membro cy della SIZE struttura contiene l'altezza del testo del collegamento ideale per la larghezza del testo del collegamento specificata da cxMaxWidth. Il membro cx della struttura contiene la larghezza del testo del collegamento effettivamente necessaria.

Valore restituito

Altezza preferita del testo del collegamento, in pixel. Il valore restituito corrisponde al valore del membro cy della SIZE struttura.

Osservazioni:

Per un esempio del GetIdealSize metodo , vedere l'esempio in CLinkCtrl::Create.

Questo metodo invia il messaggio di LM_GETIDEALSIZE descritto in Windows SDK.

CLinkCtrl::GetItem

Recupera gli stati e gli attributi di un elemento del controllo collegamento.

BOOL GetItem(PLITEM pItem) const;

Parametri

pItem
Puntatore a una struttura LITEM per ricevere informazioni sull'elemento.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 LM_GETITEM, come descritto in Windows SDK.

CLinkCtrl::GetItemID

Recupera l'ID di un elemento del controllo collegamento.

BOOL GetItemID(
    int iLink,
    CString& strID) const;

BOOL GetItemID(
    int iLink,
    LPWSTR szID,
    UINT cchID) const;

Parametri

iLink
Indice di un elemento del controllo collegamento.

strID
Oggetto CStringT contenente l'ID dell'elemento specificato.

szID
Stringa con terminazione Null contenente l'ID dell'elemento specificato.

cchID
Dimensione in caratteri del buffer szID .

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Nota

Questa funzione restituisce ANCHE FALSE se il buffer di szID o strID è minore di MAX_LINKID_TEXT.

Osservazioni:

Recupera l'ID di un elemento di controllo collegamento specifico. Per altre informazioni, vedere il messaggio Win32 LM_GETITEM in Windows SDK.

CLinkCtrl::GetItemState

Recupera lo stato dell'elemento del controllo collegamento.

BOOL GetItemState(
    int iLink,
    UINT* pnState,
    UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED) const;

Parametri

iLink
Indice di un elemento del controllo collegamento.

pnState
Valore dell'elemento di stato specificato.

stateMask
Combinazione di flag che descrivono l'elemento di stato da ottenere. Per un elenco di valori, vedere la descrizione del state membro nella struttura LITEM . Gli elementi consentiti sono identici a quelli consentiti in state.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Recupera il valore dell'elemento di stato specificato di un elemento del controllo collegamento specifico. Per altre informazioni, vedere il messaggio Win32 LM_GETITEM in Windows SDK.

CLinkCtrl::GetItemUrl

Recupera l'URL rappresentato dall'elemento del controllo collegamento.

BOOL GetItemUrl(
    int iLink,
    CString& strUrl) const;

BOOL GetItemUrl(
    int iLink,
    LPWSTR szUrl,
    UINT cchUrl) const;

Parametri

iLink
Indice di un elemento del controllo collegamento.

strUrl
Oggetto CStringT contenente l'URL rappresentato dall'elemento specificato

szUrl
Stringa con terminazione Null contenente l'URL rappresentato dall'elemento specificato

cchUrl
Dimensione in caratteri del buffer szURL .

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Nota

Questa funzione restituisce anche FALSE se il buffer di szUrl o strUrl è minore di MAX_LINKID_TEXT.

Osservazioni:

Recupera l'URL rappresentato dall'elemento del controllo collegamento specificato. Per altre informazioni, vedere il messaggio Win32 LM_GETITEM in Windows SDK.

CLinkCtrl::HitTest

Determina se l'utente ha fatto clic sul collegamento specificato.

BOOL HitTest(PLHITTESTINFO phti) const;

Parametri

phti
Puntatore a una LHITTESTINFO struttura contenente informazioni sul collegamento selezionato dall'utente.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 LM_HITTEST, come descritto in Windows SDK.

CLinkCtrl::SetItem

Imposta gli stati e gli attributi di un elemento del controllo collegamento.

BOOL SetItem(PLITEM pItem);

Parametri

pItem
Puntatore a una struttura LITEM contenente le informazioni da impostare.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 LM_SETITEM, come descritto in Windows SDK.

CLinkCtrl::SetItemID

Recupera l'ID di un elemento del controllo collegamento.

BOOL SetItemID(
    int iLink,
    LPCWSTR szID);

Parametri

iLink
Indice di un elemento del controllo collegamento.

szID
Stringa con terminazione Null contenente l'ID dell'elemento specificato.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Imposta l'ID di un elemento di controllo collegamento specifico. Per altre informazioni, vedere il messaggio Win32 LM_SETITEM in Windows SDK.

CLinkCtrl::SetItemState

Recupera lo stato dell'elemento del controllo collegamento.

BOOL SetItemState(
    int iLink,
    UINT state,
    UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED);

Parametri

iLink
Indice di un elemento del controllo collegamento.

pnState
Valore dell'elemento di stato specificato impostato.

stateMask
Combinazione di flag che descrivono l'elemento di stato impostato. Per un elenco di valori, vedere la descrizione del state membro nella struttura LITEM . Gli elementi consentiti sono identici a quelli consentiti in state.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Imposta il valore dell'elemento di stato specificato di un elemento del controllo collegamento specifico. Per altre informazioni, vedere il messaggio Win32 LM_SETITEM in Windows SDK.

CLinkCtrl::SetItemUrl

Imposta l'URL rappresentato dall'elemento del controllo collegamento.

BOOL SetItemUrl(
    int iLink,
    LPCWSTR szUrl);

Parametri

iLink
Indice di un elemento del controllo collegamento.

szUrl
Stringa con terminazione Null contenente l'URL rappresentato dall'elemento specificato

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Imposta l'URL rappresentato dall'elemento del controllo collegamento specificato. Per altre informazioni, vedere il messaggio Win32 LM_SETITEM in Windows SDK.

Vedi anche

Grafico della gerarchia
Classe CWnd