Registriert seit: 9. Aug 2007
207 Beiträge
|
AW: TVirtualStringTree AutoFitColumns erste Spalte wird nicht angepasst
4. Apr 2017, 11:23
DefaultColumnOptions = [coAllowClick, coDraggable, coEnabled, coParentColor, coParentBidiMode, coResizable, coShowDropmark, coVisible, coAllowFocus, coEditable];
nix coSmartResize
zu sehen.
Selbst wenn ich coSmartResize hinzufüge ändert sich am Verhalten nichts, Spalte 1 bleibt Stur und das komische ist sie wird ja nicht mals neu gezeichnet, erst wenn man das manuell anstößt mit vstTable.invalidate
Ändere ich den Inhalt z.B. in Spalte 2 wird die Spalte sofort angepasst, neu gezeichnet und alles ist wunderbar.
Hm. Dann könnte eventuell nur noch durch irgend etwas die AutoFit-Operation gecancelt werden.
Delphi-Quellcode:
procedure DoAutoFitColumn(Column: TColumnIndex);
begin
with FColumns do
if ([coResizable, coVisible] * Items[FPositionToIndex[Column]].FOptions = [coResizable, coVisible]) and
DoBeforeAutoFitColumn(FPositionToIndex[Column], SmartAutoFitType) and not TreeView.OperationCanceled then
begin
if Animated then
AnimatedResize(FPositionToIndex[Column], Treeview.GetMaxColumnWidth(FPositionToIndex[Column],
GetUseSmartColumnWidth(FPositionToIndex[Column])))
else
FColumns[FPositionToIndex[Column]].Width := Treeview.GetMaxColumnWidth(FPositionToIndex[Column],
GetUseSmartColumnWidth(FPositionToIndex[Column]));
DoAfterAutoFitColumn(FPositionToIndex[Column]);
end;
end;
not TreeView.OperationCanceled
Binde doch die Unit einfach mal in Dein Projekt ein und debugge das Ganze.
Viel Erfolg.
madas
|
|
Zitat
|