Kelas CLinkCtrl
Menyediakan fungsionalitas kontrol SysLink umum Windows.
Sintaks
class CLinkCtrl : public CWnd
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CLinkCtrl::CLinkCtrl | Membuat CLinkCtrl objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CLinkCtrl::Create | Membuat kontrol tautan dan melampirkannya ke CLinkCtrl objek. |
CLinkCtrl::CreateEx | Membuat kontrol tautan dengan gaya yang diperluas dan melampirkannya ke CLinkCtrl objek. |
CLinkCtrl::GetIdealHeight | Mengambil tinggi ideal kontrol tautan. |
CLinkCtrl::GetIdealSize | Menghitung tinggi teks tautan pilihan untuk kontrol tautan saat ini, tergantung pada lebar tautan yang ditentukan. |
CLinkCtrl::GetItem | Mengambil status dan atribut item kontrol tautan. |
CLinkCtrl::GetItemID | Mengambil ID item kontrol tautan. |
CLinkCtrl::GetItemState | Mengambil status item kontrol tautan. |
CLinkCtrl::GetItemUrl | Mengambil URL yang diwakili oleh item kontrol tautan. |
CLinkCtrl::HitTest | Menentukan apakah pengguna mengklik tautan yang ditentukan. |
CLinkCtrl::SetItem | Mengatur status dan atribut item kontrol tautan. |
CLinkCtrl::SetItemID | Mengatur ID item kontrol tautan. |
CLinkCtrl::SetItemState | Mengatur status item kontrol tautan. |
CLinkCtrl::SetItemUrl | Mengatur URL yang diwakili oleh item kontrol tautan. |
Keterangan
"Kontrol tautan" menyediakan cara mudah untuk menyematkan tautan hiperteks di jendela. Kontrol aktual adalah jendela yang merender teks yang ditandai dan meluncurkan aplikasi yang sesuai saat pengguna mengklik tautan yang disematkan. Beberapa tautan didukung dalam satu kontrol dan dapat diakses oleh indeks berbasis nol.
Kontrol ini (dan oleh karena itu CLinkCtrl
kelas) hanya tersedia untuk program yang berjalan di bawah Windows XP dan yang lebih baru.
Untuk informasi selengkapnya, lihat Kontrol SysLink di Windows SDK.
Hierarki Warisan
CLinkCtrl
Persyaratan
Header: afxcmn.h
CLinkCtrl::CLinkCtrl
Membuat CLinkCtrl
objek.
CLinkCtrl();
CLinkCtrl::Create
Membuat kontrol tautan dan melampirkannya ke CLinkCtrl
objek.
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
Penunjuk ke string nol dihentikan yang berisi teks yang ditandai untuk ditampilkan. Untuk informasi selengkapnya, lihat bagian "Markup dan Link Access" di topik Gambaran Umum Kontrol SysLink.
dwStyle
Menentukan gaya kontrol tautan. Terapkan kombinasi gaya kontrol apa pun. Lihat Gaya Kontrol Umum di Windows SDK
untuk informasi selengkapnya.
rect
Menentukan ukuran dan posisi kontrol tautan. Ini bisa berupa objek CRect atau struktur RECT .
pParentWnd
Menentukan jendela induk kontrol tautan. Ini tidak boleh NULL.
Nid
Menentukan ID kontrol tautan.
Tampilkan Nilai
TRUE jika inisialisasi berhasil; jika tidak FALSE.
Keterangan
Anda membuat CLinkCtrl
objek dalam dua langkah. Pertama, panggil konstruktor lalu panggil Create
, yang membuat kontrol tautan dan melampirkannya ke CLinkCtrl
objek. Jika Anda ingin menggunakan gaya jendela yang diperluas dengan kontrol Anda, panggil CLinkCtrl::CreateEx alih-alih Create
.
Bentuk kedua metode Create
tidak digunakan lagi. Gunakan formulir pertama yang menentukan parameter lpszLinkMarkup .
Contoh
Contoh kode pertama mendefinisikan dua variabel, bernama m_Link1
dan m_Link2
, yang digunakan untuk mengakses dua kontrol tautan.
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;
Contoh kode berikutnya membuat satu kontrol tautan berdasarkan lokasi kontrol tautan lain. Pemuat sumber daya membuat kontrol tautan pertama saat aplikasi Anda dimulai. Saat aplikasi Anda memasuki metode OnInitDialog, Anda membuat kontrol tautan kedua relatif terhadap posisi kontrol tautan pertama. Kemudian Anda mengubah ukuran kontrol tautan kedua agar pas dengan teks yang ditampilkannya.
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
Membuat kontrol tautan dengan gaya yang diperluas dan melampirkannya ke CLinkCtrl
objek.
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
Penunjuk ke string nol dihentikan yang berisi teks yang ditandai untuk ditampilkan. Untuk informasi selengkapnya, lihat bagian "Markup dan Link Access" di topik Gambaran Umum Kontrol SysLink.
dwExStyle
Menentukan gaya kontrol tautan yang diperluas. Untuk daftar gaya Windows yang diperluas, lihat parameter dwExStyle untuk CreateWindowEx di Windows SDK.
dwStyle
Menentukan gaya kontrol tautan. Terapkan kombinasi gaya kontrol apa pun. Untuk informasi selengkapnya, lihat Gaya Kontrol Umum di Windows SDK.
rect
Menentukan ukuran dan posisi kontrol tautan. Ini bisa berupa objek CRect atau struktur RECT .
pParentWnd
Menentukan jendela induk kontrol tautan. Ini tidak boleh NULL.
Nid
Menentukan ID kontrol tautan.
Tampilkan Nilai
TRUE jika inisialisasi berhasil; jika tidak FALSE.
Keterangan
Gunakan CreateEx
alih-alih Buat untuk menerapkan konstanta gaya Windows yang diperluas.
Bentuk kedua metode CreateEx
tidak digunakan lagi. Gunakan formulir pertama yang menentukan parameter lpszLinkMarkup .
CLinkCtrl::GetIdealHeight
Mengambil tinggi ideal kontrol tautan.
int GetIdealHeight() const;
Tampilkan Nilai
Tinggi kontrol yang ideal, dalam piksel.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 LM_GETIDEALHEIGHT, seperti yang dijelaskan dalam Windows SDK.
CLinkCtrl::GetIdealSize
Menghitung tinggi teks tautan pilihan untuk kontrol tautan saat ini, tergantung pada lebar tautan yang ditentukan.
int GetIdealSize(
int cxMaxWidth,
SIZE* pSize) const;
Parameter
cxMaxWidth
[di] Lebar maksimum tautan, dalam piksel.
pSize
[out] Penunjuk ke struktur Ukuran Windows. Ketika metode ini kembali, anggota cy struktur SIZE
berisi tinggi teks tautan yang ideal untuk lebar teks tautan yang ditentukan oleh cxMaxWidth. Anggota cx struktur berisi lebar teks tautan yang benar-benar diperlukan.
Tampilkan Nilai
Tinggi teks tautan yang disukai, dalam piksel. Nilai yang dikembalikan sama dengan nilai anggota cy struktur SIZE
.
Keterangan
Untuk contoh GetIdealSize
metode , lihat contoh di CLinkCtrl::Create.
Metode ini mengirim pesan LM_GETIDEALSIZE , yang dijelaskan di Windows SDK.
CLinkCtrl::GetItem
Mengambil status dan atribut item kontrol tautan.
BOOL GetItem(PLITEM pItem) const;
Parameter
pItem
Penunjuk ke struktur LITEM untuk menerima informasi item.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 LM_GETITEM, seperti yang dijelaskan dalam Windows SDK.
CLinkCtrl::GetItemID
Mengambil ID item kontrol tautan.
BOOL GetItemID(
int iLink,
CString& strID) const;
BOOL GetItemID(
int iLink,
LPWSTR szID,
UINT cchID) const;
Parameter
iLink
Indeks item kontrol tautan.
strID
Objek CStringT yang berisi ID item yang ditentukan.
szID
String null-terminated yang berisi ID item yang ditentukan.
cchID
Ukuran dalam karakter buffer szID .
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Catatan
Fungsi ini juga mengembalikan FALSE jika buffer szID atau strID lebih kecil dari MAX_LINKID_TEXT.
Keterangan
Mengambil ID item kontrol tautan tertentu. Untuk informasi selengkapnya, lihat pesan Win32 LM_GETITEM di Windows SDK.
CLinkCtrl::GetItemState
Mengambil status item kontrol tautan.
BOOL GetItemState(
int iLink,
UINT* pnState,
UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED) const;
Parameter
iLink
Indeks item kontrol tautan.
pnState
Nilai item status yang ditentukan.
stateMask
Kombinasi bendera yang menjelaskan item status mana yang akan diperoleh. Untuk daftar nilai, lihat deskripsi state
anggota dalam struktur LITEM . Item yang diizinkan identik dengan item yang diizinkan di state
.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Mengambil nilai item status yang ditentukan dari item kontrol tautan tertentu. Untuk informasi selengkapnya, lihat pesan Win32 LM_GETITEM di Windows SDK.
CLinkCtrl::GetItemUrl
Mengambil URL yang diwakili oleh item kontrol tautan.
BOOL GetItemUrl(
int iLink,
CString& strUrl) const;
BOOL GetItemUrl(
int iLink,
LPWSTR szUrl,
UINT cchUrl) const;
Parameter
iLink
Indeks item kontrol tautan.
strUrl
Objek CStringT yang berisi URL yang diwakili oleh item yang ditentukan
szUrl
String null-terminated yang berisi URL yang diwakili oleh item yang ditentukan
cchUrl
Ukuran dalam karakter buffer szURL .
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Catatan
Fungsi ini juga mengembalikan FALSE jika buffer szUrl atau strUrl lebih kecil dari MAX_LINKID_TEXT.
Keterangan
Mengambil URL yang diwakili oleh item kontrol tautan yang ditentukan. Untuk informasi selengkapnya, lihat pesan Win32 LM_GETITEM di Windows SDK.
CLinkCtrl::HitTest
Menentukan apakah pengguna mengklik tautan yang ditentukan.
BOOL HitTest(PLHITTESTINFO phti) const;
Parameter
phti
Penunjuk ke struktur yang LHITTESTINFO
berisi informasi apa pun tentang tautan yang diklik pengguna.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 LM_HITTEST, seperti yang dijelaskan dalam Windows SDK.
CLinkCtrl::SetItem
Mengatur status dan atribut item kontrol tautan.
BOOL SetItem(PLITEM pItem);
Parameter
pItem
Penunjuk ke struktur LITEM yang berisi informasi yang akan diatur.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 LM_SETITEM, seperti yang dijelaskan dalam Windows SDK.
CLinkCtrl::SetItemID
Mengambil ID item kontrol tautan.
BOOL SetItemID(
int iLink,
LPCWSTR szID);
Parameter
iLink
Indeks item kontrol tautan.
szID
String null-terminated yang berisi ID item yang ditentukan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Mengatur ID item kontrol tautan tertentu. Untuk informasi selengkapnya, lihat pesan Win32 LM_SETITEM di Windows SDK.
CLinkCtrl::SetItemState
Mengambil status item kontrol tautan.
BOOL SetItemState(
int iLink,
UINT state,
UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED);
Parameter
iLink
Indeks item kontrol tautan.
pnState
Nilai item status yang ditentukan sedang diatur.
stateMask
Kombinasi bendera yang menjelaskan item status yang diatur. Untuk daftar nilai, lihat deskripsi state
anggota dalam struktur LITEM . Item yang diizinkan identik dengan item yang diizinkan di state
.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Mengatur nilai item status yang ditentukan dari item kontrol tautan tertentu. Untuk informasi selengkapnya, lihat pesan Win32 LM_SETITEM di Windows SDK.
CLinkCtrl::SetItemUrl
Mengatur URL yang diwakili oleh item kontrol tautan.
BOOL SetItemUrl(
int iLink,
LPCWSTR szUrl);
Parameter
iLink
Indeks item kontrol tautan.
szUrl
String null-terminated yang berisi URL yang diwakili oleh item yang ditentukan
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Mengatur URL yang diwakili oleh item kontrol tautan yang ditentukan. Untuk informasi selengkapnya, lihat pesan Win32 LM_SETITEM di Windows SDK.