![]() |
Spezielle Icons
Moin Moin ...
Ich bastele gerade an meinem Lieblingsprogramm herum ... einer Schnellstartleiste. ![]() Normale Dateien und auch Verknüpfungen werden sauber verarbeitet. Allerdings hat Windows ein paar spezielle Icons auf Lager bei denen das nicht klappt. Da wären z.B. diese SystemIcons die man per: SHGetSpecialFolderLocation(Application.Handle, CSIDL, PIDL); auslesen kann. Aber auch die Desktopverknüpfungen vom Microsoft-Officepaket wären so Kandidaten. Halt alle Verknüpfungen, die irgendwie keine Echten sind. Jetzt die Frage: Kann man an solche Icons per TWMDropfiles- Message irgendwie rankommen ? Also im Klartext, wenn ich das 'Arbeitsplatz'-Icon versuche auf mein 'Launcher' zu ziehen dann geht das nicht ... soll aber ... Ich hoffe, das mein Anliegen deutlich ist. Im Voraus besten Dank für Eure Hilfe. |
Re: Spezielle Icons
Tach auch ...
Hm ... keine Antwort ... entweder zu speziell oder meine Frage war unklar formuliert. Vielleicht wird alles mit Hilfe von etwas Source Code deutlicher. Meine DragDrop-Routine sieht ein wenig vereinfacht in etwa so aus:
Delphi-Quellcode:
Nicht wirklich aufregend, aber es läuft.interface type TForm1 = class(TForm) private procedure WMDropFiles(var Msg: TWMDropfiles); message WM_DROPFILES; end; implementation procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles(Handle , True); . . . end; procedure TForm1.WMDropFiles(var Msg: TWMDropfiles); Const Mask: Array[Boolean] Of Longint = (0, ILC_MASK); var aFile: PChar; fos: TSHFileOpStruct; begin inherited; aFile := StrAlloc(255); DragQueryFile (Msg.Drop, 0, aFile, 255); DragQueryPoint(Msg.Drop, Pt); TempIcon := TIcon.Create; Changes := True; // auslesen und zuweisen TempIcon.Handle := ExtractAssociatedIcon(Application.Handle, aFile, IconIndex); . . . StrDispose(aFile); DragFinish(Msg.Drop); TempIcon.Free; end; Was muss ich an der Routine ändern, damit sie nicht nur Dateien akzeptiert sondern auch den 'Arbeitsplatz' die 'Netzwerkumgebung' den 'Papierkorb' usw. Danke fürs Nachgrübeln. |
Re: Spezielle Icons
Gibts doch gar nicht ...
Bin ich der einzige hier, der das 'zu Fuß' macht ? Benutzt Ihr alle irgend welche fertigen Komponenten ? Und wenn ja, können die das oben Angesprochene ? |
Re: Spezielle Icons
Moin SittingDuck,
angewendet habe ich dass noch nicht, aber da die von Dir angesprochenen Objekte ja keine Dateien sind, könntest Du Dir ja mal die Interfaces ![]() ![]() Vielleicht kannst Du ja mit diesen das gewünschte erreichen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 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