Autor Beitrag
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Mi 11.02.04 23:22 
Objekte an ListBox.Items hängen ohne AddObject?

Ich hab mich früher mal geärgert, daß man bei ListBox (was wiederum TStrings nutzt) so einen Umweg machen muß um ein Objekt zuzuweisen. Zuerst erstellen, dann über AddObject zuweisen. Beispiel:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  Ico: TIcon;
begin
  {Objekt erstellen}
  Ico := TIcon.Create;

  {Als Beispiel ein Icon zuweisen}
  Ico.Handle := Application.Icon.Handle;

  {Item erstellen und Objekt zuweisen}
  ListBox1.Items.AddObject('Application-Icon', Ico);

  {...}


Fand ich irgendwie kompliziert, da man zuerst ein TIcon erstellen muß usw. .


Dabei gehts auch direkt, d.h. ohne den Umweg. Beispiel:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  k: Integer;
begin
  {Item erstellen und die Index-Nummer merken}
  k := ListBox1.Items.Add('Application-Icon');

  {Objekt erstellen}
  ListBox1.Items.Objects[k] := TIcon.Create;

  {Als Beispiel ein Icon zuweisen}
  TIcon(ListBox1.Items.Objects[k]).Handle := Application.Icon.Handle;

  {...}


Das ganze ist nicht unbedingt kürzer, aber doch einfacher zu handhaben, da man hier dem Item das Objekt direkt zuweisen kann.
Moderiert von user profile iconjasocul: Beitrag geprüft am 13.05.2006

_________________
Popov