Einzelnen Beitrag anzeigen

Alallart

Registriert seit: 8. Dez 2015
153 Beiträge
 
#12

AW: Application.Icon setzen

  Alt 7. Apr 2018, 19:58
@freimatz

Kann es sein, das du das etwas kompliziert machst? Warum kopierst du soviel herum? Wenn du ein Icon hast, dann übergibt Application die Adresse und gut ist es. Das habe ich auf die Schnelle gemacht. Ich habe auf dem Formular eine TImage abgelegt, ein Icon rein geladen, und es übergeben. Funktioniert.

Delphi-Quellcode:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);

  Application.Title := 'Dies und Das';
  //Application.Icon.Handle := Form1.Image1.Picture.Icon.Handle; //Funktioniert
  //Application.Icon := Form1.Image1.Picture.Icon; //Funktioniert
  Application.Icon := Form1.Icon; //Funktioniert

  Application.Run;
  Application.Icon.Assign(Icon);
end.
Dann habe ich noch zwei andere versuche unternommen. Funktionieren auch.

Hier ein anderes Beispiel, mal schnell ein Splashscreen eingebaut (Form2)

Delphi-Quellcode:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1},
  Unit2 in 'Unit2.pas{Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);

  Application.Title := 'Dies und Das';
  Application.Icon := Form2.Icon;
  Form2.ShowModal; // Nach 2 Sekunden schließt sich Form2 selbst.
  Application.Icon := Form1.Icon;

  Application.Run;
end.
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm2 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Timer1Timer(Sender: TObject);
begin
  if Timer1.Tag = 2000 then
    Close;

  Timer1.Tag := Timer1.Tag + Timer1.Interval;
end;

end.
Nach 2 Sekunden wechselt das Icon erneut.
  Mit Zitat antworten Zitat