CListCtrl
Sınıf
Her biri bir simge (resim listesinden) ve bir etiketten oluşan bir öğe koleksiyonunu görüntüleyen "liste görünümü denetiminin" işlevselliğini kapsüller.
Sözdizimi
class CListCtrl : public CWnd
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CListCtrl::CListCtrl |
Bir CListCtrl nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CListCtrl::ApproximateViewRect |
Liste görünümü denetiminin öğelerini görüntülemek için gereken genişliği ve yüksekliği belirler. |
CListCtrl::Arrange |
Kılavuzdaki öğeleri hizalar. |
CListCtrl::CancelEditLabel |
Öğe metni düzenleme işlemini iptal eder. |
CListCtrl::Create |
Bir liste denetimi oluşturur ve bunu bir CListCtrl nesneye ekler. |
CListCtrl::CreateDragImage |
Belirtilen bir öğe için sürükleyerek resim listesi oluşturur. |
CListCtrl::CreateEx |
Belirtilen Windows genişletilmiş stilleriyle bir liste denetimi oluşturur ve bunu bir CListCtrl nesneye ekler. |
CListCtrl::DeleteAllItems |
Denetimdeki tüm öğeleri siler. |
CListCtrl::DeleteColumn |
Liste görünümü denetiminden bir sütunu siler. |
CListCtrl::DeleteItem |
Denetimden bir öğeyi siler. |
CListCtrl::DrawItem |
Sahip çizim denetiminin görsel bir yönü değiştiğinde çağrılır. |
CListCtrl::EditLabel |
Bir öğenin metnini yerinde düzenlemeye başlar. |
CListCtrl::EnableGroupView |
Liste görünümü denetimindeki öğelerin grup olarak görüntülenip görüntülenmeyeceğini etkinleştirir veya devre dışı bırakır. |
CListCtrl::EnsureVisible |
Bir öğenin görünür olmasını sağlar. |
CListCtrl::FindItem |
Belirtilen özelliklere sahip bir liste görünümü öğesini arar. |
CListCtrl::GetBkColor |
Liste görünümü denetiminin arka plan rengini alır. |
CListCtrl::GetBkImage |
Liste görünümü denetiminin geçerli arka plan görüntüsünü alır. |
CListCtrl::GetCallbackMask |
Liste görünümü denetimi için geri çağırma maskesini alır. |
CListCtrl::GetCheck |
Bir öğeyle ilişkili durum görüntüsünün geçerli görüntüleme durumunu alır. |
CListCtrl::GetColumn |
Denetimin sütununun özniteliklerini alır. |
CListCtrl::GetColumnOrderArray |
Liste görünümü denetiminin sütun sırasını (soldan sağa) alır. |
CListCtrl::GetColumnWidth |
Rapor görünümünde veya liste görünümünde bir sütunun genişliğini alır. |
CListCtrl::GetCountPerPage |
Liste görünümü denetimine dikey olarak sığabilecek öğe sayısını hesaplar. |
CListCtrl::GetEditControl |
Öğenin metnini düzenlemek için kullanılan düzenleme denetiminin tutamacını alır. |
CListCtrl::GetEmptyText |
Geçerli liste görünümü denetimi boşsa görüntülenecek dizeyi alır. |
CListCtrl::GetExtendedStyle |
Liste görünümü denetiminin geçerli genişletilmiş stillerini alır. |
CListCtrl::GetFirstSelectedItemPosition |
Liste görünümü denetiminde seçilen ilk liste görünümü öğesinin konumunu alır. |
CListCtrl::GetFocusedGroup |
Geçerli liste görünümü denetiminde klavye odağı olan grubu alır. |
CListCtrl::GetGroupCount |
Geçerli liste görünümü denetimindeki grup sayısını alır. |
CListCtrl::GetGroupInfo |
Liste görünümü denetiminin belirtilen grubunun bilgilerini alır. |
CListCtrl::GetGroupInfoByIndex |
Geçerli liste görünümü denetiminde belirtilen grup hakkındaki bilgileri alır. |
CListCtrl::GetGroupMetrics |
Bir grubun ölçümlerini alır. |
CListCtrl::GetGroupRect |
Geçerli liste görünümü denetiminde belirtilen bir grup için sınırlayıcı dikdörtgeni alır. |
CListCtrl::GetGroupState |
Geçerli liste görünümü denetiminde belirtilen grubun durumunu alır. |
CListCtrl::GetHeaderCtrl |
Liste görünümü denetiminin üst bilgi denetimini alır. |
CListCtrl::GetHotCursor |
Liste görünümü denetimi için etkin izleme etkinleştirildiğinde kullanılan imleci alır. |
CListCtrl::GetHotItem |
İmlecin altında bulunan liste görünümü öğesini alır. |
CListCtrl::GetHoverTime |
Liste görünümü denetiminin geçerli vurgulama zamanını alır. |
CListCtrl::GetImageList |
Liste görünümü öğelerini çizmek için kullanılan resim listesinin tutamacını alır. |
CListCtrl::GetInsertMark |
Ekleme işaretinin geçerli konumunu alır. |
CListCtrl::GetInsertMarkColor |
Ekleme işaretinin geçerli rengini alır. |
CListCtrl::GetInsertMarkRect |
Ekleme noktasını sınırlayan dikdörtgeni alır. |
CListCtrl::GetItem |
Liste görünümü öğesinin özniteliklerini alır. |
CListCtrl::GetItemCount |
Liste görünümü denetimindeki öğe sayısını alır. |
CListCtrl::GetItemData |
Bir öğeyle ilişkili uygulamaya özgü değeri alır. |
CListCtrl::GetItemIndexRect |
Geçerli liste görünümü denetimindeki bir alt öğenin tümü veya bir bölümü için sınırlayıcı dikdörtgeni alır. |
CListCtrl::GetItemPosition |
Liste görünümü öğesinin konumunu alır. |
CListCtrl::GetItemRect |
Bir öğenin sınırlayıcı dikdörtgenini alır. |
CListCtrl::GetItemSpacing |
Geçerli liste görünümü denetimindeki öğeler arasındaki aralığı hesaplar. |
CListCtrl::GetItemState |
Liste görünümü öğesinin durumunu alır. |
CListCtrl::GetItemText |
Liste görünümü öğesinin veya alt öğesinin metnini alır. |
CListCtrl::GetNextItem |
Belirtilen özelliklere sahip ve belirli bir öğeyle belirtilen ilişkisi olan bir liste görünümü öğesini arar. |
CListCtrl::GetNextItemIndex |
Geçerli liste görünümü denetiminde belirtilen özellik kümesine sahip öğenin dizinini alır. |
CListCtrl::GetNextSelectedItem |
Liste görünümü öğesi konumunun dizinini ve yineleme için bir sonraki seçili liste görünümü öğesinin konumunu alır. |
CListCtrl::GetNumberOfWorkAreas |
Liste görünümü denetimi için geçerli çalışma alanı sayısını alır. |
CListCtrl::GetOrigin |
Liste görünümü denetimi için geçerli görünüm kaynağını alır. |
CListCtrl::GetOutlineColor |
Liste görünümü denetiminin kenarlığı rengini alır. |
CListCtrl::GetSelectedColumn |
Liste denetiminde seçili durumdaki sütunun dizinini alır. |
CListCtrl::GetSelectedCount |
Liste görünümü denetimindeki seçili öğelerin sayısını alır. |
CListCtrl::GetSelectionMark |
Liste görünümü denetiminin seçim işaretini alır. |
CListCtrl::GetStringWidth |
Belirli bir dizenin tümünü görüntülemek için gereken en düşük sütun genişliğini belirler. |
CListCtrl::GetSubItemRect |
Liste görünümü denetimindeki bir öğenin sınırlayıcı dikdörtgenini alır. |
CListCtrl::GetTextBkColor |
Liste görünümü denetiminin metin arka plan rengini alır. |
CListCtrl::GetTextColor |
Liste görünümü denetiminin metin rengini alır. |
CListCtrl::GetTileInfo |
Liste görünümü denetimindeki bir kutucuk hakkındaki bilgileri alır. |
CListCtrl::GetTileViewInfo |
Kutucuk görünümünde liste görünümü denetimi hakkındaki bilgileri alır. |
CListCtrl::GetToolTips |
Liste görünümü denetiminin araç ipuçlarını görüntülemek için kullandığı araç ipucu denetimini alır. |
CListCtrl::GetTopIndex |
En üstteki görünür öğenin dizinini alır. |
CListCtrl::GetView |
Liste görünümü denetiminin görünümünü alır. |
CListCtrl::GetViewRect |
Liste görünümü denetimindeki tüm öğelerin sınırlayıcı dikdörtgenini alır. |
CListCtrl::GetWorkAreas |
Liste görünümü denetiminin geçerli çalışma alanlarını alır. |
CListCtrl::HasGroup |
Liste görünümü denetiminin belirtilen gruba sahip olup olmadığını belirler. |
CListCtrl::HitTest |
Hangi liste görünümü öğesinin belirtilen konumda olduğunu belirler. |
CListCtrl::InsertColumn |
Liste görünümü denetimine yeni bir sütun ekler. |
CListCtrl::InsertGroup |
Liste görünümü denetimine bir grup ekler. |
CListCtrl::InsertGroupSorted |
Belirtilen grubu sıralı bir grup listesine ekler. |
CListCtrl::InsertItem |
Liste görünümü denetimine yeni bir öğe ekler. |
CListCtrl::InsertMarkHitTest |
Belirtilen noktaya en yakın ekleme noktasını alır. |
CListCtrl::IsGroupViewEnabled |
Liste görünümü denetimi için grup görünümünün etkinleştirilip etkinleştirilmediğini belirler. |
CListCtrl::IsItemVisible |
Geçerli liste görünümü denetiminde belirtilen bir öğenin görünür olup olmadığını gösterir. |
CListCtrl::MapIDToIndex |
Geçerli liste görünümü denetimindeki bir öğenin benzersiz kimliğini dizinle eşler. |
CListCtrl::MapIndexToID |
Geçerli liste görünümü denetimindeki bir öğenin dizinini benzersiz bir kimlikle eşler. |
CListCtrl::MoveGroup |
Belirtilen grubu taşır. |
CListCtrl::MoveItemToGroup |
Belirtilen grubu liste görünümü denetiminin belirtilen sıfır tabanlı dizinine taşır. |
CListCtrl::RedrawItems |
Liste görünümü denetimini bir öğe aralığını yeniden boyamaya zorlar. |
CListCtrl::RemoveAllGroups |
Liste görünümü denetiminden tüm grupları kaldırır. |
CListCtrl::RemoveGroup |
Belirtilen grubu liste görünümü denetiminden kaldırır. |
CListCtrl::Scroll |
Liste görünümü denetiminin içeriğini kaydırıyor. |
CListCtrl::SetBkColor |
Liste görünümü denetiminin arka plan rengini ayarlar. |
CListCtrl::SetBkImage |
Liste görünümü denetiminin geçerli arka plan görüntüsünü ayarlar. |
CListCtrl::SetCallbackMask |
Liste görünümü denetimi için geri çağırma maskesini ayarlar. |
CListCtrl::SetCheck |
Bir öğeyle ilişkili durum görüntüsünün geçerli görüntüleme durumunu ayarlar. |
CListCtrl::SetColumn |
Liste görünümü sütununun özniteliklerini ayarlar. |
CListCtrl::SetColumnOrderArray |
Liste görünümü denetiminin sütun sırasını (soldan sağa) ayarlar. |
CListCtrl::SetColumnWidth |
Rapor görünümünde veya liste görünümünde bir sütunun genişliğini değiştirir. |
CListCtrl::SetExtendedStyle |
Liste görünümü denetiminin geçerli genişletilmiş stillerini ayarlar. |
CListCtrl::SetGroupInfo |
Liste görünümü denetiminin belirtilen grubu için bilgileri ayarlar. |
CListCtrl::SetGroupMetrics |
Liste görünümü denetiminin grup ölçümlerini ayarlar. |
CListCtrl::SetHotCursor |
Liste görünümü denetimi için etkin izleme etkinleştirildiğinde kullanılan imleci ayarlar. |
CListCtrl::SetHotItem |
Liste görünümü denetiminin geçerli sık erişimli öğesini ayarlar. |
CListCtrl::SetHoverTime |
Liste görünümü denetiminin geçerli vurgulama zamanını ayarlar. |
CListCtrl::SetIconSpacing |
Liste görünümü denetimindeki simgeler arasındaki aralığı ayarlar. |
CListCtrl::SetImageList |
Liste görünümü denetimine resim listesi atar. |
CListCtrl::SetInfoTip |
Araç ipucu metnini ayarlar. |
CListCtrl::SetInsertMark |
Ekleme noktasını tanımlı konuma ayarlar. |
CListCtrl::SetInsertMarkColor |
Ekleme noktasının rengini ayarlar. |
CListCtrl::SetItem |
Liste görünümü öğesinin özniteliklerinin bazılarını veya tümünü ayarlar. |
CListCtrl::SetItemCount |
Çok sayıda öğe eklemek için bir liste görünümü denetimi hazırlar. |
CListCtrl::SetItemCountEx |
Sanal liste görünümü denetimi için öğe sayısını ayarlar. |
CListCtrl::SetItemData |
Öğenin uygulamaya özgü değerini ayarlar. |
CListCtrl::SetItemIndexState |
Geçerli liste görünümü denetimindeki bir öğenin durumunu ayarlar. |
CListCtrl::SetItemPosition |
Öğeyi liste görünümü denetiminde belirtilen konuma taşır. |
CListCtrl::SetItemState |
Liste görünümü denetimindeki bir öğenin durumunu değiştirir. |
CListCtrl::SetItemText |
Liste görünümü öğesinin veya alt öğesinin metnini değiştirir. |
CListCtrl::SetOutlineColor |
Liste görünümü denetiminin kenarlığı rengini ayarlar. |
CListCtrl::SetSelectedColumn |
Liste görünümü denetiminin seçili sütununu ayarlar. |
CListCtrl::SetSelectionMark |
Liste görünümü denetiminin seçim işaretini ayarlar. |
CListCtrl::SetTextBkColor |
Liste görünümü denetimindeki metnin arka plan rengini ayarlar. |
CListCtrl::SetTextColor |
Liste görünümü denetiminin metin rengini ayarlar. |
CListCtrl::SetTileInfo |
Liste görünümü denetiminin kutucuğunun bilgilerini ayarlar. |
CListCtrl::SetTileViewInfo |
Liste görünümü denetiminin kutucuk görünümünde kullandığı bilgileri ayarlar. |
CListCtrl::SetToolTips |
Liste görünümü denetiminin araç ipuçlarını görüntülemek için kullanacağı araç ipucu denetimini ayarlar. |
CListCtrl::SetView |
Liste görünümü denetiminin görünümünü ayarlar. |
CListCtrl::SetWorkAreas |
Simgelerin liste görünümü denetiminde görüntülenebileceği alanı ayarlar. |
CListCtrl::SortGroups |
Liste görünümü denetiminin gruplarını kullanıcı tanımlı bir işlevle sıralar. |
CListCtrl::SortItems |
Uygulama tanımlı karşılaştırma işlevini kullanarak liste görünümü öğelerini sıralar. |
CListCtrl::SortItemsEx |
Uygulama tanımlı karşılaştırma işlevini kullanarak liste görünümü öğelerini sıralar. |
CListCtrl::SubItemHitTest |
Varsa, hangi liste görünümü öğesinin belirli bir konumda olduğunu belirler. |
CListCtrl::Update |
Denetimi belirtilen bir öğeyi yeniden boyamaya zorlar. |
Açıklamalar
Bir simge ve etikete ek olarak, her öğede simgenin ve etiketin sağındaki sütunlarda görüntülenen bilgiler bulunabilir. Bu denetim (ve dolayısıyla CListCtrl
sınıfı) yalnızca Windows 95/98 ve Windows NT sürüm 3.51 ve üzeri altında çalışan programlarda kullanılabilir.
Aşağıda sınıfına kısa bir genel bakış sağlanır CListCtrl
. Ayrıntılı, kavramsal bir tartışma için bkz . Kullanma CListCtrl
ve Denetimler.
Görünümler
Liste görünümü denetimleri, içeriklerini "görünümler" olarak adlandırılan dört farklı şekilde görüntüleyebilir.
Simge görünümü
Her öğe, altında etiket bulunan tam boyutlu bir simge (32 x 32 piksel) olarak görünür. Kullanıcı, öğeleri liste görünümü penceresindeki herhangi bir konuma sürükleyebilirsiniz.
Küçük simge görünümü
Her öğe, etiketi sağda olan küçük bir simge (16 x 16 piksel) olarak görünür. Kullanıcı, öğeleri liste görünümü penceresindeki herhangi bir konuma sürükleyebilirsiniz.
Liste görünümü
Her öğe, sağ tarafında etiket bulunan küçük bir simge olarak görünür. Öğeler sütunlar halinde düzenlenir ve liste görünümü penceresinde herhangi bir konuma sürüklenemez.
Rapor görünümü
Her öğe, sağda sütunlar halinde düzenlenmiş ek bilgilerle birlikte kendi satırında görünür. En soldaki sütun küçük simgeyi ve etiketi, izleyen sütunlar ise uygulama tarafından belirtilen alt öğeleri içerir. Katıştırılmış üst bilgi denetimi (sınıf
CHeaderCtrl
) bu sütunları uygular. Rapor görünümündeki üst bilgi denetimi ve sütunlar hakkında daha fazla bilgi için bkz . KullanmaCListCtrl
: Denetime Sütun Ekleme (Rapor Görünümü).
Geçerli görünümü denetimin geçerli liste görünümünün stili belirler. Bu stiller ve kullanımları hakkında daha fazla bilgi için bkz . Kullanma CListCtrl
: Liste Denetim Stillerini Değiştirme.
Genişletilmiş Stiller
Standart liste stillerine ek olarak, sınıf CListCtrl
zenginleştirilmiş işlevsellik sağlayan büyük bir genişletilmiş stil kümesini destekler. Bu işleve bazı örnekler şunlardır:
Vurgulama seçimi
Etkinleştirildiğinde, imleç belirli bir süre boyunca öğenin üzerinde kaldığında öğenin otomatik olarak seçilmesine izin verir.
Sanal liste görünümleri
Etkinleştirildiğinde denetimin en fazla DWORD öğesini desteklemesine izin verir. Bu, öğe verilerini yönetme yükünü uygulamaya yerleştirerek mümkündür. Öğe seçimi ve odak bilgileri dışında, tüm öğe bilgileri uygulama tarafından yönetilmelidir. Daha fazla bilgi için bkz . Kullanma
CListCtrl
: Sanal Liste Denetimleri.Bir ve iki tıklamayla etkinleştirme
Etkinleştirildiğinde, etkin izlemeye (öğe metninin otomatik vurgulanması) ve vurgulanan öğenin bir veya iki tıklamayla etkinleştirilmesine izin verir.
Sütun sıralamasını sürükleyip bırakma
Etkinleştirildiğinde, liste görünümü denetimindeki sütunların sürükle ve bırak yeniden sıralanmasına izin verir. Yalnızca rapor görünümünde kullanılabilir.
Bu yeni genişletilmiş stilleri kullanma hakkında bilgi için bkz . Kullanma CListCtrl
: Liste Denetim Stillerini Değiştirme.
Öğeler ve Alt Öğeler
Liste görünümü denetimindeki her öğe bir simgeden (resim listesinden), etiketten, geçerli durumdan ve uygulama tanımlı değerden ("öğe verileri" olarak adlandırılır) oluşur. Her öğeyle bir veya daha fazla alt öğe de ilişkilendirilebilir. "Alt öğe", rapor görünümünde bir öğenin simgesinin ve etiketinin sağındaki bir sütunda görüntülenebilen bir dizedir. Liste görünümü denetimindeki tüm öğeler aynı sayıda alt öğeye sahip olmalıdır.
Sınıfı CListCtrl
, bu öğeleri eklemek, silmek, bulmak ve değiştirmek için çeşitli işlevler sağlar. Daha fazla bilgi için bkz CListCtrl::GetItem
. , CListCtrl::InsertItem
ve CListCtrl::FindItem
, Denetime Öğe Ekleme ve Liste denetimlerinde Kaydırma, Düzenleme, Sıralama ve Bulma.
Varsayılan olarak, liste görünümü denetimi bir öğenin simgesini ve metin özniteliklerini depolamaktan sorumludur. Ancak, bu öğe türlerine ek olarak, sınıfı CListCtrl
"geri çağırma öğeleri" destekler. "Geri arama öğesi", denetimin yerine uygulamanın metin, simge veya her ikisini birden depoladığı bir liste görünümü öğesidir. Geri çağırma maskesi, uygulama tarafından hangi öğe özniteliklerinin (metin ve/veya simge) sağleneceğini belirtmek için kullanılır. Bir uygulama geri çağırma öğeleri kullanıyorsa, metin ve/veya simge özniteliklerini isteğe bağlı olarak sağlayabilmesi gerekir. Geri arama öğeleri, uygulamanız bu bilgilerin bazılarını zaten barındırdığında yararlıdır. Daha fazla bilgi için bkz . Kullanma CListCtrl
: Geri Arama Öğeleri ve Geri Çağırma Maskesi.
Resim Listeleri
Liste görünümü öğeleri için simgeler, üst bilgi öğesi görüntüleri ve uygulama tanımlı durumlar, oluşturduğunuz ve liste görünümü denetimine atadığınız birkaç görüntü listesinde (sınıfa CImageList
göre uygulanır) bulunur. Her liste görünümü denetiminin en fazla dört farklı resim listesi türü olabilir:
Büyük simge
Tam boyutlu simgeler için simge görünümünde kullanılır.
Küçük simge
Simge görünümünde kullanılan simgelerin daha küçük sürümleri için küçük simge, liste ve rapor görünümlerinde kullanılır.
Uygulama tanımlı durum
Uygulama tanımlı durumu belirtmek için öğenin simgesinin yanında görüntülenen durum görüntülerini içerir.
Üst bilgi öğesi
Her üst bilgi denetim öğesinde görüntülenen küçük resimler için rapor görünümünde kullanılır.
Varsayılan olarak, liste görünümü denetimi yok edildiğinde kendisine atanan görüntü listelerini yok eder; ancak geliştirici, uygulama tarafından belirlendiği gibi artık kullanılmadığında her görüntü listesini yok ederek bu davranışı özelleştirebilir. Daha fazla bilgi için bkz . Kullanma CListCtrl
: Liste Öğeleri ve Görüntü Listeleri.
Devralma Hiyerarşisi
CListCtrl
Gereksinimler
Üstbilgi: afxcmn.h
CListCtrl::ApproximateViewRect
Liste görünümü denetiminin öğelerini görüntülemek için gereken genişliği ve yüksekliği belirler.
CSize ApproximateViewRect(
CSize sz = CSize(-1, -1),
int iCount = -1) const;
Parametreler
sz
Denetimin piksel cinsinden önerilen boyutları. Boyutlar belirtilmezse, çerçeve denetimin geçerli genişlik veya yükseklik değerlerini kullanır.
iCount
Denetimde görüntülenecek öğe sayısı. Geçerli denetimdeki öğelerin toplam sayısını kullanmak için -1'i geçirin.
Dönüş Değeri
CSize
Öğeleri piksel cinsinden görüntülemek için gereken yaklaşık genişliği ve yüksekliği içeren bir nesne.
Açıklamalar
Bu üye işlevi, ListView_ApproximateViewRect
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
CListCtrl::Arrange
Simge görünümündeki öğeleri kılavuza hizalı olacak şekilde yeniden konumlandırır.
BOOL Arrange(UINT nCode);
Parametreler
nCode
Öğeler için hizalama stilini belirtir. Aşağıdaki değerlerden biri olabilir:
LVA_ALIGNLEFT
Öğeleri pencerenin sol kenarı boyunca hizalar.LVA_ALIGNTOP
Öğeleri pencerenin üst kenarı boyunca hizalar.LVA_DEFAULT
Öğeleri liste görünümünün geçerli hizalama stillerine (varsayılan değer) göre hizalar.LVA_SNAPTOGRID
Tüm simgeleri en yakın kılavuz konumuna yaslar.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
nCode
parametresi hizalama stilini belirtir.
Örnek
// Align all of the list view control items along the top
// of the window (the list view control must be in icon or
// small icon mode).
m_myListCtrl.Arrange(LVA_ALIGNTOP);
CListCtrl::CancelEditLabel
Öğe metni düzenleme işlemini iptal eder.
void CancelEditLabel();
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_CANCELEDITLABEL
işlevselliğine öykünmektedir.
CListCtrl::CListCtrl
Bir CListCtrl
nesne oluşturur.
CListCtrl();
CListCtrl::Create
Bir liste denetimi oluşturur ve bunu bir CListCtrl
nesneye ekler.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametreler
dwStyle
Liste denetiminin stilini belirtir. Denetime liste denetim stillerinin herhangi bir bileşimini uygulayın. Bu stillerin tam listesi için bkz. Windows SDK'sında Liste görünümü pencere stilleri. kullanarak SetExtendedStyle
bir denetime özgü genişletilmiş stilleri ayarlayın.
rect
Liste denetiminin boyutunu ve konumunu belirtir. Nesne veya RECT
yapı olabilirCRect
.
pParentWnd
Liste denetiminin üst penceresini ( genellikle bir CDialog
) belirtir. NULL olmamalıdır.
nID
Liste denetiminin kimliğini belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
İki adımda bir CListCtrl
oluşturursunuz. İlk olarak oluşturucuyu çağırın ve ardından liste görünümü denetimini oluşturan ve nesnesine ekleyen öğesini çağırınCreate
CListCtrl
.
Liste denetimi nesnesine genişletilmiş Windows stilleri uygulamak için yerine öğesini çağırın CreateEx
Create
.
Örnek
m_myListCtrl.Create(
WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);
CListCtrl::CreateEx
Bir denetim (alt pencere) oluşturur ve bunu nesnesiyle CListCtrl
ilişkilendirir.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametreler
dwExStyle
Oluşturulan denetimin genişletilmiş stilini belirtir. Genişletilmiş Windows stillerinin listesi için Windows SDK'sında için CreateWindowEx
dwExStyle parametresine bakın.
dwStyle
Liste denetiminin stilini belirtir. Denetime liste denetim stillerinin herhangi bir bileşimini uygulayın. Bu stillerin tam listesi için bkz . Windows SDK'sında Liste görünümü pencere stilleri .
rect
oluşturulacak pencerenin boyutunu ve konumunu istemci koordinatlarında pParentWnd
açıklayan bir RECT
yapı başvurusu.
pParentWnd
Denetimin üst öğesi olan pencere işaretçisi.
nID
Denetimin alt pencere kimliği.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Create
Yerine, Windows genişletilmiş stil ön biçimi WS_EX_
tarafından belirtilen genişletilmiş Windows stilleri uygulamak için kullanınCreateEx
.
CreateEx
tarafından dwExStyle
belirtilen genişletilmiş Windows stilleriyle denetimi oluşturur. Bir denetime özgü genişletilmiş stilleri ayarlamak için çağrısı yapın SetExtendedStyle
. Örneğin, WS_EX_CONTEXTHELP gibi stilleri ayarlamak için kullanın CreateEx
, ancak LVS_EX_FULLROWSELECT gibi stilleri ayarlamak için kullanın SetExtendedStyle
. Daha fazla bilgi için Windows SDK'sında Genişletilmiş Liste Görünümü Stilleri makalesinde açıklanan stiller konusuna bakın.
CListCtrl::CreateDragImage
tarafından nItem
belirtilen öğe için bir sürükleme görüntüsü listesi oluşturur.
CImageList* CreateDragImage(
int nItem,
LPPOINT lpPoint);
Parametreler
*nItem*
Sürüklenen resim listesi oluşturulacak öğenin dizini.
lpPoint
Görüntünün sol üst köşesinin başlangıç konumunu görünüm koordinatlarında alan bir POINT
yapının adresi.
Dönüş Değeri
Başarılı olursa, sürükle resim listesinin işaretçisi; aksi takdirde NULL
.
Açıklamalar
CImageList
Nesne kalıcıdır ve bittiğinde silmeniz gerekir. Örneğin:
CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);
// do something
delete pImageList;
CListCtrl::DeleteAllItems
Liste görünümü denetimindeki tüm öğeleri siler.
BOOL DeleteAllItems();
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);
CListCtrl::DeleteColumn
Liste görünümü denetiminden bir sütunu siler.
BOOL DeleteColumn(int nCol);
Parametreler
nCol
Silinecek sütunun dizini.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
m_myListCtrl.DeleteColumn(0);
}
CListCtrl::DeleteItem
Liste görünümü denetiminden bir öğeyi siler.
BOOL DeleteItem(int nItem);
Parametreler
nItem
Silinecek öğenin dizinini belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
int nCount = m_myListCtrl.GetItemCount();
// Delete all of the items from the list view control.
for (int i=0; i < nCount; i++)
{
m_myListCtrl.DeleteItem(0);
}
CListCtrl::DrawItem
Sahip çizim listesi görünümü denetiminin görsel bir yönü değiştiğinde çerçeve tarafından çağrılır.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Parametreler
lpDrawItemStruct
Gerekli çizim türü hakkında bilgi içeren bir yapıya uzun bir DRAWITEMSTRUCT
işaretçi.
Açıklamalar
Yapının itemAction
üyesi DRAWITEMSTRUCT
, gerçekleştirilecek çizim eylemini tanımlar.
Varsayılan olarak, bu üye işlevi hiçbir şey yapmaz. Sahip çizim CListCtrl
nesnesi için çizim uygulamak için bu üye işlevini geçersiz kılın.
Uygulama, bu üye işlevi sonlanmadan önce içinde lpDrawItemStruct
sağlanan görüntü bağlamı için seçilen tüm grafik cihaz arabirimi (GDI) nesnelerini geri yüklemelidir.
CListCtrl::EditLabel
Bir öğenin metnini yerinde düzenlemeye başlar.
CEdit* EditLabel(int nItem);
Parametreler
nItem
Düzenlenecek liste görünümü öğesinin dizini.
Dönüş Değeri
Başarılı olursa, öğe metnini düzenlemek için CEdit
kullanılan nesneye bir işaretçi; aksi takdirde NULL
.
Açıklamalar
Pencere stiline LVS_EDITLABELS
sahip bir liste görünümü denetimi, kullanıcının öğe etiketlerini yerinde düzenlemesine olanak tanır. Kullanıcı, odağı olan bir öğenin etiketine tıklayarak düzenlemeye başlar.
Belirtilen liste görünümü öğesinin metnini yerinde düzenlemeye başlamak için bu işlevi kullanın.
Örnek
// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();
// Show the edit control on the label of the first
// item in the list view control.
CEdit* pmyEdit = m_myListCtrl.EditLabel(1);
ASSERT(pmyEdit != NULL);
CListCtrl::EnableGroupView
Liste görünümü denetimindeki öğelerin grup olarak görüntülenip görüntülenmeyeceğini etkinleştirir veya devre dışı bırakır.
LRESULT EnableGroupView(BOOL fEnable);
Parametreler
fEnable
Görüntülenen öğeleri gruplandırmak için listview denetiminin etkinleştirilip etkinleştirilmeymeyeceğini gösterir. TRUE
gruplandırma özelliğini etkinleştirmek için; FALSE
öğesini seçin.
Dönüş Değeri
Aşağıdaki değerlerden birini döndürür:
- 0 Liste görünümü öğelerini grup olarak görüntüleme özelliği zaten etkin veya devre dışı.
- 1 Denetimin durumu başarıyla değiştirildi.
- -1 İşlem başarısız oldu.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_ENABLEGROUPVIEW
işlevselliğine öykünmektedir.
CListCtrl::EnsureVisible
Liste görünümü öğesinin en azından kısmen görünür olmasını sağlar.
BOOL EnsureVisible(
int nItem,
BOOL bPartialOK);
Parametreler
nItem
Görünür olacak liste görünümü öğesinin dizini.
bPartialOK
Kısmi görünürlüğün kabul edilebilir olup olmadığını belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Gerekirse liste görünümü denetimi kaydırılır. bPartialOK parametresi sıfırdan farklıysa, öğe kısmen görünür durumdaysa kaydırma gerçekleşmez.
Örnek
// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
m_myListCtrl.EnsureVisible(nCount-1, FALSE);
CListCtrl::FindItem
Belirtilen özelliklere sahip bir liste görünümü öğesini arar.
int FindItem(
LVFINDINFO* pFindInfo,
int nStart = -1) const;
Parametreler
pFindInfo
Aranacak öğe hakkında bilgi içeren bir LVFINDINFO
yapı işaretçisi.
nStart
Aramaya başlamak için öğenin dizini veya baştan başlamak için -1. nStart
öğesi - 1'e eşit değilse nStart
aramanın dışında tutulur.
Dönüş Değeri
Başarılı olursa öğenin dizini veya aksi takdirde -1.
Açıklamalar
pFindInfo
parametresi, liste görünümü öğesini aramak için kullanılan bilgileri içeren bir LVFINDINFO
yapıyı gösterir.
Örnek
LVFINDINFO info;
int nIndex;
info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = _T("item");
// Delete all of the items that begin with the string.
while ((nIndex = m_myListCtrl.FindItem(&info)) != -1)
{
m_myListCtrl.DeleteItem(nIndex);
}
CListCtrl::GetBkColor
Liste görünümü denetiminin arka plan rengini alır.
COLORREF GetBkColor() const;
Dönüş Değeri
RGB rengi belirtmek için kullanılan 32 bit değer.
Örnek
örneğine CListCtrl::SetBkColor
bakın.
CListCtrl::GetBkImage
Liste görünümü denetiminin geçerli arka plan görüntüsünü alır.
BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;
Parametreler
plvbkImage
Liste görünümünün geçerli arka plan görüntüsünü içeren bir LVBKIMAGE
yapı işaretçisi.
Dönüş Değeri
Başarılı olursa sıfır olmayan veya aksi takdirde sıfır döndürür.
Açıklamalar
Bu yöntem, ListView_GetBkImage
Windows SDK'sında açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
LVBKIMAGE bki;
// If no background image is set for the list view control use
// the Microsoft homepage image as the background image.
if (m_myListCtrl.GetBkImage(&bki) && (bki.ulFlags == LVBKIF_SOURCE_NONE))
{
m_myListCtrl.SetBkImage(
_T("https://www.microsoft.com/library/images/gifs/homepage/microsoft.gif"),
TRUE);
}
CListCtrl::GetCallbackMask
Liste görünümü denetimi için geri çağırma maskesini alır.
UINT GetCallbackMask() const;
Dönüş Değeri
Liste görünümü denetiminin geri çağırma maskesi.
Açıklamalar
"Geri arama öğesi", denetimin yerine uygulamanın metin, simge veya her ikisini birden depoladığı bir liste görünümü öğesidir. Liste görünümü denetimi bu öznitelikleri sizin için depolasa da, uygulamanız bu bilgilerin bazılarını zaten koruyorsa geri çağırma öğelerini kullanmak isteyebilirsiniz. Geri çağırma maskesi, uygulama tarafından hangi öğe durumu bitlerinin tutulacaklarını belirtir ve belirli bir öğe yerine denetimin tamamına uygulanır. Geri çağırma maskesi varsayılan olarak sıfırdır, yani denetim tüm öğe durumlarını izler. Bir uygulama geri çağırma öğeleri kullanıyorsa veya sıfır olmayan bir geri çağırma maskesi belirtiyorsa, isteğe bağlı olarak liste görünümü öğesi özniteliklerini sağlayabilmesi gerekir.
Örnek
örneğine CListCtrl::SetCallbackMask
bakın.
CListCtrl::GetCheck
Bir öğeyle ilişkili durum görüntüsünün geçerli görüntüleme durumunu alır.
BOOL GetCheck(int nItem) const;
Parametreler
nItem
Liste denetim öğesinin sıfır tabanlı dizini.
Dönüş Değeri
Öğe seçiliyse sıfır olmayan, aksi takdirde 0.
Açıklamalar
Bu üye işlevi, ListView_GetCheckState
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
örneğine CListCtrl::SetCheck
bakın.
CListCtrl::GetColumn
Liste görünümü denetiminin sütununun özniteliklerini alır.
BOOL GetColumn(
int nCol,
LVCOLUMN* pColumn) const;
Parametreler
nCol
Öznitelikleri alınacak sütunun dizini.
pColumn
Sütun hakkında alınacak ve alınacak bilgileri belirten bir LVCOLUMN
yapının adresi. Üye mask
, alınacak sütun özniteliklerini belirtir. mask
Üye LVCF_TEXT değerini belirtirse, pszText
üyenin öğe metnini alan arabelleğin adresini içermesi ve üyenin cchTextMax
arabellek boyutunu belirtmesi gerekir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Yapı, LVCOLUMN
rapor görünümündeki bir sütun hakkında bilgi içerir.
Örnek
LVCOLUMN col;
col.mask = LVCF_WIDTH;
// Double the column width of the first column.
if (m_myListCtrl.GetColumn(0, &col))
{
col.cx *= 2;
m_myListCtrl.SetColumn(0, &col);
}
CListCtrl::GetColumnOrderArray
Liste görünümü denetiminin sütun sırasını (soldan sağa) alır.
BOOL GetColumnOrderArray(
LPINT piArray,
int iCount = -1);
Parametreler
piArray
Liste görünümü denetimindeki sütunların dizin değerlerini içeren bir arabelleğe yönelik işaretçi. Arabellek, liste görünümü denetimindeki toplam sütun sayısını içerecek kadar büyük olmalıdır.
iCount
Liste görünümü denetimindeki sütun sayısı. Bu parametre -1 ise, sütun sayısı çerçeve tarafından otomatik olarak alınır.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Bu üye işlevi, ListView_GetColumnOrderArray
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
// Reverse the order of the columns in the list view control
// (i.e. make the first column the last, the last column
// the first, and so on...).
CHeaderCtrl* pHeaderCtrl = m_myListCtrl.GetHeaderCtrl();
if (pHeaderCtrl != NULL)
{
int nColumnCount = pHeaderCtrl->GetItemCount();
LPINT pnOrder = (LPINT) malloc(nColumnCount*sizeof(int));
ASSERT(pnOrder != NULL);
m_myListCtrl.GetColumnOrderArray(pnOrder, nColumnCount);
int i, j, nTemp;
for (i = 0, j = nColumnCount-1; i < j; i++, j--)
{
nTemp = pnOrder[i];
pnOrder[i] = pnOrder[j];
pnOrder[j] = nTemp;
}
m_myListCtrl.SetColumnOrderArray(nColumnCount, pnOrder);
free(pnOrder);
}
CListCtrl::GetColumnWidth
Rapor görünümünde veya liste görünümünde bir sütunun genişliğini alır.
int GetColumnWidth(int nCol) const;
Parametreler
nCol
Genişliği alınacak sütunun dizinini belirtir.
Dönüş Değeri
tarafından nCol
belirtilen sütunun piksel cinsinden genişliği.
Örnek
// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);
CListCtrl::GetCountPerPage
Liste görünümünde veya rapor görünümündeyken, liste görünümü denetiminin görünür alanına dikey olarak sığabilecek öğe sayısını hesaplar.
int GetCountPerPage() const;
Dönüş Değeri
Liste görünümünde veya rapor görünümündeyken liste görünümü denetiminin görünür alanına dikey olarak sığabilen öğe sayısı.
Örnek
örneğine CListCtrl::GetTopIndex
bakın.
CListCtrl::GetEditControl
Liste görünümü öğesinin metnini düzenlemek için kullanılan düzenleme denetiminin tutamacını alır.
CEdit* GetEditControl() const;
Dönüş Değeri
Başarılı olursa, öğe metnini düzenlemek için CEdit
kullanılan nesneye bir işaretçi; aksi takdirde NULL
.
Örnek
// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("custom label!");
// If possible, replace the text in the label edit control.
CEdit* pEdit = m_myListCtrl.GetEditControl();
if (pEdit != NULL)
{
pEdit->SetWindowText(lpszmyString);
}
CListCtrl::GetEmptyText
Geçerli liste görünümü denetimi boşsa görüntülenecek dizeyi alır.
CString GetEmptyText() const;
Dönüş Değeri
CString
Denetim boşsa görüntülenecek metni içeren bir.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETEMPTYTEXT
.
CListCtrl::GetExtendedStyle
Liste görünümü denetiminin geçerli genişletilmiş stillerini alır.
DWORD GetExtendedStyle();
Dönüş Değeri
Liste görünümü denetimi tarafından kullanılmakta olan genişletilmiş stillerin birleşimi. Bu genişletilmiş stillerin açıklayıcı listesi için Windows SDK'sında Genişletilmiş Liste Görünümü Stilleri makalesine bakın.
Açıklamalar
Bu üye işlevi, ListView_GetExtendedListViewStyle
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
örneğine CListCtrl::SetExtendedStyle
bakın.
CListCtrl::GetFirstSelectedItemPosition
Liste görünümü denetiminde seçilen ilk öğenin konumunu alır.
POSITION GetFirstSelectedItemPosition() const;
Dönüş Değeri
Hiçbir POSITION
öğe seçilmediyse yineleme NULL
veya nesne işaretçisi alma için kullanılabilecek bir değer.
Örnek
Aşağıdaki kod örneği bu işlevin kullanımını gösterir.
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}
CListCtrl::GetFocusedGroup
Geçerli liste görünümü denetiminde klavye odağı olan grubu alır.
int GetFocusedGroup() const;
Dönüş Değeri
Böyle bir grup varsa, durumu LVGS_FOCUSED
olan grubun dizini; aksi takdirde -1.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETFOCUSEDGROUP
. Daha fazla bilgi için yapı üyesinin state
LVGROUP
değerine bakınLVGS_FOCUSED
.
CListCtrl::GetGroupCount
Geçerli liste görünümü denetimindeki grup sayısını alır.
int GetGroupCount()const;
Dönüş Değeri
Liste görünümü denetimindeki grup sayısı.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETGROUPCOUNT
--> .
CListCtrl::GetGroupInfo
Liste görünümü denetiminin belirtilen grubunun bilgilerini alır.
int GetGroupInfo(
int iGroupId,
PLVGROUP pgrp) const;
Parametreler
iGroupId
Bilgileri alınacak grubun tanımlayıcısı.
pgrp
Belirtilen gruptaki LVGROUP
bilgileri içeren işaretçi.
Dönüş Değeri
Başarılı olursa grubun kimliğini veya aksi takdirde -1 değerini döndürür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETGROUPINFO
işlevselliğine öykünmektedir.
CListCtrl::GetGroupInfoByIndex
Geçerli liste görünümü denetiminde belirtilen grup hakkındaki bilgileri alır.
BOOL GetGroupInfoByIndex(
int iIndex,
PLVGROUP pGroup) const;
Parametreler
iIndex
[in] Bir grubun sıfır tabanlı dizini.
pGroup
[out] iIndex parametresi tarafından belirtilen grup hakkında bilgi alan bir LVGROUP yapısının işaretçisi. Çağıran, LVGROUP yapısının üyelerini başlatmakla sorumludur. Üyeyi cbSize
yapının boyutuna ve alınacak bilgileri belirtmek için üyenin bayraklarına mask
ayarlayın.
Dönüş Değeri
TRUE
bu yöntem başarılı olursa; aksi takdirde , FALSE
.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETGROUPINFOBYINDEX
--> .
Örnek
İlk kod örneği, m_listCtrl
geçerli liste görünümü denetimine erişmek için kullanılan bir değişkeni tanımlar. Bu değişken sonraki örnekte kullanılır.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Sonraki kod örneği yöntemini gösterir GetGroupInfoByIndex
. Bu kod örneğinin önceki bir bölümünde, rapor görünümünde "ClientID" ve "Grade" başlıklı iki sütunu görüntüleyen bir liste görünümü denetimi oluşturduk. Aşağıdaki kod örneği, böyle bir grup varsa dizini 0 olan grup hakkındaki bilgileri alır.
// GetGroupInfoByIndex
const int GROUP_HEADER_BUFFER_SIZE = 40;
// Initialize the structure
LVGROUP gInfo = {0};
gInfo.cbSize = sizeof(LVGROUP);
wchar_t wstrHeadGet[GROUP_HEADER_BUFFER_SIZE] = {0};
gInfo.cchHeader = GROUP_HEADER_BUFFER_SIZE;
gInfo.pszHeader = wstrHeadGet;
gInfo.mask = (LVGF_ALIGN | LVGF_STATE | LVGF_HEADER | LVGF_GROUPID);
gInfo.state = LVGS_NORMAL;
gInfo.uAlign = LVGA_HEADER_LEFT;
BOOL bRet = m_listCtrl.GetGroupInfoByIndex( 0, &gInfo );
if (bRet == TRUE) {
CString strHeader = CString( gInfo.pszHeader );
CString str;
str.Format(_T("Header: '%s'"), strHeader);
AfxMessageBox(str, MB_ICONINFORMATION);
}
else
{
AfxMessageBox(_T("No group information was retrieved."));
}
CListCtrl::GetGroupMetrics
Bir grubun ölçümlerini alır.
void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;
Parametreler
pGroupMetrics
Grup ölçümleri bilgilerini içeren bir LVGROUPMETRICS
işaretçi.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETGROUPMETRICS
işlevselliğine öykünmektedir.
CListCtrl::GetGroupRect
Geçerli liste görünümü denetiminde belirtilen bir grup için sınırlayıcı dikdörtgeni alır.
BOOL GetGroupRect(
int iGroupId,
LPRECT lpRect,
int iCoords = LVGGR_GROUP) const;
Parametreler
iGroupId
[in] Bir grup belirtir.
lpRect
[in, out] Bir RECT
yapı işaretçisi. Bu yöntem başarılı olursa, yapısı tarafından iGroupId
belirtilen grubun dikdörtgen koordinatlarını alır.
iCoords
[in] Alınacak dikdörtgen koordinatlarını belirtir. Şu değerlerden birini kullanın:
LVGGR_GROUP
- (Varsayılan) Genişletilmiş grubun tamamının koordinatları.LVGGR_HEADER
- Yalnızca üst bilginin koordinatları (daraltılmış grup).LVGGR_SUBSETLINK
- Yalnızca alt küme bağlantısının koordinatları (işaretleme alt kümesi).
Dönüş Değeri
TRUE
bu yöntem başarılı olursa; aksi takdirde , FALSE
.
Açıklamalar
Çağıran, parametresi tarafından işaret edilen yapıyı RECT
ayırmadan pRect
sorumludur.
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETGROUPRECT
.
Örnek
İlk kod örneği, m_listCtrl
geçerli liste görünümü denetimine erişmek için kullanılan bir değişkeni tanımlar. Bu değişken sonraki örnekte kullanılır.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Sonraki kod örneği yöntemini gösterir GetGroupRect
. Bu kod örneğinin önceki bir bölümünde, rapor görünümünde "ClientID" ve "Grade" başlıklı iki sütunu görüntüleyen bir liste görünümü denetimi oluşturduk. Aşağıdaki kod örneği, böyle bir grup varsa dizini 0 olan grubun etrafına bir 3B dikdörtgen çizer.
// GetGroupRect
// Get the graphics rectangle that surrounds group 0.
CRect rect;
BOOL bRet = m_listCtrl.GetGroupRect( 0, &rect, LVGGR_GROUP);
// Draw a blue rectangle around group 0.
if (bRet == TRUE) {
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(0, 0, 255), RGB(0, 0, 255));
}
else {
AfxMessageBox(_T("No group information was retrieved."), MB_ICONINFORMATION);
}
CListCtrl::GetGroupState
Geçerli liste görünümü denetiminde belirtilen grubun durumunu alır.
UINT GetGroupState(
int iGroupId,
DWORD dwMask) const;
Parametreler
iGroupId
[in] Bir grubun sıfır tabanlı dizini.
dwMask
[in] Belirtilen grup için alınacak durum değerini belirten maske. Daha fazla bilgi için yapının üyesine LVGROUP
bakınmask
.
Dönüş Değeri
Belirtilen grup için istenen durum veya grup bulunamazsa 0.
Açıklamalar
Dönüş değeri, parametredeki dwMask
bit düzeyinde AND işleminin ve geçerli liste görünümü denetimini temsil eden bir LVGROUP
yapının üyesinin değerinin state
sonucudur.
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETGROUPSTATE
. Daha fazla bilgi için makroya ListView_GetGroupState
bakın.
CListCtrl::GetHeaderCtrl
Liste görünümü denetiminin üst bilgi denetimini alır.
CHeaderCtrl* GetHeaderCtrl();
Dönüş Değeri
Liste görünümü denetimi tarafından kullanılan üst bilgi denetiminin işaretçisi.
Açıklamalar
Bu üye işlevi, ListView_GetHeader
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
örneğine CListCtrl::GetColumnOrderArray
bakın.
CListCtrl::GetHotCursor
Liste görünümü denetimi için etkin izleme etkinleştirildiğinde kullanılan imleci alır.
HCURSOR GetHotCursor();
Dönüş Değeri
Liste görünümü denetimi tarafından kullanılan geçerli sık erişimli imleç kaynağının tutamacı.
Açıklamalar
Bu üye işlevi, ListView_GetHotCursor
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular. Yalnızca vurgulama seçimi etkinleştirildiğinde görünen etkin imleç, imleç herhangi bir liste görünümü öğesinin üzerinden geçtiğinde görünür. LVS_EX_TRACKSELECT genişletilmiş stil ayarlanarak vurgu seçimi etkinleştirilir.
Örnek
// Set the hot cursor to be the system app starting cursor.
HCURSOR hCursor = ::LoadCursor(NULL, IDC_APPSTARTING);
m_myListCtrl.SetHotCursor(hCursor);
ASSERT(m_myListCtrl.GetHotCursor() == hCursor);
CListCtrl::GetHotItem
İmlecin altında bulunan liste görünümü öğesini alır.
int GetHotItem();
Dönüş Değeri
Liste görünümü denetiminin geçerli sık erişimli öğesinin dizini.
Açıklamalar
Bu üye işlevi, ListView_GetHotItem
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular. Sık erişimli öğe, etkin izleme (ve vurgulama seçimi) etkinleştirildiğinde seçili durumdaki öğe olarak tanımlanır.
Etkin izleme etkinse, kullanıcı liste görünümü öğesinin üzerinde durakladığında, fare düğmesi kullanılmadan öğe etiketi otomatik olarak vurgulanır.
Örnek
// Set the hot item to the first item only if no other item is
// highlighted.
if (m_myListCtrl.GetHotItem() == -1)
m_myListCtrl.SetHotItem(0);
CListCtrl::GetHoverTime
Liste görünümü denetiminin geçerli vurgulama zamanını alır.
DWORD GetHoverTime() const;
Dönüş Değeri
Fare imlecinin seçilmeden önce öğenin üzerine gelmeleri gereken gecikmeyi milisaniye cinsinden döndürür. Dönüş değeri -1 ise, vurgulama süresi varsayılan vurgulama süresidir.
Açıklamalar
Bu üye işlevi, ListView_GetHoverTime
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
// If the hover time is the default set to 1 sec.
DWORD dwTime = m_myListCtrl.GetHoverTime();
if (dwTime == -1)
m_myListCtrl.SetHoverTime(1000);
CListCtrl::GetImageList
Liste görünümü öğelerini çizmek için kullanılan resim listesinin tutamacını alır.
CImageList* GetImageList(int nImageList) const;
Parametreler
nImageList
Hangi görüntü listesinin alınacağını belirten değer. Bu değerlerden biri olabilir:
LVSIL_NORMAL
Büyük simgeler içeren resim listesi.LVSIL_SMALL
Küçük simgeler içeren resim listesi.LVSIL_STATE
Durum görüntülerinin yer aldığı resim listesi.
Dönüş Değeri
Çizim listesi görünümü öğeleri için kullanılan resim listesinin işaretçisi.
Örnek
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);
CListCtrl::GetInsertMark
Ekleme işaretinin geçerli konumunu alır.
BOOL GetInsertMark(LPLVINSERTMARK plvim) const;
Parametreler
plvim
Ekleme işaretine ilişkin bilgileri içeren bir LVINSERTMARK
yapı işaretçisi.
Dönüş Değeri
Başarılı olursa veya FALSE
başka bir şekilde döndürürTRUE
. FALSE
, yapı üyesindeki cbSize
LVINSERTMARK
boyut, yapının gerçek boyutuna eşit değilse döndürülür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETINSERTMARK
işlevselliğine öykünmektedir.
CListCtrl::GetInsertMarkColor
Ekleme işaretinin geçerli rengini alır.
COLORREF GetInsertMarkColor() const;
Dönüş Değeri
Ekleme noktasının rengini içeren bir COLORREF
yapı döndürür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETINSERTMARKCOLOR
işlevselliğine öykünmektedir.
CListCtrl::GetInsertMarkRect
Ekleme noktasını sınırlayan dikdörtgeni alır.
int GetInsertMarkRect(LPRECT pRect) const;
Parametreler
pRect
Ekleme noktasını sınırlayan bir RECT
dikdörtgenin koordinatlarını içeren bir yapıya yönelik işaretçi.
Dönüş Değeri
Aşağıdaki değerlerden birini döndürür:
- 0 Ekleme noktası bulunamadı.
- 1 Ekleme noktası bulundu.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETINSERTMARKRECT
işlevselliğine öykünmektedir.
CListCtrl::GetItem
Liste görünümü öğesinin özniteliklerinin bazılarını veya tümünü alır.
BOOL GetItem(LVITEM* pItem) const;
Parametreler
pItem
Öğenin özniteliklerini alan bir LVITEM
yapıya yönelik işaretçi.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Yapı, LVITEM
liste görünümü öğesinin özniteliklerini belirtir veya alır.
CListCtrl::GetItemCount
Liste görünümü denetimindeki öğe sayısını alır.
int GetItemCount() const;
Dönüş Değeri
Liste görünümü denetimindeki öğe sayısı.
Örnek
örneğine CListCtrl::DeleteItem
bakın.
CListCtrl::GetItemData
tarafından nItem
belirtilen öğeyle ilişkilendirilmiş 32 bit uygulamaya özgü değeri (x64 için derleniyorsanız 64 bit) alır.
DWORD_PTR GetItemData(int nItem) const;
Parametreler
nItem
Verileri alınacak olan liste öğesinin dizini.
Dönüş Değeri
Belirtilen öğeyle ilişkilendirilmiş 32 bit (x64 için derleniyorsanız 64 bit) uygulamaya özgü bir değer.
Açıklamalar
Bu değer, Windows SDK'da açıklandığı gibi yapının üyesidir lParam
LVITEM
Örnek
// If any item's data is equal to zero then reset it to -1.
for (int i=0; i < m_myListCtrl.GetItemCount(); i++)
{
if (m_myListCtrl.GetItemData(i) == 0)
{
m_myListCtrl.SetItemData(i, (DWORD) -1);
}
}
CListCtrl::GetItemIndexRect
Geçerli liste görünümü denetimindeki bir alt öğenin tümü veya bir bölümü için sınırlayıcı dikdörtgeni alır.
BOOL GetItemIndexRect(
PLVITEMINDEX pItemIndex,
int iColumn,
int rectType,
LPRECT pRect) const;
Parametreler
pItemIndex
[in] Alt öğenin üst öğesi için bir LVITEMINDEX
yapı işaretçisi. Çağıran, yapı üyelerini LVITEMINDEX
ayırma ve ayarlamadan sorumludur. Bu parametre olamaz NULL
.
iColumn
[in] Denetimdeki bir sütunun sıfır tabanlı dizini.
rectType
[in] Sınırlayıcı dikdörtgenin alındığı liste görünümü alt öğesinin bir bölümü. Aşağıdaki değerlerden birini belirtin:
LVIR_BOUNDS
- Simge ve etiket de dahil olmak üzere tüm alt dizinin sınırlayıcı dikdörtgenini döndürür.LVIR_ICON
- Simgenin sınırlayıcı dikdörtgenini veya alt öğesinin küçük simgesini döndürür.LVIR_LABEL
- Alt öğe metninin sınırlayıcı dikdörtgenini döndürür.
pRect
[out] Alt öğesinin sınırlayıcı dikdörtgeni hakkında bilgi alan bir RECT
yapı işaretçisi. Çağıran, yapıyı ayırmadan RECT
sorumludur. Bu parametre olamaz NULL
.
Dönüş Değeri
TRUE
bu yöntem başarılı olursa; aksi takdirde , FALSE
.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETITEMINDEXRECT
. Daha fazla bilgi için bkz ListView_GetItemIndexRect
. Makro.
Örnek
İlk kod örneği, m_listCtrl
geçerli liste görünümü denetimine erişmek için kullanılan bir değişkeni tanımlar. Bu değişken sonraki örnekte kullanılır.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Sonraki kod örneği yöntemini gösterir GetGroupRect
. Bu kod örneğini girmeden önce, rapor görünümünde "ClientID" ve "Grade" başlıklı iki sütunu görüntüleyen bir liste görünümü denetimi oluşturduk. Aşağıdaki kod örneği her iki sütunda da ikinci alt dizinin etrafına bir 3B dikdörtgen çizer.
// GetItemIndexRect
// Get the rectangle that bounds the second item in the first group.
LVITEMINDEX lvItemIndex;
lvItemIndex.iGroup = 0;
lvItemIndex.iItem = 1;
CRect rect;
BOOL bRet = m_listCtrl.GetItemIndexRect(
&lvItemIndex, 0, LVIR_BOUNDS, &rect);
// Draw a red rectangle around the item.
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(255, 0, 0), RGB(255, 0, 0) );
CListCtrl::GetItemPosition
Liste görünümü öğesinin konumunu alır.
BOOL GetItemPosition(
int nItem,
LPPOINT lpPoint) const;
Parametreler
nItem
Konumu alınacak öğenin dizini.
lpPoint
Öğenin sol üst köşesinin konumunu görünüm koordinatlarında alan bir POINT
yapının adresi.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
POINT pt;
// Move all items in the list control 100 pixels to the right.
UINT i, nCount = m_myListCtrl.GetItemCount();
for (i=0; i < nCount; i++)
{
m_myListCtrl.GetItemPosition(i, &pt);
pt.x += 100;
m_myListCtrl.SetItemPosition(i, pt);
}
CListCtrl::GetItemRect
Geçerli görünümdeki bir öğenin tümü veya bir bölümü için sınırlayıcı dikdörtgeni alır.
BOOL GetItemRect(
int nItem,
LPRECT lpRect,
UINT nCode) const;
Parametreler
nItem
Konumu alınacak öğenin dizini.
lpRect
Sınırlayıcı dikdörtgeni alan bir RECT
yapının adresi.
nCode
Sınırlayıcı dikdörtgenin alındığı liste görünümü öğesinin bir bölümü. Bu değerlerden biri olabilir:
LVIR_BOUNDS
Simge ve etiket de dahil olmak üzere tüm öğenin sınırlayıcı dikdörtgenini döndürür.LVIR_ICON
Simgenin veya küçük simgenin sınırlayıcı dikdörtgenini döndürür.LVIR_LABEL
Öğe metninin sınırlayıcı dikdörtgenini döndürür.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
// OnClick is the handler for the NM_CLICK notification
void CListCtrlDlg::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
UNREFERENCED_PARAMETER(pResult);
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
// Get the current mouse location and convert it to client
// coordinates.
CPoint pos( ::GetMessagePos() );
ScreenToClient(&pos);
// Get indexes of the first and last visible items in
// the listview control.
int index = m_myListCtrl.GetTopIndex();
int last_visible_index = index + m_myListCtrl.GetCountPerPage();
if (last_visible_index > m_myListCtrl.GetItemCount())
last_visible_index = m_myListCtrl.GetItemCount();
// Loop until number visible items has been reached.
while (index <= last_visible_index)
{
// Get the bounding rectangle of an item. If the mouse
// location is within the bounding rectangle of the item,
// you know you have found the item that was being clicked.
CRect r;
m_myListCtrl.GetItemRect(index, &r, LVIR_BOUNDS);
if (r.PtInRect(pia->ptAction))
{
UINT flag = LVIS_SELECTED | LVIS_FOCUSED;
m_myListCtrl.SetItemState(index, flag, flag);
break;
}
// Get the next item in listview control.
index++;
}
}
CListCtrl::GetItemSpacing
Geçerli liste görünümü denetimindeki öğeler arasındaki aralığı hesaplar.
BOOL GetItemSpacing(
BOOL fSmall,
int* pnHorzSpacing,
int* pnVertSpacing) const;
Parametreler
fSmall
[in] Öğe aralığının alındığı görünüm. Küçük simge görünümü veya FALSE
simge görünümü için belirtinTRUE
.
pnHorzSpacing
[out] Öğeler arasındaki yatay aralığı içerir.
pnVertSpacing
[out] Öğeler arasındaki dikey aralığı içerir.
Dönüş Değeri
TRUE
bu yöntem başarılı olursa; aksi takdirde , FALSE
.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETITEMSPACING
.
CListCtrl::GetItemState
Liste görünümü öğesinin durumunu alır.
UINT GetItemState(
int nItem,
UINT nMask) const;
Parametreler
nItem
Durumu alınacak öğenin dizini.
nMask
Öğenin durum bayraklarından hangilerinin döndürüleceğini belirten maske.
Dönüş Değeri
Belirtilen liste görünümü öğesi için durum bayrakları.
Açıklamalar
Bir öğenin durumu, Windows SDK'da açıklandığı gibi yapının üyesi LVITEM
tarafından state
belirtilir. Bir öğenin durumunu belirttiğinizde veya değiştirdiğinizde, stateMask
üye hangi durum bitlerini değiştirmek istediğinizi belirtir.
Örnek
örneğine CListCtrl::GetTopIndex
bakın.
CListCtrl::GetItemText
Liste görünümü öğesinin veya alt öğesinin metnini alır.
int GetItemText(
int nItem,
int nSubItem,
LPTSTR lpszText,
int nLen) const;
CString GetItemText(
int nItem,
int nSubItem) const;
Parametreler
nItem
Metni alınacak öğenin dizini.
nSubItem
Metni alınacak alt öğesini belirtir.
lpszText
Öğe metnini almak için bir dize işaretçisi.
nLen
tarafından lpszText
işaret edilen arabellek uzunluğu.
Dönüş Değeri
Döndürülen int
sürüm, alınan dizenin uzunluğunu döndürür.
Bir döndüren CString
sürüm, öğe metnini döndürür.
Açıklamalar
Sıfır ise nSubItem
, bu işlev öğe etiketini alır; nSubItem
sıfır değilse, alt öğenin metnini alır. Subitem bağımsız değişkeni hakkında daha fazla bilgi için Windows SDK'sı yapısına ilişkin tartışmalara LVITEM
bakın.
CListCtrl::GetNextItem
Belirtilen özelliklere sahip olan ve belirli bir öğeyle belirtilen ilişkiyi taşıyan liste görünümü öğesini arar.
int GetNextItem(
int nItem,
int nFlags) const;
Parametreler
nItem
Aramaya başlanması gereken öğenin dizini veya belirtilen bayraklarla eşleşen ilk öğeyi bulmak için -1. Belirtilen öğenin kendisi aramanın dışında tutulur.
nFlags
İstenen öğenin belirtilen öğeyle geometrik ilişkisi ve istenen öğenin durumu. Geometrik ilişki şu değerlerden biri olabilir:
LVNI_ABOVE
Belirtilen öğenin üzerinde olan bir öğeyi arar.LVNI_ALL
Sonraki bir öğeyi dizine göre (varsayılan değer) arar.LVNI_BELOW
Belirtilen öğenin altında bir öğeyi arar.LVNI_TOLEFT
Belirtilen öğenin solundaki bir öğeyi arar.LVNI_TORIGHT
Belirtilen öğenin sağındaki bir öğeyi arar.
Durum sıfır veya şu değerlerden biri veya daha fazlası olabilir:
LVNI_DROPHILITED
ÖğedeLVIS_DROPHILITED
durum bayrağı ayarlanmıştır.LVNI_FOCUSED
ÖğedeLVIS_FOCUSED
durum bayrağı ayarlanmıştır.LVNI_SELECTED
ÖğedeLVIS_SELECTED
durum bayrağı ayarlanmıştır.
Bir öğede belirtilen durum bayraklarının tümü ayarlı değilse, arama sonraki öğeyle devam eder.
Dönüş Değeri
Başarılı olursa sonraki öğenin dizini veya aksi takdirde -1.
CListCtrl::GetNextItemIndex
Geçerli liste görünümü denetiminde belirtilen özellik kümesine sahip öğenin dizinini alır.
BOOL GetNextItemIndex(
PLVITEMINDEX pItemIndex,
int nFlags) const;
Parametreler
pItemIndex
[in, out] Aramanın LVITEMINDEX
başladığı öğeyi açıklayan yapı işaretçisi veya nFlags parametresindeki bayraklarla eşleşen ilk öğeyi bulmak için -1. Bu yöntem başarılı olursa, LVITEMINDEX
yapı arama tarafından bulunan öğeyi açıklar.
nFlags
[in] Aramanın nasıl gerçekleştirileceğini belirten bit düzeyinde bir bayrak bileşimi (VEYA). Arama, hedef öğenin dizinine, durumuna veya görünümüne ya da hedef öğenin parametre tarafından belirtilen öğeye göre fiziksel konumuna pItemIndex
bağlı olabilir. Daha fazla bilgi için iletideki flags
parametresine LVM_GETNEXTITEMINDEX
bakın.
Dönüş Değeri
TRUE
bu yöntem başarılı olursa; aksi takdirde , FALSE
.
Açıklamalar
Çağıran, parametresi tarafından işaret edilen yapı üyelerini LVITEMINDEX
ayırma ve ayarlamadan pItemIndex
sorumludur.
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_GETNEXTITEMINDEX
.
CListCtrl::GetNextSelectedItem
tarafından pos
tanımlanan liste öğesinin dizinini alır ve POSITION değerine ayarlar pos
.
int GetNextSelectedItem(POSITION& pos) const;
Parametreler
pos
veya önceki bir çağrısı GetNextSelectedItem
GetFirstSelectedItemPosition
tarafından döndürülen POSITION değerine başvuru. Değer, bu çağrı tarafından bir sonraki konuma güncelleştirilir.
Dönüş Değeri
tarafından pos
tanımlanan liste öğesinin dizini.
Açıklamalar
çağrısıyla GetFirstSelectedItemPosition
ilk konumu belirlerseniz, bir iletme yineleme döngüsünde kullanabilirsinizGetNextSelectedItem
.
Değerinizin POSITION
geçerli olduğundan emin olmanız gerekir. Geçersizse, Microsoft Foundation Sınıf Kitaplığı'nın Hata Ayıklama sürümü onaylar.
Örnek
Aşağıdaki kod örneği bu işlevin kullanımını gösterir.
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}
CListCtrl::GetNumberOfWorkAreas
Liste görünümü denetimi için geçerli çalışma alanı sayısını alır.
UINT GetNumberOfWorkAreas() const;
Dönüş Değeri
Şu anda kullanılmıyor.
Açıklamalar
Bu üye işlevi, ListView_GetNumberOfWorkAreas
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
UINT i, uCount = m_myListCtrl.GetNumberOfWorkAreas();
LPRECT lpRects = (LPRECT) malloc(uCount*sizeof(RECT));
if (lpRects != NULL)
{
// Dump all of the work area dimensions.
m_myListCtrl.GetWorkAreas(uCount, lpRects);
for (i=0; i < uCount; i++)
{
TRACE(_T("Work area %d; left = %d, top = %d, right = %d, ")
_T("bottom = %d\r\n"),
i, lpRects[i].left, lpRects[i].top, lpRects[i].right,
lpRects[i].bottom);
}
free(lpRects);
}
else
{
TRACE(_T("Couldn't allocate enough memory!"));
}
CListCtrl::GetOutlineColor
Liste görünümü denetiminin kenarlığı rengini alır.
COLORREF GetOutlineColor() const;
Dönüş Değeri
Ana hat rengini içeren bir COLORREF
yapı döndürür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETOUTLINECOLOR
işlevselliğine öykünmektedir.
CListCtrl::GetOrigin
Liste görünümü denetimi için geçerli görünüm kaynağını alır.
BOOL GetOrigin(LPPOINT lpPoint) const;
Parametreler
lpPoint
Görünüm kaynağını alan bir POINT
yapının adresi.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır. Ancak, denetim rapor görünümündeyse, dönüş değeri her zaman sıfırdır.
CListCtrl::GetSelectedColumn
Liste denetiminde seçili durumdaki sütunun dizinini alır.
UINT GetSelectedColumn() const;
Dönüş Değeri
Seçili sütunun dizini.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETSELECTEDCOLUMN
işlevselliğine öykünmektedir.
CListCtrl::GetSelectedCount
Liste görünümü denetimindeki seçili öğelerin sayısını alır.
UINT GetSelectedCount() const;
Dönüş Değeri
Liste görünümü denetimindeki seçili öğelerin sayısı.
Örnek
UINT i, uSelectedCount = m_myListCtrl.GetSelectedCount();
int nItem = -1;
// Update all of the selected items.
if (uSelectedCount > 0)
{
for (i=0; i < uSelectedCount; i++)
{
nItem = m_myListCtrl.GetNextItem(nItem, LVNI_SELECTED);
ASSERT(nItem != -1);
m_myListCtrl.Update(nItem);
}
}
CListCtrl::GetSelectionMark
Liste görünümü denetiminin seçim işaretini alır.
int GetSelectionMark();
Dönüş Değeri
Sıfır tabanlı seçim işareti veya seçim işareti yoksa -1.
Açıklamalar
Bu üye işlevi, ListView_GetSelectionMark
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
// Set the selection mark to the first item only if no other item is
// selected.
if (m_myListCtrl.GetSelectionMark() == -1)
m_myListCtrl.SetSelectionMark(0);
CListCtrl::GetStringWidth
Belirli bir dizenin tümünü görüntülemek için gereken en düşük sütun genişliğini belirler.
int GetStringWidth(LPCTSTR lpsz) const;
Parametreler
lpsz
Genişliği belirlenecek null olarak sonlandırılan dizenin adresi.
Dönüş Değeri
tarafından lpsz
işaret edilen dizenin piksel cinsinden genişliği.
Açıklamalar
Döndürülen genişlik, denetimin geçerli yazı tipini ve sütun kenar boşluklarını dikkate alır, ancak küçük bir simgenin genişliğini dikkate almaz.
Örnek
CString strColumn;
int nWidth;
// Insert six columns in the list view control. Make the width of
// the column be the width of the column header plus 50%.
for (int i = 0; i < 6; i++)
{
strColumn.Format(_T("column %d"), i);
nWidth = 3*m_myListCtrl.GetStringWidth(strColumn)/2;
m_myListCtrl.InsertColumn(i, strColumn, LVCFMT_LEFT, nWidth);
}
CListCtrl::GetSubItemRect
Liste görünümü denetimindeki bir öğenin sınırlayıcı dikdörtgenini alır.
BOOL GetSubItemRect(
int iItem,
int iSubItem,
int nArea,
CRect& ref);
Parametreler
iItem
Alt öğenin üst öğesinin dizini.
iSubItem
Alt öğesinin tek tabanlı dizini.
nArea
Alınacak sınırlayıcı dikdörtgenin (liste görünümü alt öğesi) bölümünü belirler. Sınırlayıcı dikdörtgenin bölümü (simge, etiket veya her ikisi) aşağıdaki değerlerden birine veya daha fazlasına bit düzeyinde OR
işleç uygulanarak belirtilir:
LVIR_BOUNDS
Simge ve etiket de dahil olmak üzere tüm öğenin sınırlayıcı dikdörtgenini döndürür.LVIR_ICON
Simgenin veya küçük simgenin sınırlayıcı dikdörtgenini döndürür.LVIR_LABEL
Simge ve etiket de dahil olmak üzere tüm öğenin sınırlayıcı dikdörtgenini döndürür. Bu, ileLVIR_BOUNDS
aynıdır.
ref
Alt dizinin sınırlayıcı dikdörtgeninin koordinatlarını içeren bir CRect
nesneye başvuru.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Bu üye işlevi, ListView_GetSubItemRect
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
CListCtrl::GetTextBkColor
Liste görünümü denetiminin metin arka plan rengini alır.
COLORREF GetTextBkColor() const;
Dönüş Değeri
RGB rengi belirtmek için kullanılan 32 bit değer.
Örnek
örneğine CListCtrl::SetTextBkColor
bakın.
CListCtrl::GetTextColor
Liste görünümü denetiminin metin rengini alır.
COLORREF GetTextColor() const;
Dönüş Değeri
RGB rengi belirtmek için kullanılan 32 bit değer.
Örnek
örneğine CListCtrl::SetTextColor
bakın.
CListCtrl::GetTileInfo
Liste görünümü denetimindeki bir kutucuk hakkındaki bilgileri alır.
BOOL GetTileInfo(PLVTILEINFO plvti) const;
Parametreler
plvti
Kutucuk bilgilerini alan bir LVTILEINFO
yapı işaretçisi.
Dönüş Değeri
Dönüş değeri kullanılmaz.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETTILEINFO
işlevselliğine öykünmektedir.
CListCtrl::GetTileViewInfo
Kutucuk görünümünde liste görünümü denetimi hakkındaki bilgileri alır.
BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;
Parametreler
ptvi
Alınan bilgileri alan bir LVTILEVIEWINFO
yapı işaretçisi.
Dönüş Değeri
Dönüş değeri kullanılmaz.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETTILEVIEWINFO
işlevselliğine öykünmektedir.
CListCtrl::GetToolTips
Liste görünümü denetiminin araç ipuçlarını görüntülemek için kullandığı araç ipucu denetimini alır.
CToolTipCtrl* GetToolTips() const;
Dönüş Değeri
Liste denetimi tarafından kullanılacak nesne CToolTipCtrl
işaretçisi. Create
Üye işlevi stilini LVS_NOTOOLTIPS
kullanıyorsa, hiçbir araç ipucu kullanılmaz ve NULL döndürülür.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 iletisinin LVM_GETTOOLTIPS
davranışını uygular. MFC uygulaması GetToolTips
, araç CToolTipCtrl
ipucu denetiminin tutamacı yerine liste denetimi tarafından kullanılan bir nesnesi döndürür.
Örnek
CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
IDD_MYLISTCTRL);
}
CListCtrl::GetTopIndex
Liste görünümünde veya rapor görünümündeyken en üstteki görünür öğenin dizinini alır.
int GetTopIndex() const;
Dönüş Değeri
En üstteki görünür öğenin dizini.
Örnek
// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();
// Select all of the items that are completely visible.
int n = m_myListCtrl.GetTopIndex();
int nLast = n + m_myListCtrl.GetCountPerPage();
for (; n < nLast; n++)
{
m_myListCtrl.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);
ASSERT(m_myListCtrl.GetItemState(n, LVIS_SELECTED) == LVIS_SELECTED);
}
CListCtrl::GetView
Liste görünümü denetiminin görünümünü alır.
DWORD GetView() const;
Dönüş Değeri
Liste görünümü denetiminin geçerli görünümü.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_GETVIEW
işlevselliğine öykünmektedir.
CListCtrl::GetViewRect
Liste görünümü denetimindeki tüm öğelerin sınırlayıcı dikdörtgenini alır.
BOOL GetViewRect(LPRECT lpRect) const;
Parametreler
lpRect
Bir RECT
yapının adresi.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Liste görünümü simge görünümünde veya küçük simge görünümünde olmalıdır.
CListCtrl::GetWorkAreas
Liste görünümü denetiminin geçerli çalışma alanlarını alır.
void GetWorkAreas(
int nWorkAreas,
LPRECT pRect) const;
Parametreler
nWorkAreas
Dizide yer alan yapıların pRect
sayısıRECT
.
pRect
Liste görünümü denetiminin RECT
çalışma alanlarını alan bir yapı dizisinin (veya CRect
nesnelerin) işaretçisi. Bu yapılardaki değerler istemci koordinatlarındadır.
Açıklamalar
Bu üye işlevi, ListView_GetWorkAreas
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
örneğine CListCtrl::GetNumberOfWorkAreas
bakın.
CListCtrl::HasGroup
Liste görünümü denetiminin belirtilen gruba sahip olup olmadığını belirler.
BOOL HasGroup(int iGroupId) const;
Parametreler
iGroupId
İstenen grubun tanımlayıcısı.
Dönüş Değeri
Başarılı olduğunda, FALSE
başarısız olduğunda döndürürTRUE
.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_HASGROUP
işlevselliğine öykünmektedir.
CListCtrl::HitTest
Varsa, hangi liste görünümü öğesinin belirtilen konumda olduğunu belirler.
int HitTest(LVHITTESTINFO* pHitTestInfo) const;
int HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
Parametreler
pHitTestInfo
Teste isabet etme konumunu içeren ve isabet testinin sonuçları hakkında bilgi alan bir LVHITTESTINFO
yapının adresi.
pt
Test edilecek nokta.
pFlags
Testin sonuçları hakkında bilgi alan bir tamsayı işaretçisi. Windows SDK'sında flags
yapı üyesinin LVHITTESTINFO
açıklamasına bakın.
Dönüş Değeri
Öğenin, varsa tarafından pHitTestInfo
belirtilen konumdaki dizini veya başka bir şekilde -1.
Açıklamalar
Bir liste görünümü denetiminin LVHT_ABOVE
içeriğini kaydırmak isteyip istemediğinizi belirlemek için yapı flag
üyesinin , LVHT_BELOW
, LVHT_TOLEFT
ve LVHT_TORIGHT
değerlerini kullanabilirsiniz. Bu bayraklardan ikisi, örneğin konum istemci alanının üstünde ve solundaysa birleştirilebilir.
Belirli bir konumun LVHT_ONITEM
liste görünümü öğesi üzerinde olup olmadığını belirlemek için yapı flag
üyesinin değerini test edebilirsiniz. Bu değer, yapı üyesinin LVHT_ONITEMICON
, LVHT_ONITEMLABEL
ve LVHT_ONITEMSTATEICON
değerlerinde bit düzeyinde VEYA işlemidir flag
.
Örnek
void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
CPoint point(pia->ptAction);
// Select the item the user clicked on.
UINT uFlags;
int nItem = m_myListCtrl.HitTest(point, &uFlags);
if (uFlags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED,
LVIS_SELECTED, 0);
}
*pResult = 0;
}
CListCtrl::InsertColumn
Liste görünümü denetimine yeni bir sütun ekler.
int InsertColumn(
int nCol,
const LVCOLUMN* pColumn);
int InsertColumn(
int nCol,
LPCTSTR lpszColumnHeading,
int nFormat = LVCFMT_LEFT,
int nWidth = -1,
int nSubItem = -1);
Parametreler
nCol
Yeni sütunun dizini.
pColumn
Yeni sütunun özniteliklerini içeren bir LVCOLUMN
yapının adresi.
lpszColumnHeading
Sütunun başlığını içeren dizenin adresi.
nFormat
Sütunun hizalamasını belirten tamsayı. Şu değerlerden biri olabilir: LVCFMT_LEFT
, LVCFMT_RIGHT
veya LVCFMT_CENTER
.
nWidth
Sütunun piksel cinsinden genişliği. Bu parametre -1 ise, sütun genişliği ayarlanmadı.
nSubItem
Sütunla ilişkili alt dizinin dizini. Bu parametre -1 ise, sütunla hiçbir alt sınıf ilişkilendirilmemiştir.
Dönüş Değeri
Başarılı olursa yeni sütunun dizini veya aksi takdirde -1.
Açıklamalar
Liste görünümü denetimindeki en soldaki sütun sola hizalanmış olmalıdır.
Yapı, LVCOLUMN
rapor görünümündeki bir sütunun özniteliklerini içerir. Ayrıca bir sütun hakkında bilgi almak için de kullanılır. Bu yapı Windows SDK'sında açıklanmıştır.
CListCtrl::InsertGroup
Liste görünümü denetimine bir grup ekler.
LRESULT InsertGroup(
int index,
PLVGROUP pgrp);
Parametreler
index
Grubun eklendiği öğenin dizini.
pgrp
Eklenecek grubu içeren bir LVGROUP
yapıya yönelik işaretçi.
Dönüş Değeri
Grubun eklendiği öğenin dizinini veya işlem başarısız olursa -1 değerini döndürür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_INSERTGROUP
işlevselliğine öykünmektedir.
CListCtrl::InsertGroupSorted
Belirtilen grubu sıralı bir grup listesine ekler.
LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);
Parametreler
pStructInsert
Eklenecek grubu içeren bir LVINSERTGROUPSORTED
yapı işaretçisi.
Dönüş Değeri
Dönüş değeri kullanılmaz.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_INSERTGROUPSORTED
işlevselliğine öykünmektedir.
CListCtrl::InsertItem
Liste görünümü denetimine bir öğe ekler.
int InsertItem(const LVITEM* pItem);
int InsertItem(
int nItem,
LPCTSTR lpszItem);
int InsertItem(
int nItem,
LPCTSTR lpszItem,
int nImage);
int InsertItem(
UINT nMask,
int nItem,
LPCTSTR lpszItem,
UINT nState,
UINT nStateMask,
int nImage,
LPARAM lParam);
Parametreler
pItem
Windows SDK'da açıklandığı gibi öğenin özniteliklerini belirten bir LVITEM yapısının işaretçisi.
nItem
Eklenecek öğenin dizini.
lpszItem
Öğenin etiketini içeren bir dizenin adresi veya LPSTR_TEXTCALLBACK
öğe bir geri çağırma öğesiyse. Geri arama öğeleri hakkında bilgi için bkz CListCtrl::GetCallbackMask
. .
nImage
Öğenin görüntüsünün dizini veya I_IMAGECALLBACK
öğe bir geri çağırma öğesiyse. Geri arama öğeleri hakkında bilgi için bkz CListCtrl::GetCallbackMask
. .
nMask
parametresi, nMask
parametre olarak geçirilen öğe özniteliklerinin geçerli olduğunu belirtir. Windows SDK'sında Yapı bölümünde LVITEM
açıklanan maske değerlerinden biri veya daha fazlası olabilir. Geçerli değerler bit düzeyinde OR işleciyle birleştirilebilir.
nState
Öğenin durumunu, durum görüntüsünü ve katman görüntüsünü gösterir. Daha fazla bilgi için geçerli bayrakların listesi için Windows SDK'sı Yapı ve Liste-Görünüm Öğe Durumları konularına LVITEM
bakın.
nStateMask
Durum üyesinin hangi bitlerinin alınacağını veya değiştirileceğini gösterir. Daha fazla bilgi için bkz LVITEM
. Windows SDK'sında yapı .
lParam
Öğeyle ilişkili 32 bit uygulamaya özgü değer (x64 için derleniyorsanız 64 bit). Bu parametre belirtilirse özniteliğini nMask
LVIF_PARAM
ayarlamanız gerekir.
Dönüş Değeri
Başarılı olursa yeni öğenin dizini veya aksi takdirde -1.
Açıklamalar
Bu yöntemin çağrılması, iletinin LVM_INSERTITEM
denetim pencerenize gönderilmesine neden olabilir. Denetimin ilişkili ileti işleyicisi, belirli koşullar altında öğe metnini ayarlayamayabilir (örneğin, LVS_OWNERDRAW
gibi pencere stilleri kullanma). Bu koşullar hakkında daha fazla bilgi için bkz LVM_INSERTITEM
. Windows SDK'sı.
Örnek
CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Insert 10 items in the list view control.
for (int i = 0; i < 10; i++)
{
strText.Format(TEXT("item %d"), i);
// Insert the item, select every other item.
m_myListCtrl.InsertItem(LVIF_TEXT | LVIF_STATE, i, strText,
(i % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);
// Initialize the text of the subitems.
for (int j = 1; j < nColumnCount; j++)
{
strText.Format(TEXT("sub-item %d %d"), i, j);
m_myListCtrl.SetItemText(i, j, strText);
}
}
CListCtrl::InsertMarkHitTest
Belirtilen noktaya en yakın ekleme noktasını alır.
int InsertMarkHitTest(
LPPOINT pPoint,
LPLVINSERTMARK plvim) const;
Parametreler
pPoint
Liste denetiminin istemci alanına göre isabet testi koordinatlarını içeren bir POINT
yapı işaretçisi.
plvim
Point parametresi tarafından tanımlanan koordinatlara en yakın ekleme noktasını belirten bir LVINSERTMARK
yapı işaretçisi.
Dönüş Değeri
Belirtilen noktaya en yakın ekleme noktası.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_INSERTMARKHITTEST
işlevselliğine öykünmektedir.
CListCtrl::IsGroupViewEnabled
Liste görünümü denetimi için grup görünümünün etkinleştirilip etkinleştirilmediğini belirler.
BOOL IsGroupViewEnabled() const;
Dönüş Değeri
Grup görünümü etkinse veya FALSE
başka bir şekilde döndürülüyorsa döndürürTRUE
.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_ISGROUPVIEWENABLED
işlevselliğine öykünmektedir.
CListCtrl::IsItemVisible
Geçerli liste görünümü denetiminde belirtilen bir öğenin görünür olup olmadığını gösterir.
BOOL IsItemVisible(int index) const;
Parametreler
index
[in] Geçerli liste görünümü denetimindeki bir öğenin sıfır tabanlı dizini.
Dönüş Değeri
TRUE
belirtilen öğe görünür durumdaysa; aksi takdirde , FALSE
.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_ISITEMVISIBLE
.
CListCtrl::MapIDToIndex
Geçerli liste görünümü denetimindeki bir öğenin benzersiz kimliğini dizinle eşler.
UINT MapIDToIndex(UINT id) const;
Parametreler
id
[in] Bir öğenin benzersiz kimliği.
Dönüş Değeri
Belirtilen kimlik için geçerli dizin.
Açıklamalar
Liste görünümü denetimi, öğeleri dizine göre dahili olarak izler. Dizinler denetimin ömrü boyunca değişebileceğinden bu sorunlara yol açabilir. Liste görünümü denetimi, öğe oluşturulduğunda bir öğeyi kimlikle etiketleyebilir ve liste görünümü denetiminin ömrü boyunca benzersizliği garanti etmek için bu kimliği kullanabilirsiniz.
Çok iş parçacıklı bir ortamda dizin, arka plan iş parçacıklarında değil, yalnızca liste görünümü denetimini barındıran iş parçacığında garanti edilir.
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_MAPIDTOINDEX
.
CListCtrl::MapIndexToID
Geçerli liste görünümü denetimindeki bir öğenin dizinini benzersiz bir kimlikle eşler.
UINT MapIndexToID(UINT index) const;
Parametreler
index
[in] Bir öğenin sıfır tabanlı dizini.
Dönüş Değeri
Belirtilen öğe için benzersiz bir kimlik.
Açıklamalar
Liste görünümü denetimi, öğeleri dizine göre dahili olarak izler. Dizinler denetimin ömrü boyunca değişebileceğinden bu sorunlara yol açabilir. Liste görünümü denetimi, öğe oluşturulduğunda bir öğeyi kimlikle etiketleyebilir. Liste görünümü denetiminin ömrü boyunca belirli bir öğeye erişmek için bu kimliği kullanabilirsiniz.
Çok iş parçacıklı bir ortamda dizin, arka plan iş parçacıklarında değil, yalnızca liste görünümü denetimini barındıran iş parçacığında garanti edilir.
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_MAPINDEXTOID
.
Örnek
İlk kod örneği, m_listCtrl
geçerli liste görünümü denetimine erişmek için kullanılan bir değişkeni tanımlar. Bu değişken sonraki örnekte kullanılır.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Sonraki kod örneği yöntemini gösterir MapIndexToID
. Bu kod örneğinin önceki bir bölümünde, rapor görünümünde "ClientID" ve "Grade" başlıklı iki sütunu görüntüleyen bir liste görünümü denetimi oluşturduk. Aşağıdaki örnek, her liste görünümü öğesinin dizinini bir kimlik numarasıyla eşler ve her kimlik numarası için dizini alır. Son olarak, örnek özgün dizinlerin alınıp alınmadığını bildirir.
// MapIndexToID
int iCount = m_listCtrl.GetItemCount();
UINT nId = 0;
UINT nIndex = 0;
for (int iIndexOriginal = 0; iIndexOriginal < iCount; iIndexOriginal++)
{
// Map index to ID.
nId = m_listCtrl.MapIndexToID((UINT)iIndexOriginal);
// Map ID to index.
nIndex = m_listCtrl.MapIDToIndex(nId);
if (nIndex != (UINT)(iIndexOriginal))
{
CString str;
str.Format(_T("Mapped index (%d) is not equal to original index (%d)"),
nIndex, (UINT)(iIndexOriginal));
AfxMessageBox(str);
return;
}
}
AfxMessageBox(_T("The mapped indexes and original indexes are equal."),
MB_ICONINFORMATION);
CListCtrl::MoveGroup
Belirtilen grubu liste görünümü denetiminin belirtilen sıfır tabanlı dizinine taşır.
LRESULT MoveGroup(
int iGroupId,
int toIndex);
Parametreler
iGroupId
Taşınacak grubun tanımlayıcısı.
toIndex
Grubun taşınacağı sıfır tabanlı dizin.
Dönüş Değeri
Dönüş değeri kullanılmaz.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_MOVEGROUP
işlevselliğine öykünmektedir.
CListCtrl::MoveItemToGroup
Belirtilen öğeyi belirtilen gruba taşır.
void MoveItemToGroup(
int idItemFrom,
int idGroupTo);
Parametreler
idItemFrom
[in] Taşınacak öğenin dizini.
idGroupTo
[in] Öğenin taşınacağı grubun tanımlayıcısı.
Açıklamalar
Not
Bu yöntem şu anda uygulanmadı.
Bu yöntem, Windows SDK'da açıklandığı gibi iletinin işlevselliğini LVM_MOVEITEMTOGROUP
öykünmektedir.
CListCtrl::RedrawItems
Liste görünümü denetimini bir öğe aralığını yeniden boyamaya zorlar.
BOOL RedrawItems(
int nFirst,
int nLast);
Parametreler
nFirst
Yeniden boyanacak ilk öğenin dizini.
nLast
Yeniden boyanacak son öğenin dizini.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Liste görünümü penceresi bir WM_PAINT iletisi alıncaya kadar belirtilen öğeler yeniden boyanmıyor. Hemen yeniden boyamak için bu işlevi kullandıktan sonra Windows UpdateWindow
işlevini çağırın.
CListCtrl::RemoveAllGroups
Liste görünümü denetiminden tüm grupları kaldırır.
void RemoveAllGroups();
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_REMOVEALLGROUPS
işlevselliğine öykünmektedir.
CListCtrl::RemoveGroup
Belirtilen grubu liste görünümü denetiminden kaldırır.
LRESULT RemoveGroup(int iGroupId);
Parametreler
iGroupId
Kaldırılacak grubun tanımlayıcısı.
Dönüş Değeri
Başarılı olursa grubun dizinini veya aksi takdirde -1'i döndürür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_REMOVEGROUP
işlevselliğine öykünmektedir.
CListCtrl::Scroll
Liste görünümü denetiminin içeriğini kaydırıyor.
BOOL Scroll(CSize size);
Parametreler
size
CSize
Yatay ve dikey kaydırma miktarını piksel cinsinden belirten bir nesne. Boyut y
üyesi, liste görünümü denetiminin çizgisinin piksel cinsinden yüksekliğine bölünür ve denetim sonuçta elde edilen satır sayısıyla kaydırılır.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
CListCtrl::SetBkColor
Liste görünümü denetiminin arka plan rengini ayarlar.
BOOL SetBkColor(COLORREF cr);
Parametreler
cr
Ayarlanacağı arka plan rengi veya CLR_NONE
arka plan rengi olmayan değer. Arka plan renklerine sahip liste görünümü denetimleri, arka plan renkleri olmayan denetimlerden önemli ölçüde daha hızlı yeniden çiziliyor. Daha fazla bilgi için bkz COLORREF
. Windows SDK'sı.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetBkColor(crBkColor);
ASSERT(m_myListCtrl.GetBkColor() == crBkColor);
CListCtrl::SetBkImage
Liste görünümü denetiminin arka plan görüntüsünü ayarlar.
BOOL SetBkImage(LVBKIMAGE* plvbkImage);
BOOL SetBkImage(
HBITMAP hBitmap,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
BOOL SetBkImage(
LPTSTR pszUrl,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
Parametreler
plvbkImage
Yeni arka plan görüntüsü bilgilerini içeren bir LVBKIMAGE
yapının adresi.
hBitmap
Bit eşlem tutamacı.
pszUrl
NULL
Arka plan görüntüsünün URL'sini içeren - sonlandırılan dize.
fTile
Resim liste görünümü denetiminin arka planında kutucuklanacaksa sıfır olmayan; aksi takdirde 0.
xOffsetPercent
Görüntünün sol kenarının, liste görünümü denetiminin kaynağından piksel cinsinden uzaklığı.
yOffsetPercent
Görüntünün üst kenarının, liste görünümü denetiminin kaynağından piksel cinsinden uzaklığı.
Dönüş Değeri
Başarılı olursa sıfır olmayan veya aksi takdirde sıfır döndürür.
Açıklamalar
Not
CListCtrl::SetBkImage
OLE COM işlevini kullandığından, kullanılmadan önce SetBkImage
OLE kitaplıklarının başlatılması gerekir. Uygulama başlatıldığında COM kitaplıklarını başlatmak ve uygulama sonlandırıldığında kitaplıkları başlatmak en iyisidir. Bu, ActiveX teknolojisi, OLE Otomasyonu, OLE Bağlama/Ekleme veya ODBC/DAO işlemlerinden yararlanan MFC uygulamalarında otomatik olarak gerçekleştirilir.
Örnek
örneğine CListCtrl::GetBkImage
bakın.
CListCtrl::SetCallbackMask
Liste görünümü denetimi için geri çağırma maskesini ayarlar.
BOOL SetCallbackMask(UINT nMask);
Parametreler
nMask
Geri çağırma maskesinin yeni değeri.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
// Set the callback mask so that only the selected and focused states
// are stored for each item.
m_myListCtrl.SetCallbackMask(LVIS_SELECTED|LVIS_FOCUSED);
ASSERT(m_myListCtrl.GetCallbackMask() ==
(LVIS_SELECTED|LVIS_FOCUSED));
CListCtrl::SetCheck
Liste denetim öğesinin durum görüntüsünün görünür olup olmadığını belirler.
BOOL SetCheck(
int nItem,
BOOL fCheck = TRUE);
Parametreler
nItem
Liste denetim öğesinin sıfır tabanlı dizini.
fCheck
Öğenin durum görüntüsünün görünür olup olmayacağını belirtir. Varsayılan olarak, fCheck
ve TRUE
durum görüntüsü görünür durumdadır. ise fCheck
FALSE
görünür değildir.
Dönüş Değeri
Öğe işaretliyse sıfır olmayan, aksi takdirde 0.
Örnek
int nCount = m_myListCtrl.GetItemCount();
BOOL fCheck = FALSE;
// Set the check state of every other item to TRUE and
// all others to FALSE.
for (int i = 0; i < nCount; i++)
{
m_myListCtrl.SetCheck(i, fCheck);
ASSERT((m_myListCtrl.GetCheck(i) && fCheck) ||
(!m_myListCtrl.GetCheck(i) && !fCheck));
fCheck = !fCheck;
}
CListCtrl::SetColumn
Liste görünümü sütununun özniteliklerini ayarlar.
BOOL SetColumn(
int nCol,
const LVCOLUMN* pColumn);
Parametreler
nCol
Öznitelikleri ayarlanacak sütunun dizini.
pColumn
Windows SDK'da açıklandığı gibi yeni sütun özniteliklerini içeren bir LVCOLUMN
yapının adresi. Yapının mask
üyesi, ayarlanacağı sütun özniteliklerini belirtir. mask
Üye değeri belirtirseLVCF_TEXT
, yapının pszText
üyesi null olarak sonlandırılan dizenin adresidir ve yapının cchTextMax
üyesi yoksayılır.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
örneğine CListCtrl::GetColumn
bakın.
CListCtrl::SetColumnOrderArray
Liste görünümü denetiminin sütun sırasını (soldan sağa) ayarlar.
BOOL SetColumnOrderArray(
int iCount,
LPINT piArray);
Parametreler
piArray
Liste görünümü denetimindeki sütunların dizin değerlerini içeren arabelleğe yönelik bir işaretçi (soldan sağa). Arabellek, liste görünümü denetimindeki toplam sütun sayısını içerecek kadar büyük olmalıdır.
iCount
Liste görünümü denetimindeki sütun sayısı.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Bu üye işlevi, ListView_SetColumnOrderArray
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
örneğine CListCtrl::GetColumnOrderArray
bakın.
CListCtrl::SetColumnWidth
Rapor görünümünde veya liste görünümünde bir sütunun genişliğini değiştirir.
BOOL SetColumnWidth(
int nCol,
int cx);
Parametreler
nCol
Genişliğin ayarlanacağı sütunun dizini. Liste görünümünde bu parametre 0 olmalıdır.
cx
Sütunun yeni genişliği. Windows SDK'da LVSCW_AUTOSIZE
LVM_SETCOLUMNWIDTH
açıklandığı gibi veya LVSCW_AUTOSIZE_USEHEADER
olabilir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
CListCtrl::SetExtendedStyle
Liste görünümü denetiminin geçerli genişletilmiş stillerini ayarlar.
DWORD SetExtendedStyle(DWORD dwNewStyle);
Parametreler
dwNewStyle
Liste görünümü denetimi tarafından kullanılacak genişletilmiş stillerin birleşimi. Bu stillerin açıklayıcı bir listesi için Windows SDK'sında Genişletilmiş Liste Görünümü Stilleri konusuna bakın.
Dönüş Değeri
Liste görünümü denetimi tarafından kullanılan önceki genişletilmiş stillerin birleşimi.
Açıklamalar
Bu üye işlevi, ListView_SetExtendedListViewStyle
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
(m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);
CListCtrl::SetGroupInfo
Geçerli liste görünümü denetiminin belirtilen grubunu açıklayan bilgileri ayarlar.
int SetGroupInfo(
int iGroupId,
PLVGROUP pgrp);
Parametreler
iGroupId
Bilgileri ayarlanmış grubun tanımlayıcısı.
pgrp
Ayarlanacağı bilgileri içeren bir LVGROUP
yapıya yönelik işaretçi. Çağıran, bu yapıyı ayırıp üyelerini ayarlamakla sorumludur.
Dönüş Değeri
Yöntem başarılı olursa grubun kimliği; aksi takdirde, -1.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_SETGROUPINFO
.
CListCtrl::SetGroupMetrics
Liste görünümü denetiminin grup ölçümlerini ayarlar.
void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);
Parametreler
pGroupMetrics
Ayarlanacak grup ölçümleri bilgilerini içeren bir LVGROUPMETRICS
yapı işaretçisi.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETGROUPMETRICS
işlevselliğine öykünmektedir.
CListCtrl::SetHotCursor
Liste görünümü denetimi için etkin izleme etkinleştirildiğinde kullanılan imleci ayarlar.
HCURSOR SetHotCursor(HCURSOR hc);
Parametreler
hc
Sık erişimli imleci temsil etmek için kullanılan bir imleç kaynağının tutamacı.
Dönüş Değeri
Liste görünümü denetimi tarafından kullanılan önceki sık erişimli imleç kaynağının tutamacı.
Açıklamalar
Bu üye işlevi, ListView_SetHotCursor
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Yalnızca vurgulama seçimi etkinleştirildiğinde görünen etkin imleç, imleç herhangi bir liste görünümü öğesinin üzerinden geçerken görünür. Genişletilmiş stil ayarlanarak LVS_EX_TRACKSELECT
vurgu seçimi etkinleştirilir.
Örnek
örneğine CListCtrl::GetHotCursor
bakın.
CListCtrl::SetHotItem
Liste görünümü denetiminin geçerli sık erişimli öğesini ayarlar.
int SetHotItem(int iIndex);
Parametreler
iIndex
Sık erişimli öğe olarak ayarlanacak öğenin sıfır tabanlı dizini.
Dönüş Değeri
Önceden sık erişimli öğenin sıfır tabanlı dizini.
Açıklamalar
Bu üye işlevi, ListView_SetHotItem
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
örneğine CListCtrl::GetHotItem
bakın.
CListCtrl::SetHoverTime
Liste görünümü denetiminin geçerli vurgulama zamanını ayarlar.
DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);
Parametreler
dwHoverTime
Fare imlecinin seçilmeden önce öğenin üzerine gelmeleri gereken milisaniye cinsinden yeni gecikme. Varsayılan değer geçirilirse, saat varsayılan vurgulama süresine ayarlanır.
Dönüş Değeri
Milisaniye cinsinden önceki vurgulama süresi.
Açıklamalar
Bu üye işlevi, ListView_SetHoverTime
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
örneğine CListCtrl::GetHoverTime
bakın.
CListCtrl::SetIconSpacing
Liste görünümü denetimindeki simgeler arasındaki aralığı ayarlar.
CSize SetIconSpacing(
int cx,
int cy);
CSize SetIconSpacing(CSize size);
Parametreler
cx
X eksenindeki simgeler arasındaki uzaklık (piksel cinsinden).
cy
Y eksenindeki simgeler arasındaki uzaklık (piksel cinsinden).
size
CSize
x ve y eksenlerindeki simgeler arasındaki uzaklığı (piksel cinsinden) belirten nesne.
Dönüş Değeri
CSize
Simge aralığı için önceki değerleri içeren bir nesne.
Açıklamalar
Bu üye işlevi, ListView_SetIconSpacing
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));
CListCtrl::SetImageList
Liste görünümü denetimine resim listesi atar.
CImageList* SetImageList(
CImageList* pImageList,
int nImageListType);
Parametreler
pImageList
Atanacak görüntü listesinin işaretçisi.
nImageListType
Resim listesi türü. Bu değerlerden biri olabilir:
LVSIL_NORMAL
Büyük simgeler içeren resim listesi.LVSIL_SMALL
Küçük simgeler içeren resim listesi.LVSIL_STATE
Durum görüntülerinin yer aldığı resim listesi.
Dönüş Değeri
Önceki resim listesinin işaretçisi.
Örnek
örneğine CListCtrl::GetImageList
bakın.
CListCtrl::SetInfoTip
Araç ipucu metnini ayarlar.
BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);
Parametreler
plvInfoTip
Ayarlanacak bilgileri içeren bir LVFSETINFOTIP
yapı işaretçisi.
Dönüş Değeri
Başarılı olduğunda, FALSE
başarısız olduğunda döndürürTRUE
.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETINFOTIP
işlevselliğine öykünmektedir.
CListCtrl::SetInsertMark
Ekleme noktasını tanımlı konuma ayarlar.
BOOL SetInsertMark(LPLVINSERTMARK plvim);
Parametreler
plvim
Ekleme noktasının ayarlanacağı yeri belirten bir LVINSERTMARK
yapı işaretçisi.
Dönüş Değeri
Başarılı olursa veya FALSE
başka bir şekilde döndürürTRUE
. FALSE
, yapı üyesinin cbSize
LVINSERTMARK
boyutu yapının gerçek boyutuna eşit değilse veya ekleme noktası geçerli görünümde geçerli değilse döndürülür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETINSERTMARK
işlevselliğine öykünmektedir.
CListCtrl::SetInsertMarkColor
Ekleme noktasının rengini ayarlar.
COLORREF SetInsertMarkColor(COLORREF color);
Parametreler
color
COLORREF
Ekleme noktasının ayarlanacağı rengi belirten yapı.
Dönüş Değeri
Önceki rengi içeren bir COLORREF
yapı döndürür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETINSERTMARKCOLOR
işlevselliğine öykünmektedir.
CListCtrl::SetItem
Liste görünümü öğesinin özniteliklerinin bazılarını veya tümünü ayarlar.
BOOL SetItem(const LVITEM* pItem);
BOOL SetItem(
int nItem,
int nSubItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
UINT nState,
UINT nStateMask,
LPARAM lParam);
BOOL SetItem(
int nItem,
int nSubItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
UINT nState,
UINT nStateMask,
LPARAM lParam,
int nIndent);
Parametreler
pItem
Windows SDK'da açıklandığı gibi yeni öğe özniteliklerini içeren bir LVITEM
yapının adresi. Yapı iItem
ve iSubItem
üyeleri öğeyi veya alt öğeyi tanımlar ve yapının mask
üyesi hangi özniteliklerin ayarlandığını belirtir. Üye hakkında mask
daha fazla bilgi için bkz . Açıklamalar.
nItem
Öznitelikleri ayarlanacak öğenin dizini.
nSubItem
Öznitelikleri ayarlanacak alt dizinin dizini.
nMask
Ayarlanacak öznitelikleri belirtir (bkz. Açıklamalar).
lpszItem
Öğenin etiketini belirten null ile sonlandırılan dizenin adresi.
nImage
Görüntü listesinde öğenin görüntüsünün dizini.
nState
Değiştirilecek durumların değerlerini belirtir (bkz. Açıklamalar).
nStateMask
Hangi durumların değiştirileceği belirtir (bkz. Açıklamalar).
lParam
Öğeyle ilişkilendirilecek 32 bit (x64 için derleniyorsanız 64 bit) uygulamaya özgü bir değer.
nIndent
Girintinin piksel cinsinden genişliği. Sistem tanımlı minimum genişlikten küçükse nIndent
, yeni genişlik sistem tanımlı en küçük değere ayarlanır
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
iItem
yapı ve ve parametrelerinin LVITEM
ve iSubItem
nItem
nSubItem
üyeleri, öznitelikleri ayarlanacak öğeyi ve alt öğeyi tanımlar.
mask
Yapı nMask
ve parametresinin LVITEM
üyesi, ayarlanacak öğe özniteliklerini belirtir:
LVIF_TEXT
pszText
Üye veyalpszItem
parametresi null olarak sonlandırılan dizenin adresidir;cchTextMax
üye yoksayılır.LVIF_STATE
ÜyestateMask
veyanStateMask
parametre hangi öğe durumlarının değiştireceğini belirtir vestate
üye veyanState
parametre bu durumların değerlerini içerir.
Örnek
örneğine CListCtrl::HitTest
bakın.
CListCtrl::SetItemCount
Çok sayıda öğe eklemek için bir liste görünümü denetimi hazırlar.
void SetItemCount(int nItems);
Parametreler
nItems
Denetimin sonunda içereceği öğe sayısı.
Açıklamalar
Sanal liste görünümü denetiminin öğe sayısını ayarlamak için bkz CListCtrl::SetItemCountEx
. .
Bu üye işlevi, ListView_SetItemCount
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
CString str;
// Add 1024 items to the list view control.
m_myListCtrl.SetItemCount(1024);
for (int i = 0; i < 1024; i++)
{
str.Format(TEXT("item %d"), i);
m_myListCtrl.InsertItem(i, str);
}
CListCtrl::SetItemCountEx
Sanal liste görünümü denetimi için öğe sayısını ayarlar.
BOOL SetItemCountEx(
int iCount,
DWORD dwFlags = LVSICF_NOINVALIDATEALL);
Parametreler
iCount
Denetimin sonunda içereceği öğe sayısı.
dwFlags
Öğe sayısı sıfırladıktan sonra liste görünümü denetiminin davranışını belirtir. Bu değer aşağıdakilerin bir bileşimi olabilir:
LVSICF_NOINVALIDATEALL
Etkilenen öğeler şu anda görünümde olmadığı sürece liste görünümü denetimi yeniden boyanmayacak. Bu varsayılan değerdir.LVSICF_NOSCROLL
Öğe sayısı değiştiğinde liste görünümü denetimi kaydırma konumunu değiştirmez.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Bu üye işlevi, ListView_SetItemCountEx
Windows SDKand yalnızca sanal liste görünümleri için çağrılmalıdır bölümünde açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
CString str;
// Add 1024 items to the list view control.
// Force my virtual list view control to allocate
// enough memory for my 1024 items.
m_myVirtualListCtrl.SetItemCountEx(1024, LVSICF_NOSCROLL|
LVSICF_NOINVALIDATEALL);
for (int i = 0; i < 1024; i++)
{
str.Format(TEXT("item %d"), i);
m_myVirtualListCtrl.InsertItem(i, str);
}
CListCtrl::SetItemData
tarafından nItem
belirtilen öğeyle ilişkili uygulamaya özgü 32 bit (x64 için derleniyorsanız 64 bit) değerini ayarlar.
BOOL SetItemData(int nItem, DWORD_PTR dwData);
Parametreler
nItem
Verileri ayarlanacak olan liste öğesinin dizini.
dwData
Öğeyle ilişkilendirmek için 32 bit değer (x64 için derleniyorsanız 64 bit).
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu değer, Windows SDK'da açıklandığı gibi yapının üyesidir lParam
LVITEM
.
Örnek
// Set the data of each item to be equal to its index.
for (int i = 0; i < m_myListCtrl.GetItemCount(); i++)
{
m_myListCtrl.SetItemData(i, i);
}
CListCtrl::SetItemIndexState
Geçerli liste görünümü denetimindeki bir öğenin durumunu ayarlar.
BOOL SetItemIndexState(
PLVITEMINDEX pItemIndex,
DWORD dwState,
DWORD dwMask) const;
Parametreler
pItemIndex
[in] Öğeyi açıklayan bir LVITEMINDEX
yapıya yönelik işaretçi. Çağıran, bu yapıyı ayırıp üyelerini ayarlamakla sorumludur.
dwState
[in] Liste görünümü öğe durumlarının bit düzeyinde bir bileşimi olan öğenin ayarlanacağı durum. Sıfırlanması gereken sıfır veya ayarlanacağı bir durum belirtin.
dwMask
[in] parametresi tarafından dwState
belirtilen durumun geçerli bitlerinin maskesi. Liste görünümü öğe durumlarının bit düzeyinde bir bileşimini (VEYA) belirtin.
Dönüş Değeri
TRUE
bu yöntem başarılı olursa; aksi takdirde , FALSE
.
Açıklamalar
parametresi hakkında dwState
daha fazla bilgi için bkz . Liste Görünümü Öğe Durumları.
parametresi hakkında dwMask
daha fazla bilgi için yapının üyesine LVITEM
bakınstateMask
.
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_SETITEMINDEXSTATE
.
CListCtrl::SetItemPosition
Öğeyi liste görünümü denetiminde belirtilen konuma taşır.
BOOL SetItemPosition(
int nItem,
POINT pt);
Parametreler
nItem
Konumu ayarlanacak öğenin dizini.
pt
POINT
Öğenin sol üst köşesindeki görünüm koordinatlarında yeni konumu belirten bir yapı.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Denetim simge veya küçük simge görünümünde olmalıdır.
Liste görünümü denetimi stile LVS_AUTOARRANGE
sahipse, liste görünümü öğenin konumu ayarlandıktan sonra düzenlenir.
Örnek
örneğine CListCtrl::GetItemPosition
bakın.
CListCtrl::SetItemState
Liste görünümü denetimindeki bir öğenin durumunu değiştirir.
BOOL SetItemState(
int nItem,
LVITEM* pItem);
BOOL SetItemState(
int nItem,
UINT nState,
UINT nMask);
Parametreler
nItem
Durumu ayarlanacak öğenin dizini. Durum değişikliğini tüm öğelere uygulamak için -1'i geçirin.
pItem
Windows SDK'da açıklandığı gibi bir LVITEM
yapının adresi. Yapının stateMask
üyesi hangi durum bitlerinin değiştireceğini belirtir ve yapının state
üyesi bu bitler için yeni değerleri içerir. Diğer üyeler yoksayılır.
nState
Durum bitleri için yeni değerler. Olası değerlerin listesi için bkz CListCtrl::GetNextItem
. ve LVITEM
durum üyesi.
nMask
Hangi durum bitlerinin değiştirileceğini belirten maske. Bu değer, yapının stateMask üyesine LVITEM
karşılık gelir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Öğenin "durumu", öğenin kullanılabilirliğini belirten, kullanıcı eylemlerini gösteren veya öğenin durumunu başka bir şekilde yansıtan bir değerdir. Liste görünümü denetimi, kullanıcının öğe seçmesi gibi bazı durum bitlerini değiştirir. Bir uygulama, öğeyi devre dışı bırakmak veya gizlemek ya da katman görüntüsü veya durum görüntüsü belirtmek için diğer durum bitlerini değiştirebilir.
Örnek
örneğine CListCtrl::GetTopIndex
bakın.
CListCtrl::SetItemText
Liste görünümü öğesinin veya alt öğesinin metnini değiştirir.
BOOL SetItemText(
int nItem,
int nSubItem,
LPCTSTR lpszText);
Parametreler
nItem
Metni ayarlanacak öğenin dizini.
nSubItem
Öğe etiketini ayarlamak için alt öğenin dizini veya sıfır.
lpszText
Yeni öğe metnini içeren bir dizenin işaretçisi.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Bu yöntem, pencere stilini içeren LVS_OWNERDATA
denetimlerle kullanılmak üzere tasarlanmamıştır (aslında, bu hata ayıklama derlemelerinde onay işlemine neden olur). Bu liste denetim stili hakkında daha fazla bilgi için bkz . Liste Görünümü Denetimlerine Genel Bakış.
Örnek
örneğine CListCtrl::InsertItem
bakın.
CListCtrl::SetOutlineColor
Genişletilmiş pencere stili ayarlandıysa, liste görünümü denetiminin kenarlığı rengini LVS_EX_BORDERSELECT
ayarlar.
COLORREF SetOutlineColor(COLORREF color);
Parametreler
color
Ana hat rengini içeren yeni COLORREF
yapı.
Dönüş Değeri
Ana hat rengini içeren önceki COLORREF
yapı
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETOUTLINECOLOR
işlevselliğine öykünmektedir.
CListCtrl::SetSelectedColumn
Liste görünümü denetiminin seçili sütununu ayarlar.
LRESULT SetSelectedColumn(int iCol);
Parametreler
iCol
Seçilecek sütunun dizini.
Dönüş Değeri
Dönüş değeri kullanılmaz.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETSELECTEDCOLUMN
işlevselliğine öykünmektedir.
CListCtrl::SetSelectionMark
Liste görünümü denetiminin seçim işaretini ayarlar.
int SetSelectionMark(int iIndex);
Parametreler
iIndex
Birden çok seçimdeki ilk öğenin sıfır tabanlı dizini.
Dönüş Değeri
Önceki seçim işareti veya seçim işareti yoksa -1.
Açıklamalar
Bu üye işlevi, ListView_SetSelectionMark
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
örneğine CListCtrl::GetSelectionMark
bakın.
CListCtrl::SetTextBkColor
Liste görünümü denetimindeki metnin arka plan rengini ayarlar.
BOOL SetTextBkColor(COLORREF cr);
Parametreler
cr
COLORREF
Yeni metin arka plan rengini belirten bir. Daha fazla bilgi için bkz COLORREF
. Windows SDK'sı.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetTextBkColor(crBkColor);
ASSERT(m_myListCtrl.GetTextBkColor() == crBkColor);
CListCtrl::SetTextColor
Liste görünümü denetiminin metin rengini ayarlar.
BOOL SetTextColor(COLORREF cr);
Parametreler
cr
COLORREF
Yeni metin rengini belirten bir. Daha fazla bilgi için bkz COLORREF
. Windows SDK'sı.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Örnek
// Use the window text color for
// the item text of the list view control.
COLORREF crTextColor = ::GetSysColor(COLOR_WINDOWTEXT);
m_myListCtrl.SetTextColor(crTextColor);
ASSERT(m_myListCtrl.GetTextColor() == crTextColor);
CListCtrl::SetTileInfo
Liste görünümü denetiminin kutucuğunun bilgilerini ayarlar.
BOOL SetTileInfo(PLVTILEINFO pTileInfo);
Parametreler
pTileInfo
Ayarlanacak bilgileri içeren bir LVTILEINFO
yapı işaretçisi.
Dönüş Değeri
Başarılı olduğunda, FALSE
başarısız olduğunda döndürürTRUE
.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETTILEINFO
işlevselliğine öykünmektedir.
CListCtrl::SetTileViewInfo
Liste görünümü denetiminin kutucuk görünümünde kullandığı bilgileri ayarlar.
BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);
Parametreler
ptvi
Ayarlanacağı bilgileri içeren bir LVTILEVIEWINFO
yapı işaretçisi.
Dönüş Değeri
Başarılı olduğunda, FALSE
başarısız olduğunda döndürürTRUE
.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETTILEVIEWINFO
işlevselliğine öykünmektedir.
CListCtrl::SetToolTips
Liste görünümü denetiminin araç ipuçlarını görüntülemek için kullanacağı araç ipucu denetimini ayarlar.
CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);
Parametreler
pWndTip
Liste denetiminin kullanacağı nesne CToolTipCtrl
işaretçisi.
Dönüş Değeri
Daha önce denetim tarafından kullanılan araç ipucunun bulunduğu bir CToolTipCtrl
nesnenin işaretçisi veya NULL
daha önce hiçbir araç ipucu kullanılmadıysa.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 iletisinin LVM_SETTOOLTIPS
davranışını uygular.
Araç ipuçlarını kullanmamak için, nesneyi oluştururken CListCtrl
stili belirtinLVS_NOTOOLTIPS
.
CListCtrl::SetView
Liste görünümü denetiminin görünümünü ayarlar.
DWORD SetView(int iView);
Parametreler
iView
Seçilecek görünüm.
Dönüş Değeri
Başarılı olursa 1 veya aksi takdirde -1 döndürür. Örneğin, görünüm geçersizse -1 döndürülür.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SETVIEW
işlevselliğine öykünmektedir.
CListCtrl::SetWorkAreas
Simgelerin liste görünümü denetiminde görüntülenebileceği alanı ayarlar.
void SetWorkAreas(
int nWorkAreas,
LPRECT lpRect);
Parametreler
nWorkAreas
tarafından işaret edilen lpRect
dizideki yapıların (veya CRect
nesnelerin) sayısıRECT
.
lpRect
Liste görünümü denetiminin RECT
yeni çalışma alanlarını belirten bir yapı dizisinin (veya CRect
nesnelerin) adresi. Bu alanlar istemci koordinatlarında belirtilmelidir. Bu parametre ise NULL
, çalışma alanı denetimin istemci alanına ayarlanır.
Açıklamalar
Bu üye işlevi, ListView_SetWorkAreas
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);
CListCtrl::SortGroups
Bir liste görünümü denetiminde grupları kimliklere göre sıralamak için uygulama tanımlı karşılaştırma işlevini kullanır.
BOOL SortGroups(
PFNLVGROUPCOMPARE _pfnGroupCompare,
LPVOID _plv);
Parametreler
_pfnGroupCompare
Grup karşılaştırma işlevinin işaretçisi.
_plv
Geçersiz bir işaretçi.
Dönüş Değeri
Başarılı olduğunda, FALSE
başarısız olduğunda döndürürTRUE
.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin LVM_SORTGROUPS
işlevselliğine öykünmektedir.
CListCtrl::SortItems
Uygulama tanımlı karşılaştırma işlevini kullanarak liste görünümü öğelerini sıralar.
BOOL SortItems(
PFNLVCOMPARE pfnCompare,
DWORD_PTR dwData);
Parametreler
pfnCompare
[in] Uygulama tanımlı karşılaştırma işlevinin adresi.
Sıralama işlemi, iki liste öğesinin göreli sırasının her belirlenmesi gerektiğinde karşılaştırma işlevini çağırır. Karşılaştırma işlevi, bir sınıfın statik üyesi veya herhangi bir sınıfın üyesi olmayan tek başına bir işlev olmalıdır.
dwData
[in] Karşılaştırma işlevine geçirilen uygulama tanımlı değer.
Dönüş Değeri
TRUE
yöntem başarılı olursa; aksi takdirde FALSE
.
Açıklamalar
Bu yöntem, her öğenin dizinini yeni diziyi yansıtacak şekilde değiştirir.
karşılaştırma işlevi pfnCompare
aşağıdaki biçimdedir:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Karşılaştırma işlevi, birinci öğenin ikinci öğeden önce olması gerekiyorsa negatif bir değer, ikinci öğeyi izlemesi gerekiyorsa pozitif bir değer veya iki öğe eşitse sıfır döndürmelidir.
parametresi, lParam1
karşılaştırılan lParam2
ilk öğeyle ilişkilendirilmiş 32 bit değerdir (x64 için derleniyorsanız 64 bit), parametre ise ikinci öğeyle ilişkili değerdir. Bunlar, listeye eklendiklerinde öğelerin LVITEM
yapısının üyesinde lParam
belirtilen değerlerdir. lParamSort
parametresi değerle dwData
aynıdır.
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_SORTITEMS
.
Örnek
Aşağıda, öğelerin değerlerine lParam
göre sıralanmasını sağlayan basit bir karşılaştırma işlevi yer alır.
// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2,
LPARAM lParamSort)
{
UNREFERENCED_PARAMETER(lParamSort);
return (int)(lParam1 - lParam2);
}
// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}
CListCtrl::SortItemsEx
Uygulama tanımlı karşılaştırma işlevini kullanarak geçerli liste görünümü denetiminin öğelerini sıralar.
BOOL SortItemsEx(
PFNLVCOMPARE pfnCompare,
DWORD_PTR dwData);
Parametreler
pfnCompare
[in] Uygulama tanımlı karşılaştırma işlevinin adresi. Sıralama işlemi, iki liste öğesinin göreli sırasının her belirlenmesi gerektiğinde karşılaştırma işlevini çağırır. Karşılaştırma işlevi, bir sınıfın statik üyesi veya herhangi bir sınıfın üyesi olmayan tek başına bir işlev olmalıdır.
dwData
[in] Karşılaştırma işlevine geçirilen uygulama tanımlı değer.
Dönüş Değeri
TRUE
bu yöntem başarılı olursa; aksi takdirde , FALSE
.
Açıklamalar
Bu yöntem, her öğenin dizinini yeni diziyi yansıtacak şekilde değiştirir.
karşılaştırma işlevi pfnCompare
aşağıdaki biçimdedir:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Bu ileti, karşılaştırma işlevine geçirilen bilgilerin türü dışında gibi LVM_SORTITEMS
bir iletidir. lParam1
içinde LVM_SORTITEMS
ve lParam2
karşılaştıracak öğelerin değerleridir. içinde LVM_SORTITEMSEX
, lParam1
karşılaştırılır ilk öğenin geçerli dizinidir ve lParam2
ikinci öğenin geçerli dizinidir. Bir öğe hakkında daha fazla bilgi almak için ileti gönderebilirsiniz LVM_GETITEMTEXT
.
Karşılaştırma işlevi, birinci öğenin ikinci öğeden önce olması gerekiyorsa negatif bir değer, ikinci öğeyi izlemesi gerekiyorsa pozitif bir değer veya iki öğe eşitse sıfır döndürmelidir.
Not
Sıralama işlemi sırasında liste görünümü içeriği kararsızdır. Geri çağırma işlevi dışında LVM_GETITEM
liste görünümü denetimine herhangi bir ileti gönderirse, sonuçlar tahmin edilemez.
Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir LVM_SORTITEMSEX
.
Örnek
İlk kod örneği, m_listCtrl
geçerli liste görünümü denetimine erişmek için kullanılan bir değişkeni tanımlar. Bu değişken sonraki örnekte kullanılır.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Sonraki kod örneği yöntemini gösterir SortItemEx
. Bu kod örneğinin önceki bir bölümünde, rapor görünümünde "ClientID" ve "Grade" başlıklı iki sütunu görüntüleyen bir liste görünümü denetimi oluşturduk. Aşağıdaki kod örneği, "Grade" sütunundaki değerleri kullanarak tabloyu sıralar.
// The ListCompareFunc() method is a global function used by SortItemEx().
int CALLBACK ListCompareFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort)
{
CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
CString strItem1 = pListCtrl->GetItemText(static_cast<int>(lParam1), 1);
CString strItem2 = pListCtrl->GetItemText(static_cast<int>(lParam2), 1)
int x1 = _tstoi(strItem1.GetBuffer());
int x2 = _tstoi(strItem2.GetBuffer());
int result = 0;
if ((x1 - x2) < 0)
result = -1;
else if ((x1 - x2) == 0)
result = 0;
else
result = 1;
return result;
}
void CCListCtrl_s2Dlg::OnBnClickedButton1()
{
// SortItemsEx
m_listCtrl.SortItemsEx( ListCompareFunc, (LPARAM)&m_listCtrl );
}
CListCtrl::SubItemHitTest
Varsa, hangi liste görünümü öğesinin belirli bir konumda olduğunu belirler.
int SubItemHitTest(LPLVHITTESTINFO pInfo);
Parametreler
pInfo
Yapı işaretçisi LVHITTESTINFO
.
Dönüş Değeri
Öğenin veya alt öğenin test edilen (varsa) veya -1 dışındaki tek tabanlı dizini.
Açıklamalar
Bu üye işlevi, ListView_SubItemHitTest
Windows SDK'da açıklandığı gibi Win32 makrosunun davranışını uygular.
Örnek
void CListCtrlDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)
{
UNREFERENCED_PARAMETER(pResult);
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
LVHITTESTINFO lvhti;
// Clear the subitem text the user clicked on.
lvhti.pt = pia->ptAction;
m_myListCtrl.SubItemHitTest(&lvhti);
if (lvhti.flags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItemText(lvhti.iItem, lvhti.iSubItem, NULL);
}
}
CListCtrl::Update
Liste görünümü denetimini tarafından belirtilen öğeyi yeniden boyamaya zorlar nItem
.
BOOL Update(int nItem);
Parametreler
nItem
Güncelleştirilecek öğenin dizini.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde sıfır.
Açıklamalar
Bu işlev, stile sahipse LVS_AUTOARRANGE
liste görünümü denetimini de düzenler.
Örnek
örneğine CListCtrl::GetSelectedCount
bakın.
Ayrıca bkz.
MFC Örnek SATIR LİSTESİ
CWnd
Sınıf
Hiyerarşi Grafiği
CImageList
Sınıf