DruckenMister WongFacebook

TWinControl zur Laufzeit mit der Maus skalieren/verschieben

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

Von TWinControl abgeleitete Komponenten können über die Message WM_SysCommand skaliert und verschoben werden. Die Message wird mit der Methode Perform direkt an die Fensterprocedure des Controls gesendet. Die Komponente reagiert dann je nach übergebenem Parameter.ReleaseCapture kümmert sich um die Verarbeitung der Mausereignisse.

Die Prozedur muss dem OnMouseDown-Ereignis des entsprechenden Controls zugewiesen werden.Um die Aktion (Verschieben, Skalieren) zu wählen muss dem Parameter WParam von Perform einer der folgenden Werte zugewiesen werden.TWinControl-Größe ändern, nur linker Rand:


  ______
 |    <-|-> Wert: $F001
  ------
 

TWinControl Größe ändern, nur rechter Rand:


  ______
<-|->    |   Wert: $F002
  ------
 

TWinControl Größe ändern, nur oberer Rand:


    ^
  __|___
 |  v   |   Wert: $F003
  ------
 

TWinControl Größe ändern, linker u. oberer Rand:


     ^
   __|___
<-|->v   |  Wert: $F004
   ------
 

TWinControl Größe ändern, rechter u. oberer Rand:


    ^
  __|___
 |  v <-|-> Wert: $F005
  ------
 

TWinControl Größe ändern, nur unterer Rand:


  ______
 |  ^   |   Wert: $F006
  --|---
    v
 

TWinControl Größe ändern, linker u. unterer Rand:


   ______ 
<-|->^   |  Wert: $F007
   --|---
     v
 

TWinControl Größe ändern,rechter u. unterer Rand:


  ______
 |   ^<-|-> Wert: $F008
  ---|--
     v
 

TWinControl verschieben:


Wert: $F009
      $F011
      $F012
 

TWinControl wird minimiert:Wert: $F020-$F029TWinControl füllt den Clientbereich aus:Wert: $F030 - $F039