Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Icon in der Taskleiste (https://www.delphipraxis.net/142460-icon-der-taskleiste.html)

paperboy 28. Okt 2009 15:31


Icon in der Taskleiste
 
hallo zusammen,

ich hab ein kleines problem mit dem icon einer dll...
in meiner exe sieht das icon das ich über die projekt optionen festgelegt habe in der taskleiste so aus:

http://www.bilder-hochladen.net/files/d09t-1.jpg

so wie es sein sollte schön scharf und alles...
nun musste ich ja bei der dll form das icon über die form eigenschaften festlegen da es ja in den projekt optionen nicht möglich ist..
was zu diesem ergebnis führt:

http://www.bilder-hochladen.net/files/d09t-2.jpg

sieht sehr unschön aus wie ich finde... hab aber das selbe icon benutzt...
gibt es eine möglichkeit der dll zu sagen das sie das icon der hauptanwendung verwenden soll?
ist ja nur wichtig für die taskleiste auf der form ist es ja eh viel kleiner...

wäre schön wenn es eine lösung dafür geben würde... möchte das so nicht lassen...

lg paperboy

edit: folgender code in die Form.Create:

Delphi-Quellcode:
FIcon := ExtractIcon(hInstance, PChar('Hier der Pfad der EXE'), 0);
SendMessage(Handle, WM_SETICON, ICON_BIG, FIcon)
FIcon in der Private deklaration der Form noch als Ficon : HICON definieren
dann hab ich das richitge symbol in der taskleiste..

jetzt hab ich aber kein icon mehr in der Titelleiste des fensters?!
kann man da was machen? auch wenn es in der form-eigenschaft festgelegt ist...

lg paperboy

turboPASCAL 28. Okt 2009 16:19

Re: Icon in der Taskleiste
 
Versuch mal
Delphi-Quellcode:
SendMessage(Handle, WM_SETICON, ICON_SMALL, FIcon)

paperboy 28. Okt 2009 16:25

Re: Icon in der Taskleiste
 
dann bekomme ich leider wieder das icon geliefert das ich in der Form-Eigenschaft festgelegt habe...
nehme ich dieses raus hab ich gar kein icon mehr in der taskleiste...
ist es möglich das icon des fenstertitels zu verändern nachdem das fenster erstellt wurde?

wenn ich das icon über Icon.Handle := LoadIcon(HInstance, MainIcon); ändere
nachdem ich den code oben aufgerufen habe ändert sich natürlich auch das icon der taskleiste :(

himitsu 28. Okt 2009 17:08

Re: Icon in der Taskleiste
 
ICON_SMALL ist gerade das "unschöne" Unschafe.

versuch mal ICON_LARGE :gruebel:

turboPASCAL 28. Okt 2009 17:15

Re: Icon in der Taskleiste
 
Oh, wohl überlesen...

paperboy 28. Okt 2009 19:02

Re: Icon in der Taskleiste
 
ICON_LARGE erkennt er nicht nur ICON_BIG, ICON_SMALL und ICON_SMALL2..

und die wollen alle nicht...

wenn ich die form auf bsdialog setzte brauch ich den code für das icon nichtmal mehr..
dann such delphi sich das richtige icon für die taskbar aus und resized nicht das kleinstmögliche :wall:

sowas aber auch... gibts denn da keinen weg dran vorbei? scheint wohl kaum möglich zu sein zwei unterschiedliche symbole für titel und taskbar zu benutzen oder?

turboPASCAL 28. Okt 2009 19:51

Re: Icon in der Taskleiste
 
Ja, doch das geht. Ich nutze MSDN-Library durchsuchenLoadImage gern in nonVCL - Apps.
Dort lassen sich Parameter mitgeben die das Aussehen des Icons beeinflussen.

himitsu 28. Okt 2009 20:02

Re: Icon in der Taskleiste
 
Doch, man kann unterschiedliche Icons für Fesnter und Taskbar verwenden.

Bei älteen Delphis (und in neueren, wenn man es aktiviert) wird das unsichtbare Applications-Message-Fenster für die Titelleiste genommen und diesem kann man ein anderes Icon zuweisen, wie dem sichtbaren Fenster.

paperboy 28. Okt 2009 20:15

Re: Icon in der Taskleiste
 
@himitsu

das hört sich doch sehr vielversprechend an... hab aber bei google leider nichts brauchbares gefunden...
könntest du kurz erklären wie ich vorgehen muss? (benutze codegear rad studio 2009)

@turboPASCAL

ich weis nun leider nicht wie mir das helfen kann? wenn ich das icon der form ändere dann ändere ich auch das icon der taskbar...
hab das schon mit LoadIcon versucht und LoadImage ist doch der gleiche ansatz nur das ich ein paar parameter mehr hab oder?

himitsu 28. Okt 2009 20:45

Re: Icon in der Taskleiste
 
in D09 (oder schon 07) wurde dieses geändert, da man sonst kein Vorschaubild seiner Fomr in der Taskleiste hatte, da dort ja das interne Fenster reserviert war.

erstmal
Delphi-Quellcode:
Application.MainFormOnTaskbar := False;
jetzt wäre wieder das Interne App-Fenster in der Taskbar

und dann könntest du es über Application.Icon versuchen und wenn das nicht geht, dann kommst du über Application.Handle an das Handle dieses Fensters und kannst damit so Einiges anstellen


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:12 Uhr.
Seite 1 von 2  1 2      

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