Sdílet prostřednictvím


CLinkCtrl – třída

Poskytuje funkce běžného ovládacího prvku SysLink systému Windows.

Syntaxe

class CLinkCtrl : public CWnd

Členové

Veřejné konstruktory

Jméno popis
CLinkCtrl::CLinkCtrl CLinkCtrl Vytvoří objekt.

Veřejné metody

Jméno popis
CLinkCtrl::Create Vytvoří ovládací prvek propojení a připojí ho k objektu CLinkCtrl .
CLinkCtrl::CreateEx Vytvoří ovládací prvek propojení s rozšířenými styly a připojí ho k objektu CLinkCtrl .
CLinkCtrl::GetIdealHeight Načte ideální výšku ovládacího prvku propojení.
CLinkCtrl::GetIdealSize Vypočítá upřednostňovanou výšku textu odkazu pro aktuální ovládací prvek propojení v závislosti na zadané šířce odkazu.
CLinkCtrl::GetItem Načte stavy a atributy ovládacího prvku odkazu.
CLinkCtrl::GetItemID Načte ID položky ovládacího prvku odkazu.
CLinkCtrl::GetItemState Načte stav položky ovládacího prvku odkazu.
CLinkCtrl::GetItemUrl Načte adresu URL reprezentovanou položkou ovládacího prvku odkazu.
CLinkCtrl::HitTest Určuje, zda uživatel klikl na zadaný odkaz.
CLinkCtrl::SetItem Nastaví stavy a atributy ovládacího prvku odkazu.
CLinkCtrl::SetItemID Nastaví ID položky ovládacího prvku odkazu.
CLinkCtrl::SetItemState Nastaví stav položky ovládacího prvku propojení.
CLinkCtrl::SetItemUrl Nastaví adresu URL reprezentovanou položkou ovládacího prvku odkazu.

Poznámky

Ovládací prvek odkazu poskytuje pohodlný způsob vložení hypertextových odkazů do okna. Skutečný ovládací prvek je okno, které vykreslí označený text a spustí příslušné aplikace, když uživatel klikne na vložený odkaz. V rámci jednoho ovládacího prvku je podporováno více odkazů a je možné k němu přistupovat pomocí indexu založeného na nule.

Tento ovládací prvek (a proto CLinkCtrl třída) je k dispozici pouze pro programy spuštěné v systému Windows XP a novější.

Další informace naleznete v tématu SysLink Control v sadě Windows SDK.

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

Cwnd

CLinkCtrl

Požadavky

Hlavička: afxcmn.h

CLinkCtrl::CLinkCtrl

CLinkCtrl Vytvoří objekt.

CLinkCtrl();

CLinkCtrl::Create

Vytvoří ovládací prvek propojení a připojí ho k objektu CLinkCtrl .

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

Parametry

lpszLinkMarkup
Ukazatel na řetězec s nulovým ukončením, který obsahuje označený text, který se má zobrazit. Další informace najdete v části Revize a odkazování v tématu Přehled ovládacích prvků SysLink.

dwStyle
Určuje styl ovládacího prvku odkazu. Použijte libovolnou kombinaci stylů ovládacích prvků. Další informace najdete v části Běžné styly ovládacích Windows SDK prvků.

Rect
Určuje velikost a umístění ovládacího prvku propojení. Může to být objekt CRect nebo struktura RECT .

pParentWnd
Určuje nadřazené okno ovládacího prvku propojení. Nesmí mít hodnotu NULL.

Nid
Určuje ID ovládacího prvku propojení.

Vrácená hodnota

TRUE, pokud inicializace byla úspěšná; jinak NEPRAVDA.

Poznámky

Objekt vytvoříte CLinkCtrl ve dvou krocích. Nejprve zavolejte konstruktor a potom volání Create, který vytvoří ovládací prvek propojení a připojí ho k objektu CLinkCtrl . Chcete-li použít rozšířené styly oken s ovládacím prvek, zavolejte CLinkCtrl::CreateEx místo Create.

Druhá forma Create metody je zastaralá. Použijte první formulář, který určuje parametr lpszLinkMarkup .

Příklad

První příklad kódu definuje dvě proměnné pojmenované m_Link1 a m_Link2, které se používají pro přístup ke dvěma ovládacím prvkům propojení.

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;

Následující příklad kódu vytvoří jeden ovládací prvek propojení na základě umístění jiného ovládacího prvku propojení. Zavaděč prostředků vytvoří první ovládací prvek propojení při spuštění aplikace. Když aplikace zadá metodu OnInitDialog, vytvoříte druhý ovládací prvek propojení vzhledem k pozici prvního ovládacího prvku propojení. Potom změníte velikost druhého ovládacího prvku odkazu tak, aby odpovídal textu, který se zobrazí.

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

Vytvoří ovládací prvek propojení s rozšířenými styly a připojí ho k objektu CLinkCtrl .

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

Parametry

lpszLinkMarkup
Ukazatel na řetězec s nulovým ukončením, který obsahuje označený text, který se má zobrazit. Další informace najdete v části Revize a odkazování v tématu Přehled ovládacích prvků SysLink.

dwExStyle
Určuje rozšířený styl ovládacího prvku propojení. Seznam rozšířených stylů Windows naleznete v části dwExStyle parametr pro CreateWindowEx v sadě Windows SDK.

dwStyle
Určuje styl ovládacího prvku odkazu. Použijte libovolnou kombinaci stylů ovládacích prvků. Další informace naleznete v tématu Běžné styly ovládacích prvků v sadě Windows SDK.

Rect
Určuje velikost a umístění ovládacího prvku propojení. Může to být objekt CRect nebo struktura RECT .

pParentWnd
Určuje nadřazené okno ovládacího prvku propojení. Nesmí mít hodnotu NULL.

Nid
Určuje ID ovládacího prvku propojení.

Vrácená hodnota

TRUE, pokud inicializace byla úspěšná; jinak NEPRAVDA.

Poznámky

Místo příkazu Vytvořit použijte CreateEx rozšířené konstanty stylu Windows.

Druhá forma CreateEx metody je zastaralá. Použijte první formulář, který určuje parametr lpszLinkMarkup .

CLinkCtrl::GetIdealHeight

Načte ideální výšku ovládacího prvku propojení.

int GetIdealHeight() const;

Vrácená hodnota

Ideální výška ovládacího prvku v pixelech.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 LM_GETIDEALHEIGHT, jak je popsáno v sadě Windows SDK.

CLinkCtrl::GetIdealSize

Vypočítá upřednostňovanou výšku textu odkazu pro aktuální ovládací prvek propojení v závislosti na zadané šířce odkazu.

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

Parametry

cxMaxWidth
[v] Maximální šířka odkazu v pixelech.

pSize
[ven] Ukazatel na strukturu Velikost systému Windows. Když tato metoda vrátí, cy člen SIZE struktury obsahuje ideální výšku textu odkazu pro šířku textu odkazu, která je určena cxMaxWidth. Člen cx struktury obsahuje šířku textu odkazu, která je skutečně potřebná.

Vrácená hodnota

Upřednostňovaná výška textu odkazu v pixelech Vrácená hodnota je stejná jako hodnota člena SIZE cy struktury.

Poznámky

Příklad metody najdete v příkladu GetIdealSize v CLinkCtrl::Create.

Tato metoda odešle LM_GETIDEALSIZE zprávu, která je popsaná v sadě Windows SDK.

CLinkCtrl::GetItem

Načte stavy a atributy ovládacího prvku odkazu.

BOOL GetItem(PLITEM pItem) const;

Parametry

pItem
Ukazatel na strukturu LITEM pro příjem informací o položce.

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 LM_GETITEM, jak je popsáno v sadě Windows SDK.

CLinkCtrl::GetItemID

Načte ID položky ovládacího prvku odkazu.

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

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

Parametry

Ilink
Index položky ovládacího prvku odkazu.

strID
A CStringT objekt obsahující ID zadané položky.

szID
Řetězec ukončený hodnotou null obsahující ID zadané položky.

cchID
Velikost ve znaky vyrovnávací paměti szID .

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámka

Tato funkce také vrátí hodnotu FALSE, pokud je vyrovnávací paměť szID nebo strID menší než MAX_LINKID_TEXT.

Poznámky

Načte ID konkrétní položky ovládacího prvku odkazu. Další informace najdete ve zprávě Win32 LM_GETITEM v sadě Windows SDK.

CLinkCtrl::GetItemState

Načte stav položky ovládacího prvku odkazu.

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

Parametry

Ilink
Index položky ovládacího prvku odkazu.

pnState
Hodnota zadané položky stavu.

stateMask
Kombinace příznaků popisujících, které položky stavu se mají získat. Seznam hodnot najdete v popisu state člena ve struktuře LITEM . Povolené položky jsou identické s povolenými položkami v state.

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámky

Načte hodnotu zadané položky stavu konkrétní položky ovládacího prvku propojení. Další informace najdete ve zprávě Win32 LM_GETITEM v sadě Windows SDK.

CLinkCtrl::GetItemUrl

Načte adresu URL reprezentovanou položkou ovládacího prvku odkazu.

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

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

Parametry

Ilink
Index položky ovládacího prvku odkazu.

strUrl
Objekt CStringT obsahující adresu URL reprezentovanou zadanou položkou

szUrl
Řetězec ukončený hodnotou null obsahující adresu URL reprezentovanou zadanou položkou

cchUrl
Velikost znaků vyrovnávací paměti szURL .

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámka

Tato funkce také vrátí hodnotu FALSE, pokud je vyrovnávací paměť szUrl nebo strUrl menší než MAX_LINKID_TEXT.

Poznámky

Načte adresu URL reprezentovanou zadanou položkou ovládacího prvku odkazu. Další informace najdete ve zprávě Win32 LM_GETITEM v sadě Windows SDK.

CLinkCtrl::HitTest

Určuje, zda uživatel klikl na zadaný odkaz.

BOOL HitTest(PLHITTESTINFO phti) const;

Parametry

Phti
Ukazatel na LHITTESTINFO strukturu obsahující všechny informace o odkazu, na který uživatel klikl.

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 LM_HITTEST, jak je popsáno v sadě Windows SDK.

CLinkCtrl::SetItem

Nastaví stavy a atributy ovládacího prvku odkazu.

BOOL SetItem(PLITEM pItem);

Parametry

pItem
Ukazatel na strukturu LITEM obsahující informace, které chcete nastavit.

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 LM_SETITEM, jak je popsáno v sadě Windows SDK.

CLinkCtrl::SetItemID

Načte ID položky ovládacího prvku odkazu.

BOOL SetItemID(
    int iLink,
    LPCWSTR szID);

Parametry

Ilink
Index položky ovládacího prvku odkazu.

szID
Řetězec ukončený hodnotou null obsahující ID zadané položky.

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámky

Nastaví ID konkrétní položky ovládacího prvku odkazu. Další informace naleznete ve zprávě Win32 LM_SETITEM v sadě Windows SDK.

CLinkCtrl::SetItemState

Načte stav položky ovládacího prvku odkazu.

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

Parametry

Ilink
Index položky ovládacího prvku odkazu.

pnState
Hodnota zadané položky stavu, která je nastavena.

stateMask
Kombinace příznaků popisujících nastavení položky stavu Seznam hodnot najdete v popisu state člena ve struktuře LITEM . Povolené položky jsou identické s povolenými položkami v state.

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámky

Nastaví hodnotu zadané položky stavu konkrétní položky ovládacího prvku propojení. Další informace naleznete ve zprávě Win32 LM_SETITEM v sadě Windows SDK.

CLinkCtrl::SetItemUrl

Nastaví adresu URL reprezentovanou položkou ovládacího prvku odkazu.

BOOL SetItemUrl(
    int iLink,
    LPCWSTR szUrl);

Parametry

Ilink
Index položky ovládacího prvku odkazu.

szUrl
Řetězec ukončený hodnotou null obsahující adresu URL reprezentovanou zadanou položkou

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Poznámky

Nastaví adresu URL reprezentovanou zadanou položkou ovládacího prvku odkazu. Další informace naleznete ve zprávě Win32 LM_SETITEM v sadě Windows SDK.

Viz také

Graf hierarchie
CWnd – třída