Thema: Windows Icon

Einzelnen Beitrag anzeigen

Willie1

Registriert seit: 28. Mai 2008
618 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Windows Icon

  Alt 20. Feb 2018, 10:40
Hallo Leute,
ich bin immer noch mit dem Umzug von D 2005 zu Delphi Berlin beschäftigt und erlebe Überrascungen.

Ich will eine Windows Ikone - hier das weiße ? auf blauem Grund - auf ein eigenes Fenster plazieren. Ich gehe so vor:
Delphi-Quellcode:
procedure TForm2.FormPaint(Sender: TObject);
var
  Icon: TIcon;
begin
  Icon:=TIcon.Create;
  Icon.Handle:=LoadIcon(0,IDI_QUESTION);
  if Icon.Handle > 0 then Form2.Canvas.Draw(25,35,Icon); //<------
  Icon.Free
end;
Das klappt, wenn ich das Fenster statisch anlege. Falls ich es dynamisch anlege, so:
Delphi-Quellcode:
    with TForm2.Create(Form1) do
      try
        aw:=ShowModal;
      finally
        free
      end;
dann kracht es in der markierten Zeile: Zugriffsverletzung. Ich verstehe, das Fenster ist für Paint (noch) nicht bereit. Ich habe es mit OldOrderCreate=true versucht, bringt aber nichts. Aber warum hat es mit Delphi 2005 funktioniert!?

Gruß Willie..
  Mit Zitat antworten Zitat