sFileName := ''; // <= überflüssiger Code
Ok.
sFileName := LowerCase(sFileName);
kann ich auch noch nachvollziehen.
Zitat:
// was nun folgt hat nix mit Drag & Drop zu tun ***
ChangeButtonPicture(sFileName, p);
Ob ich nun innerhalb DragDrop meine Dateien verarbeite oder innerhalb von dragdrop
auf eine function außerhalb dragdrop verweise ist letztendlich das gleiche.
Denn auch hier wird dragdrop dann unterbrochen bzw.. meine funktionen verarbeitet.
Da muss ich also gegenhalten
// was nun folgt hat nix mit Drag & Drop zu tun ***
ChangeButtonPicture(sFileName, p);
Aber Ok ist eine saubere lösung.
Delphi-Quellcode:
GetCursorPos(p); // falsch, DragQueryPoint() muss benützt werden
img := SKAERO_GetButImageBackProperty(Windowfrompoint(p));
Hatte ich im Sample oben schon korrigiert.
SetForegroundWindow(WinHandle); // wozu ?
Kann man sich auch sparen korrekt.
if nFilesDropped >= 1 then
Mehr auf keinen Fall.
Zumal das dann hier ein Zähler von nöten wäre..
Delphi-Quellcode:
SetLength(sFileName, DragQueryFile(wP, Zähler, nil, 0));
DragQueryFile(wP, Zähler, @sFileName[1], Length(sFileName) + 1);
mehr als 1 wäre dann auch unnötig
EDIT:
DragQueryPoint(wP, p);
Ist unnötig.
Bekomme damit zwar die koordinaten innerhalb des Button
aber nicht zum Screen daher kann ich damit nicht das
Handle ermitteln.
Danke für die doku..
gruss