form1に1つのVirtualStringTree(VST1)を配置し、それにいくつかのデータを追加しました。垂直スクロールバーはノードの数に関係なく表示され、ノードの高さのデフォルトのプロパティについては何もしませんでした。次に、VST1をform2にコピーし、VST2という名前を付けたところ、VST2のスクロールバーが表示されなくなりました。VST2のparent
コントロールとalign
プロパティを変更しました(何度もテストしましたが、alignとその親のプロパティを変更する順序を思い出せません)。最後にスクロールバーがどのように表示されるかわかりません。次に、VST2をform3にコピーし、VST3という名前を付けました。そして今、私がどのようにテストしたとしても、VST3のデータがウィンドウビューを超えている場合、その垂直スクロールバーは表示されません。
VSTのプロパティが多すぎますが、どのプロパティを設定する必要がありますか?
編集:
// vt is on form1, scrollbaroption.alwaysvisible:=false;
// and vt can show vertical scrollbar,
object vt: TVirtualStringTree
Left = 1
Top = 1
Width = 353
Height = 301
Hint = 'Click header to sort'
Align = alClient
Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText
Header.Font.Height = -11
Header.Font.Name = 'MS Sans Serif'
Header.Font.Style = []
Header.Options = [hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible]
Indent = 3
ParentShowHint = False
ShowHint = True
TabOrder = 3
TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning]
TreeOptions.PaintOptions = [toShowRoot, toThemeAware, toUseBlendedImages]
TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect, toRightClickSelect]
OnChange = vtChange
OnCompareNodes = vtCompareNodes
OnFocusChanged = vtFocusChanged
OnFreeNode = vtFreeNode
OnGetText = vtGetText
OnGetNodeDataSize = vtGetNodeDataSize
OnHeaderClick = vtHeaderClick
OnLoadNode = vtLoadNode
OnSaveNode = vtSaveNode
Columns = <
item
Position = 0
Width = 168
WideText = 'Type'
end
item
Position = 1
Width = 80
WideText = 'Frequency'
end
item
Position = 2
Width = 80
WideText = 'Percent'
end
item
CheckBox = True
Position = 3
Width = 80
WideText = 'Rank'
end
item
Position = 4
Width = 80
WideText = 'Length'
end
item
Position = 5
WideText = 'Syllables'
end
item
Position = 6
end>
end
end
//tfvt is on form2, scrollbaroption.alwaysvisible:=true;
// I tested both scrollbaroption.alwaysvisible:=true and false
// yesterday it showed scrollbar, today it does not.
// tfvt does not show vertical scrollbar.
object tfvt: TVirtualStringTree
Left = 1
Top = 138
Width = 737
Height = 227
Hint = 'Click header to sort'
Align = alClient
Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText
Header.Font.Height = -11
Header.Font.Name = 'MS Sans Serif'
Header.Font.Style = []
Header.Options = [hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible]
Indent = 3
ParentShowHint = False
ScrollBarOptions.AlwaysVisible = True
ShowHint = True
TabOrder = 2
TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning]
TreeOptions.PaintOptions = [toShowRoot, toThemeAware, toUseBlendedImages]
TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect, toRightClickSelect]
OnChange = tfvtChange
OnCompareNodes = tfvtCompareNodes
OnFocusChanged = tfvtFocusChanged
OnFocusChanging = tfvtFocusChanging
OnFreeNode = tfvtFreeNode
OnGetText = tfvtGetText
OnGetNodeDataSize = tfvtGetNodeDataSize
OnHeaderClick = tfvtHeaderClick
OnLoadNode = tfvtLoadNode
OnSaveNode = tfvtSaveNode
Columns = <
item
Position = 0
Width = 80
end
item
Position = 1
Width = 80
end
item
Position = 2
Width = 80
end
item
CheckBox = True
Position = 3
Width = 80
end
item
Position = 4
Width = 80
end
item
Position = 5
Width = 80
end
item
Position = 6
Width = 80
end>
end
end
end
end
// kwicvt is on form3, scrollbaroption.alwaysvisible:=true;
// I tested both scrollbaroption.alwaysvisible:=true and false
// Now kwicvt does not show vertical scrollbar.
//
object kwicvt: TVirtualStringTree
Left = 32
Top = 24
Width = 433
Height = 317
Hint = 'Click header to sort'
Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText
Header.Font.Height = -11
Header.Font.Name = 'MS Sans Serif'
Header.Font.Style = []
Header.Options = [hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible]
Indent = 3
ParentShowHint = False
ShowHint = True
TabOrder = 0
TreeOptions.AnimationOptions = [toAnimatedToggle]
TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning]
TreeOptions.PaintOptions = [toShowRoot, toThemeAware, toUseBlendedImages]
TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect, toRightClickSelect]
OnChange = kwicvtChange
OnCompareNodes = kwicvtCompareNodes
OnFocusChanged = kwicvtFocusChanged
OnFreeNode = kwicvtFreeNode
OnGetText = kwicvtGetText
OnGetNodeDataSize = kwicvtGetNodeDataSize
OnHeaderClick = kwicvtHeaderClick
OnLoadNode = kwicvtLoadNode
OnSaveNode = kwicvtSaveNode
Columns = <
item
Position = 0
Width = 80
end
item
Alignment = taRightJustify
Position = 1
Width = 80
end
item
Alignment = taCenter
Position = 2
Width = 80
end
item
CheckBox = True
Position = 3
Width = 80
end
item
Position = 4
Width = 80
end
item
Position = 5
Width = 80
end
item
Position = 6
Width = 80
end>
end
[編集]:
最初にアインに感謝します。
注意深くテストしたところ、同じ関数を2回以上呼び出すと、そのvirticalscrollbarが表示されることがわかりました。何かのようなもの:
function fill;
begin
// filling VST;
end;
function button1click;
begin
fill;
end;
button1を初めてクリックすると、垂直スクロールバーが表示されません。2回目以上の場合は、完全に表示されます。
なぜ?、それを解決する方法は?
ありがとう