여러 Delphi 2005 응용 프로그램을 XE2로 변환하고 더 이상 사용할 수없는 구성 요소를 사용하므로 기본 구성을 처리하기 위해 자체 구성 요소를 작성했습니다. 구성 요소를 폼에 놓을 때 일반적으로 괜찮습니다. 그러나 DFM에 속성이 이미 설정된이 구성 요소가 포함 된 VCL 폼을 열면 문제가 발생합니다.사용자 정의 Delphi 구성 요소에 Columns.Columns 속성 구현
델파이 2005 DFM은 다음과 같이 포함되어 있습니다
내 구성 요소가 된 TCollection에서 상속하는 클래스를 기반으로 열 속성을 가지고 있으며, 나는 상속 사용하는 컬렉션에 열 속성을 추가 한 경우에도object ExtendedGrid1: TExtendedGrid
Left = 32
Top = 16
Width = 577
Height = 257
TabOrder = 0
Columns.Columns = (
'OE6.02'
(
'Test1'
64
False
0
'clWindowText'
-11
'Tahoma'
0
8
False
False
False
False
0
1
0
0
0
1
0
'clWindowText'
-11
'Tahoma'
0
8
False
False
False
False
0
1
0
'test2'
64
False
0
'clWindowText'
-11
'Trebuchet MS'
0
8
True
True
False
False
0
1
0
0
0
1
0
'clWindowText'
-11
'Tahoma'
0
8
False
False
False
False
0
1
0
''
'0'))
RowHeights = (
19
19)
end
항목, 디자이너에서 양식을 열려고 시도 할 때이 오류가 발생합니다.
양식을 만드는 동안 오류가 발생했습니다. MyGrid1.Columns.Columns : 속성 열을 읽는 중 오류가 없습니다.
이Columns = <
item
Title = 'Test1'
Width = 64
Editable = False
HeaderClipStyle = csClip
HeaderFont.Charset = DEFAULT_CHARSET
HeaderFont.Color = clWindowText
HeaderFont.Height = -11
HeaderFont.Name = 'Tahoma'
HeaderFont.Style = []
HeaderHAlign = haRight
HeaderInnerBevel = bvNone
HeaderOuterBevel = bvNone
HeaderBorderWidth = 0
HeaderBevelWidth = 0
ContentsClipStyle = csClip
ContentsFont.Charset = DEFAULT_CHARSET
ContentsFont.Color = clWindowText
ContentsFont.Height = -11
ContentsFont.Name = 'Tahoma'
ContentsFont.Style = []
ComboFilled = False
ComboEditable = False
end
item
Title = 'test2'
Width = 64
Editable = False
HeaderClipStyle = csClip
HeaderFont.Charset = DEFAULT_CHARSET
HeaderFont.Color = clWindowText
HeaderFont.Height = -11
HeaderFont.Name = 'Trebuchet MS'
HeaderFont.Style = []
HeaderInnerBevel = bvNone
HeaderOuterBevel = bvNone
HeaderBorderWidth = 0
HeaderBevelWidth = 0
ContentsClipStyle = csClip
ContentsFont.Charset = DEFAULT_CHARSET
ContentsFont.Color = clWindowText
ContentsFont.Height = -11
ContentsFont.Name = 'Tahoma'
ContentsFont.Style = []
ComboFilled = False
ComboEditable = False
end
end>
누군가가 나를 수있는 몇 가지 기사 또는 설명을 날 포인트 : 내 구성 요소의 새 복사본을 만드는 경우
후 나는 DFM에서 완전히 다른 무언가를보고, 위로 열을 설정 내 맞춤 구성 요소를 작성하여 이전 Delphi 2005 DFM을 처리 할 수 있습니까? 감사.
난 당신이 WriteListBegin/WriteListEnd 및 ReadListBegin/ReadListEnd을 사용할 필요가하려고하는 것을 생각한다. TCustomGrid에서 RowHeights 및 ColWidths 속성을 처리하는 방법을 살펴보십시오. TCustomGrid.DefineProperties를 살펴보십시오. –