[MFC, C++] CListCtrl - przełączenie do trybu wirtualnego
Logowanie
Start
Aktualności
Kursy
Dokumentacja
Artykuły
Forum
CodeDesk
Panel użytkownika
Nazwa użytkownika:
Hasło:
Zaloguj
Nie masz jeszcze konta?
Zarejestruj się!
Zapomniałem hasła
»
Forum
»
Programowanie
»
[C, C++] Biblioteki
[MFC, C++] CListCtrl - przełączenie do trybu wirtualnego
Ostatnio zmodyfikowano 2013-07-21 02:16
Autor
Wiadomość
DejaVu
Temat założony przez niniejszego użytkownika
[MFC, C++] CListCtrl - przełączenie do trybu wirtualnego
» 2013-07-21 02:16:17
Aby przełączyć CListCtrl do trybu wirtualnego należy:
Ustawić styl LVS_OWNERDATA dla kontrolki CListCtrl (jeżeli kontrolka jest ładowana przy pomocy DDX_Control to koniecznym jest, aby styl został nadany w pliku resource *.rc).
Ustawić liczbę elementów za pomocą metody SetItemCountEx:
C/C++
m_ctrlListaRekordow
.
SetItemCountEx
(
1024
)
;
Jeżeli styl LVS_OWNERDATA nie będzie ustawiony prawidłowo dla kontrolki, to zajdzie ASSERT, a wywołanie omawianej linijki nie spowoduje żadnych zmian.
Przechwycić notyfikację:
C/C++
IMPLEMENT_DYNCREATE
(
CVirtualListCtrl
,
CListCtrl
)
BEGIN_MESSAGE_MAP
(
CVirtualListCtrl
,
CListCtrl
)
ON_NOTIFY_REFLECT
(
LVN_GETDISPINFO
,
OdczytajWirtualnyWiersz
)
END_MESSAGE_MAP
()
afx_msg
void
CVirtualListCtrl
::
OdczytajWirtualnyWiersz
(
NMHDR
*
pNMHDR
,
LRESULT
*
pResult
)
{
LV_DISPINFO
*
pDispInfo
=
reinterpret_cast
<
LV_DISPINFO
*>
(
pNMHDR
)
;
LV_ITEM
&
wiersz
=
pDispInfo
->
item
;
if
(
wiersz
.
mask
&
LVIF_TEXT
)
{
switch
(
wiersz
.
iSubItem
)
{
case
0
:
lstrcpy
(
wiersz
.
pszText
,
"abc"
)
;
break
;
default
:
lstrcpy
(
wiersz
.
pszText
,
"domyślna wartość"
)
;
break
;
}
}
*
pResult
=
0
;
}
Powiązane informacje:
[MFC, C++] Własna kontrolka na CFormView
[MFC, C++] Zmiana stylu kontrolki przechwyconej za pomocą DDX_Control
P-88472
« 1 »
Strona 1 z 1
»
Forum
»
Programowanie
»
[C, C++] Biblioteki
Regulamin
© Wszelkie prawa zastrzeżone 2005-2024