Suuuper, Bernhard, dein Hinweis hat mich auf die richtige Spur gebracht:
Hier habe ich den richtigen Hinweis gefunden. Es ist so verblüffend einfach!
Delphi-Quellcode:
procedure TfoMain.SaveOpenPictureDialog(Sender:TObject);
// gemeinsames Event
begin // von Open + Save !
with TOpenDialog(Sender)
do
SetWindowPos(GetParent(
Handle),
0,10,10,0,0,
// neue Position = 10/10
SWP_NOZORDER
or SWP_NOSIZE);
Abort
// !!!!!!!!!!!!!!!!!!!!!
end;
Also weniger Aufwand geht wohl nicht!? Der Trick ist das zusätzliche ABORT !! Damit wird verhindert, dass der Hook seine "schändliche" Arbeit verrichtet und gleich wieder zentriert. Da wär' ich selbst NIE drauf gekommen
// edit: Seh' gerade den roten Kasten von toms: Hab's bisher wie vorstehend versucht, aber ohne das ABORT - und dann geht es bei mir nicht?!
// edit: Seh' gerade, die with-Anweisung ist eigentlich Blödsinn - bitte wegdenken und direkt einsetzen