Hallo Leute,
ich habe ein kleines Problem, und zwar habe ich mir eine Art Helper-Dialog (sehr einfache Variante von Word und Co) gemacht, in diesem werden nur Werte dargestellt.
Ich möchte nun diesen Dialog per Maus verschieben können (da er immer im Vordergrund (in einer INI kann man es abstellen)). Mit ClientToScreen war ich auch schon fast am Ziel, dieser zeichnete mir allerdings den Dialog an Position des Cursors. Was beim Bewegen den Effekt hatte, dass der Cursor in der oberen linken Ecke bleibt.
Ich möchte aber, dass der Cursor dort bleibt wo er anfangs war (innerhalb des kleinen Dialogs).
Da viele schneller Code lesen können als meine Beschreibungen hier mal was ich bisher habe:
Delphi-Quellcode:
procedure THelper.FormMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
P1: TPoint;
begin
if ssLeft in Shift then
begin
p1.x := x;
p1.y := y;
p1 := ClientToScreen(P1);
// MapWindowPoints(self.Handle,0 , p1, 1); wäre daß was für mich? ka
//p1 := Screentoclient(p1); nochmal umbiegen !?!?!
self.Top := p1.y;
self.Left := p1.x;
end;
end;