clistctrl

    2熱度

    1回答

    如何維護CListCtrl的水平滾動條位置?我週期性地轉儲和重新填充列表控件的內容,所以沒有明確記住舊的位置並恢復它,滾動只是回到左上角。 我剛纔問了一個相關的問題CListCtrl: How to maintain scroll position?,但當時我只對垂直滾動位置感興趣,並且提供的答案解決了這個問題。但是,現在我想記住並恢復水平滾動位置(以及垂直滾動)。

    0熱度

    2回答

    所以我正在使用PostMessage(LVN_INSERTITEM,0,(LPARAM) lvitem)實現CListCtrl。我需要一種方法來區分lvitems,以便稍後當我得到一個lvitem時,告訴它是一個文件還是目錄。我需要使用PostMessage來實現,所以我不知道該項目何時插入。我動態分配項目(將動態分配的內存指針存儲在LVITEM結構的lParam屬性中,所以在插入它之後,我將它視

    -1熱度

    1回答

    我有一個CListCtrl對話框。我希望當我點擊其中的一個時,接收killfocus或setfocus消息。 我怎麼能得到它?

    0熱度

    2回答

    我正在開發一個win32/MFC項目。 我有一個自定義CListCtrl控件,我必須不時地添加一些字符串。 我絕對需要對動態添加到我的CListCtrl的項目執行一些操作。 超基本上,我需要: 檢測添加單個元件; 檢索 _single items_ IMMEDIATELY AFTER(理想情況下,在InsertItem()調用後不久); 商店地圖中單個項目的值,我將用它來執行其他操作。 我想過這樣

    2熱度

    1回答

    我正在使用Visual Studio C++ 2008 v 3.5 SP1(帶有功能包)。 通過InsertItem()向MFC CListCtrl對象添加項目後,它們的圖標在大多數視圖模式下以相反的行順序顯示,但是列順序正確。 我沒有使用「報告」(LV_VIEW_DETAILS)模式,所以我提到的行和列指的是圖標在網格或佈局中的排序方式。 我將它們添加這樣的: for (int i = 0; i

    0熱度

    1回答

    我從CListCtrl派生。有沒有辦法找出項目i子項0(第一列)中包含的文本是多長? GetItemText()需要該信息。

    6熱度

    3回答

    使用MFC和Visual Studio 2010 C++。我需要一種方法來使CListCtrl的某些單獨的行脫穎而出(但我不想使用內置的選擇功能來突出顯示行)。它可能是行背景的顏色,或字體重量,甚至可能是圖像(如果這是高性能的)。 理想情況下,我想知道如何使用股票列表控件做到這一點。但是,如果這是不可能的,那麼讓我知道使用第三方代碼的方式。 UPDATE 這裏是我最後使用的代碼: void MyL

    1熱度

    1回答

    的第二列當我做這樣的 list.InsertItem(LVIF_TEXT,0,left,0,0,0,NULL); list.InsertItem(LVIF_TEXT,1,right,0,0,0,NULL); 它插入在「左」串「正確的」。

    1熱度

    3回答

    我試圖找出刷新/更新/重繪列表控件的方式(LVS_ALIGNTOP/LVS_ALIGNLEFT)已被更改後的方式。 如果我改變從圖標/小模風格別的東西再回來,它的工作原理有時(僅當點擊,編程改變似乎不具有延遲甚至工作)。即便如此,這充其量也不過是醜陋的(更不用說醜陋/閃爍),所以我寧願找到更好(更合適,更正確?)的方式。 我嘗試了列表控件的UpdateWindow,RedrawWindow,Inv

    1熱度

    4回答

    似乎CListCtrl不發送鼠標事件,除非有雙擊。 我試圖從鼠標向下處理程序發送丟失的消息來彌補,但這會導致其他不良行爲。然後,我想我可以通過檢查狀態來發送鼠標移動處理程序中的消息以更準確一些。然而,這些都是可怕的黑客攻擊,除了醜陋之外,它們可能無法正確執行派生控制的每個可能的實現。 如果有人知道爲什麼沒有收到鼠標事件,我會很好奇。更重要的是如何使用LVS_OWNERDATA樣式獲得CListCt