2011-11-16 58 views

回答

4

這是Delphi控件中的一個bug,我已經轉載。我不確定是什麼導致了錯誤。我已將其提交給質量中心,編號爲QC#101104

我找到了一個簡單的解決辦法,將下面的代碼添加到窗體的OnShow事件中。

ListView1.Align := alNone; 
ListView1.Align := alClient; 

以下DFM文件,就足以說明問題:

object MyForm: TMyForm 
    Left = 0 
    Top = 0 
    ClientHeight = 300 
    ClientWidth = 635 
    object ListView1: TListView 
    Left = 200 
    Top = 96 
    Width = 250 
    Height = 150 
    Align = alClient 
    Columns = < 
     item 
     Caption = 'Column' 
     end> 
    Groups = < 
     item 
     Header = 'Group header' 
     GroupID = 0 
     end> 
    Items.ItemData = { 
     052A0000000100000000000000FFFFFFFFFFFFFFFF0000000000000000000000 
     000854006800650020006900740065006D00} 
    GroupView = True 
    ViewStyle = vsReport 
    end 
end 

事實證明,另一種方式來解決這個問題是將在DFM文件,以便ViewStyle進入它出現在Items條目之前。所以問題的另一個解決方法是在運行時添加項目。事實上,這可能解釋了爲什麼這個bug沒有被發現,因爲我敢打賭,絕大多數列表視圖代碼在運行時添加了這些項目。

+0

@jhon這是回答您的問題嗎? –

+0

是的,非常感謝!!我抹掉了以前的答案謝謝哈哈 –

相關問題