![]() |
Wie Start-Icon ins Programm holen?
Hi,
wie kann man sich das Start-Icon, als Icon in die eigene Anwendung holen? Ich mein jetzt nicht den Start-Button an sich als Icon reinladen, das Problem ist das manche Themes benutzen und sich dann das grüne Icon nicht so toll machen würde. |
Re: Wie Start-Icon ins Programm holen?
Ich glaube Du meinst, wenn Dein Prog aufgerufen wird und die Form erscheint,
willst Du sicherstellen, dass Dein Icon erscheint. Füge in der Eigenschaft FormCreate folgendes ein: z. B. Form1.icon:='C:\myIcon.ico' ein. Dies läd Dir Dein eigenes Icon ein. CU! Go2EITS |
Re: Wie Start-Icon ins Programm holen?
Nein, ich möchte den Start-Button auf meiner Form haben, da es eben themes gibt, kann ich nicht den grünen nehmen, also muss ich irgendwo im System den aktuellen auslesen und so in einem Image auf meiner Form anzeigen.
|
Re: Wie Start-Icon ins Programm holen?
Selbst Microsoft verwendet im Eigenschaftsdialog des Startmenüs einen Screenshot (wäre wohl zuviel Arbeit gewesen)...
|
Re: Wie Start-Icon ins Programm holen?
Ich will doch nicht mein eigenes drin haben, sondern immer das was der User hat, dem seins möchte ich doch haben, was soll ich da mit meinem Screenshot?
Das Bild soll bei Programmstart in ein Image geladen werden, und zwar das von dem System auf welchem es läuft... |
Re: Wie Start-Icon ins Programm holen?
Er meint damit, dass du dann beim Start ein Screenshot vom Start-Button erstellen könntest und diesen dann reinladen könntest. So hättest du immer den richtigen Start-Button, den der User hat.
|
Re: Wie Start-Icon ins Programm holen?
Dacht ich mir schon, nur habe ich gehofft das es im System auch irgendwo hinterlegt ist, welches Icon zur Zeit benutzt ist, und das Startmenü öffnen und gleich wieder schliessen ist auch nicht gerade schön und das jedesmal wenn man das Programm startet...
Es muss doch ein Pfad geben zum Icon, auch wenn es ein fremdes ist. |
Re: Wie Start-Icon ins Programm holen?
Warum das Startmenu öffnen?
Delphi-Quellcode:
var
SB : HWND; CR : TRect; begin SB:=FindWindow('Shell_TrayWnd',nil); SB:=FindWindowEx(sb,0,'BUTTON',nil); Windows.GetClientRect(SB,CR); BitBlt(PaintBox1.Canvas.Handle,0,0,cr.Right-cr.Left,cr.Bottom-cr.Top,GetDC(Sb),0,0,SRCCOPY); end; |
Re: Wie Start-Icon ins Programm holen?
Es gibt ja auch Leute, die haben die Taskleite "Automatisch im Hintergrund", dann geht das so nicht...
Gruß, teebee |
Re: Wie Start-Icon ins Programm holen?
Ja, habe es gerade ausprobiert, die Taskleiste muss sichtbar sein, klar kann ich die auf und zu klappen, aber dann habe ich dann wieder das geflaker von der drin.
|
Re: Wie Start-Icon ins Programm holen?
Guckst Du in die Unit Themes:
Hier siehst Du erstmal einen ganzen Sack von Enums, die die Themenelemente enthalten. Da suchst Du Dir den richtigen enum-Member raus, z.B.: tbPushButtonNormal. Damit rufst Du dann ThemManager.GetElemetDetails auf. Das liefert Dir ein TThemedElementDetails. Mit diesem kannst Du dann ThemeManager.DrawElement das entsprechende Elementteil zeichnen lassen. Ich kann Dir jetzt aber leider nicht sagen, welcher enum-Member nun für den Startknopf steht. |
Re: Wie Start-Icon ins Programm holen?
Zitat:
Hinzu kommt noch folgendes Problem: Dieses Vorgehen funktioniert nur, wenn man ein Theme hat. Also schlecht für User wie mich. :stupid: |
Re: Wie Start-Icon ins Programm holen?
Na ohne Sheme zeichnest Du das Ding einfech mir DrawEdge und TextRect.....
Und obs nicht unterstützt wird ist ne andere Frage. Nur weit Borland die Konstanten nicht rausgewühlt hat.. Im Endeffekt landet das ThemeManager.Draw.. auch nur in nem Systemruf. Musst halt mal bei Microsoft in der MSDN suchen und dann halt per Hand machen ohne den ThemeManager. |
Re: Wie Start-Icon ins Programm holen?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz