AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spezielle Icons

Ein Thema von SittingDuck · begonnen am 16. Jan 2006 · letzter Beitrag vom 19. Jan 2006
Antwort Antwort
SittingDuck

Registriert seit: 11. Jan 2006
Ort: Leverkusen
159 Beiträge
 
Delphi 2010 Professional
 
#1

Spezielle Icons

  Alt 16. Jan 2006, 19:37
Moin Moin ...

Ich bastele gerade an meinem Lieblingsprogramm
herum ... einer Schnellstartleiste.
http://home.arcor.de/stefan.moka/launcher/Snap2.png

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.
Ciao ... SittingDuck
iPhone Backup und mehr: iTwin v3.9 Beta ... Alternative Startleiste: Launcher v3.8 !
  Mit Zitat antworten Zitat
SittingDuck

Registriert seit: 11. Jan 2006
Ort: Leverkusen
159 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Spezielle Icons

  Alt 18. Jan 2006, 15:08
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:

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;
Nicht wirklich aufregend, aber es läuft.

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.
Ciao ... SittingDuck
iPhone Backup und mehr: iTwin v3.9 Beta ... Alternative Startleiste: Launcher v3.8 !
  Mit Zitat antworten Zitat
SittingDuck

Registriert seit: 11. Jan 2006
Ort: Leverkusen
159 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Spezielle Icons

  Alt 19. Jan 2006, 20:43
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 ?
Ciao ... SittingDuck
iPhone Backup und mehr: iTwin v3.9 Beta ... Alternative Startleiste: Launcher v3.8 !
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Spezielle Icons

  Alt 19. Jan 2006, 21:34
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 MSDN-Library durchsuchenIDropTarget, MSDN-Library durchsuchenIDataObject und zugehörige anschauen.
Vielleicht kannst Du ja mit diesen das gewünschte erreichen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 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