René R.Fo. - Do 19.11.09 21:15
Titel: Eine eigenen Komponente auf Knopfdruck bewegen
Kurze Frage:Wie muss ich denn Code umschreiben damit ich mit einer Booland Funktion einen eigenen Button bewegen kann?:
Delphi-Quelltext
1: 2: 3: 4:
| begin ReleaseCapture; Perform(wm_syscommand,$f012, 0); end; |
Ich habe Delphi5
jaenicke - So 20.12.09 15:15
Klar geht das, du musst nur das Perform des Buttons nehmen...
Delphi-Quelltext
1: 2: 3:
| btnXY.Perform... (Sender as TControl).Perform... |
Was du gemacht hast, ist ja das Perform des Formulars zu nehmen, und dieses lässt sich so nicht bewegen.
Ich würde es aber nicht mit solchen "magischen" Werten im Quelltext machen. Woher weißt du dann später was das $f012 ist, wenn du in den Quelltext schaust?
Delphi-Quelltext
1: 2: 3: 4: 5:
| const SC_DRAGMOVE = $F012; begin ReleaseCapture; (Sender as TControl).Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0); |
// EDIT:
Nebenbei: es gibt da noch einige Möglichkeiten mehr, auch resizing und so:
http://thinksharp.org/how-to-provide-dragging-or-resizing-of-any-control/