Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Keine BorderIcons aber Icon links oben in der Ecke (https://www.delphipraxis.net/15074-keine-bordericons-aber-icon-links-oben-der-ecke.html)

F.W. 21. Jan 2004 15:09


Keine BorderIcons aber Icon links oben in der Ecke
 
Wie kann ich links oben das Icon des Programms anzeigen lassen, wenn ich das Systemmenu abgeschaltet habe?

Danke!

Mikko 21. Jan 2004 16:55

Re: Keine BorderIcons aber Icon links oben in der Ecke
 
Es müßte so gehen, wenn du alle Einträge im Systemmenü löschst.

Edit: Mit DELETEMENU.

Luckie 21. Jan 2004 18:18

Re: Keine BorderIcons aber Icon links oben in der Ecke
 
NonVCL wüßte ich eine Lösung. Fensterstil auf Dialog stellen und dann mit WM_SETICON ein Icon zu weisen. Probier mal, ob das auch mit der VCL klappt.
Jupp so geht es:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  hIcon: THandle;
begin
  hIcon := LoadIcon(0, IDI_EXCLAMATION);
  SendMessage(Handle, WM_SETICON, ICON_SMALL, Integer(hIcon));
end;
Alternativ kannst du ein Icon aus einer Ressource laden oder aus einer Datei.

Delphi-Quellcode:
hIcon := LoadIcon(hInstance, MAKEINTRESOURCE(1))
Läd ein Icon mit der Ressourcen-ID 1.

F.W. 26. Jan 2004 15:27

Re: Keine BorderIcons aber Icon links oben in der Ecke
 
Hallo!

ALs erstes mal entschuldigung, dass es jetzt erst kommt, aber ich hatte kaum Zeit und habe an diesem Projekt nicht weitergearbeitet.

Also:
Mikkos Methode: DELETEMENU -> weiß ich nicht wie's geht, ist also noch offen
Luckies Methode -> Habe ich eben probiert, geht nicht, da ich VCL programmiert hab'

Ich bin also für weitere Voeschläge offen und Mikko, bitte erklär's wenigstens kurz :cry:

Danke!

Mikko 26. Jan 2004 16:37

Re: Keine BorderIcons aber Icon links oben in der Ecke
 
Hab jetzt festgestellt, daß alle Funktionen im Menü, wenn du das Menü löschst, auch deaktiviert werden. So kannst du z.B. dein Fenster nicht mehr verschieben. Ich könnte mir vorstellen, daß das von Nachteil bei der Bedienung ist. Eine andere Lösung fällt mir jetzt spontan auch nicht ein, außer wenn du den Titel des Fensters komplett wegläßt (BorderStyle=bsNone) und die Titelzeile per Panel und Image mit deinem Icon "nachbaust". Wäre eine schnelle und einfache Methode. Natürlich müßtest du dann das verschieben für die Titelzeile einbauen, aber das ist ja eigentlich kein Problem.

Luckie 26. Jan 2004 18:16

Re: Keine BorderIcons aber Icon links oben in der Ecke
 
Zitat:

Zitat von F.W.
Luckies Methode -> Habe ich eben probiert, geht nicht, da ich VCL programmiert hab'

Hallo? Kuck dir mal meinen Sourcecode an. Das IST VCL! Und bei mir geht es.

Matze 26. Jan 2004 18:38

Re: Keine BorderIcons aber Icon links oben in der Ecke
 
Bei mir geht es auch, jedoch nur mit BorderStyle als bsDialog, wie es Luckie geschrieben hat.
Ohne das X schaffe ich's auch nicht...

F.W. 26. Jan 2004 20:06

Re: Keine BorderIcons aber Icon links oben in der Ecke
 
Sorry Luckie, hatte ich mich wohl verguckt! Allerdings gning's bei mir wirklich nicht, keine Ahnung warum... Allerdings sollte das Formular veränderbar in der Größe sein.

Zu Mikko:
Ich habe am Anfang auch darüber nachgedacht BorderStyle auf bsNone zu setzen, aber dann ist mir eingefallen, dass dann auch der Rahmen der Form fehlt... und da das ganze auf WinXP basiert sieht es mit Titelleiste eben schöner aus.

Nagut, dann lass ich das mit dem Icon, davon geht ja keine Welt unter.

Trotzdem Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz