Hallo marabu,
habe ich schon probiert; irgendwas mache ich wohl noch falsch:
Mein LogForm ist ganz simpel: Es enhält nur eine ImageListe und ein ListView (vsReport, ColumnHeader=false), und diese auch nur eine (hab's auch schon mit zweien probiert) TListColumn (AutoSize=true):
Auszug aus der
dfm-Datei:
Delphi-Quellcode:
object LogForm: TLogForm
Left = 209
Top = 324
Width = 450
Height = 213
BorderIcons = [biSystemMenu]
Caption = 'LogForm'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Shell Dlg 2'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object LogListView: TListView
Left = 0
Top = 0
Width = 442
Height = 186
Align = alClient
Columns = <
item
AutoSize = True
end>
ShowColumnHeaders = False
SmallImages = LogImageList
TabOrder = 0
ViewStyle = vsReport
end
object JvFormMagnet: TJvFormMagnet
Active = True
ScreenMagnet = False
FormGlue = False
MainFormMagnet = True
Left = 296
Top = 40
end
object LogImageList: TImageList
Left = 264
Top = 40
Bitmap = {
.....
}
end
end
Mit dieser Prozedur landen die Einträge in der Liste:
Delphi-Quellcode:
procedure TLogForm.WriteReportline(const S: String; ImgIndex: Integer);
begin
with LogListView.Items.Add do begin
ImageIndex := ImgIndex;
Caption := TimeToStr(Now) + ': ' + S;
end; { with }
LogListView.Perform(WM_VSCROLL, SB_BOTTOM, 0);
end;
Und was soll ich sagen: Sobald die Scrollerei losgeht, erscheinen
beide Scrollbalken...