Fenster auch im Client-Bereich verschieben |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Kennst Du nicht auch den Special-Effekt bei WinAMP, das Fenster überall verschoben werden kann und nicht nur an der Titelleiste? Mit dieser Windows-Message kannst Du das auch.Diese Procedure musst Du im Private-Abschnitt deklarieren:
procedure WMNCHitTest(var M: TWMNCHitTest);
message wm_NCHitTest;
Und hier die eigentliche Implementation der Procedure:
procedure TForm1.WMNCHitTest (var M: TWMNCHitTest);
begin
inherited;
if M.Result = htClient then
M.Result := htCaption;
end;
htClient gibt an, dass Du dich im normalen Bereich Deiner Anwendung befindest, also nicht die Titelleiste bewegst.Mit htCaption wird die Titelleiste angesprochen und diese soll emuliert werden.
- Grafik flickerfrei verschieben
- Benachrichtigungen bei Fensterbewegungen abfangen
- Abfrage, bevor ein Programm/Formular geschlossen wird
- Ereignisreihenfolge beim Anzeigen eines Formulars
- Fenstergröße begrenzen
- Transparentes Fenster erzeugen
- Alle sichtbaren Fenster minimieren/wiederherstellen
- Auflisten aller Fenster
- Beliebige Fenster minimieren, maximieren
- Position eines fremden Fensters abfragen