Autor Beitrag
beastofchaos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 247
Erhaltene Danke: 4



BeitragVerfasst: Sa 16.04.11 14:41 
Hallo Leute,
Ich hab heute überlegt, wie ich einem Programm ein Icon hinzufügen kann. Über Google lies sich schon herausfidnen, wie ich die exe-Datei mit so einem Icon versehe, aber wie verändere ich das Bild, das während des Programms oben links ist?

(Für Icon der exe-Datei: Project - Options - Application)

Kann mir da einer weiterhelfen? :)

Grüße, Thomas

edit: Bei einer Nebenform meines Minigolf-Programms hab ich das (über Objektinspektor - Icon) schon hinbekommen(leider noch nciht bei Laufzeit), aber iwie funktioniert das nicht bei meinem Hauptformular. Stattdessen hab ich das Windows-Icon für unbekannte Dateien (auch schon vor Icon-Auswahl gewesen).
Hab schnell ein Bild gemacht von den beiden Forms (siehe Anhang) ;)


edit2: Hab noch ein bisschen probiert und herausgefunden, dass es an meiner Einstellung "BorderStyle = bdDialog" und den ausgestellten BorderIcons liegt.
Habe jetzt mal auf den Standard (dsSizeable) gesetzt und wieder alle BorderIcons ausgestellt. Leider wird dann das Bild wieder nicht angezeigt. Es kommt nur, wenn ich SystemMenu auf True setze, leider wird dann aber wieder der Beenden-Button angezeigt... :/ Weiß einer Lösung, dass keine Buttons, aber das Icon angezeigt wird?

edit3: Habe über einen anderen alten Thread folgenden Quelltext herausfinden können:
ausblenden Delphi-Quelltext
1:
RemoveMenu(GetSystemMenu(Handle, False), 6, MF_BYPOSITION);					

2. Möglichkeit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
H := GetSystemMenu(Handle, False);
  if H <> 0 then
   begin
     DeleteMenu(H, SC_CLOSE, MF_BYCOMMAND);
     DrawMenuBar(Handle);
   end;

Beides setzt "Enable" von dem Button auf False bzw. hinterlegt ihn grau. Keine schöne Lösung, lieber hätt ichs ganz weg :/


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Sa 16.04.2011 um 23:28
Einloggen, um Attachments anzusehen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 16.04.11 15:38 
Also was willst du jetzt eigentlich? Ein Icon zur Laufzeit setzen? Setzen funktioniert bei mir problemlos:
ausblenden Delphi-Quelltext
1:
  Self.Icon.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'error.ico');					
Und was hast du gegen den Beenden-Button? :gruebel:
beastofchaos Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 247
Erhaltene Danke: 4



BeitragVerfasst: Sa 16.04.11 16:10 
Das Icon kann man auch einbringen, aber dann müsste SystemMenu auf True gesetzt werden, wodurch der X-Button angezeigt wird. Ich will den X-Button nicht haben, weil ich das dann per Image.OnCick ersetzen kann und ich würde halt gerne den Beenden-Knopf selbst gestalten (->Image). Viele in anderen Foren (über Google) sagen, dass das nicht möglich ist und wenn shcon müsste man BorderStyle auf bsNone setzen und sich das selbst zeichnen :/ Nicht schöne Lösung, aber ich werde das so machen ;)