WR GET CURSOR COORDINATES

4D - Documentation   Français   English   German   4D Write, Befehle nach Thema   4D Write, Befehle alphabetisch   Konstanten nach Thema   Back   Previous   Next

Version 2004.5 (Geändert)


WR GET CURSOR COORDINATES (Bereich; HorizPos; VertPos; Höhe)

ParameterTypBeschreibung
BereichLange Ganzzahl4D Write Bereich
HorizPosGanzzahlHorizontale Position auf der Seite
VertPosGanzzahlVertikale Position auf der Seite
HöheGanzzahlHöhe des Cursors

Beschreibung

Der Befehl WR GET CURSOR COORDINATES gibt die Koordinaten des Cursors in Bezug auf die obere linke Ecke der Seite zurück. Diese Werte werden in der aktuellen Standardeinheit des Dokuments ausgedrückt.

Wird der Befehl mit einem in Bereich gewählten Text oder einem Bild ausgeführt, gibt es zwei Möglichkeiten:

Wurde die Auswahl per Programmierung erstellt, gilt der Cursor als an das Ende der Auswahl gesetzt.

Wurde die Auswahl manuell erstellt, gilt der Cursor als an die Position gesetzt, wo die Maustaste losgelassen wurde. Haben Sie z.B. einen Absatz manuell durch Ziehen der Maus von der letzten zur ersten Zeile ausgewählt, wird der Cursor an den Anfang der Auswahl gesetzt.

Der Parameter Höhe gibt die aktuelle Höhe des Cursors zurück. Wurde nur ein Bild ausgewählt, wird die Höhe des Bildes zurückgegeben.

Beispiel

Ab 4D Version 2004.5 lassen sich mit der FunktionPrint form 4D Write Bereiche drucken. In der Regel werden diese Bereiche mit einer festen Höhe gedruckt. Nachfolgendes Beispiel zeigt, wie Sie 4D Befehle zum Drucken und den Befehl WR GET CURSOR COORDINATES einsetzen können, um die Druckhöhe des 4D Write Bereichs gemäß seinem Inhalt zu variieren.

Die von der FunktionPrint form aufgerufene Formularmethode lautet:

   If(Form event=On Printing Detail)
      GET OBJECT RECT(4DWriteArea;$left;$top;$right;$bottom)
      $markerpos:=Get print marker(Form Detail)
      $areaheight:=$bottom-$top   ` Höhe des 4D Write Bereichs
      $newheight:=sizecalcul 
         ` sizecalcul gibt die Höhe des 4D Write Bereich gemäß seinem Inhalt an
         ` diese Methode folgt unten 
      $shift:=$newheight-$areaheight 
      MOVE OBJECT(4DWriteArea;0;0;0;$shift)  ` 4D Write Bereich anpassen
      SET PRINT MARKER(Form Detail;$markerpos+$shift) ` Markierung bewegen
   End if 

Die Methode

sizecalcul 
lautet:

   $area:=WR New offscreen area 
   WR BLOB TO AREA ($area;[Table 1]Write_)
   WR SET DOC PROPERTY ($area;wr unit ;2)  ` Wir arbeiten in Pixel

   WR SET SELECTION ($area;1;1)  ` Textanfang
   WR GET CURSOR COORDINATES ($area;$hor;$startvert;$cursor1)
   WR SET SELECTION ($area;1000000;1000000)  ` Textende
   WR GET CURSOR COORDINATES ($area;$hor;$vert;$cursor2)

   WR DELETE OFFSCREEN AREA ($area)
   $0:=Trunc(($vert-$startvert+$cursor1+$cursor2)*0.75;0)

Referenz

WR GET CURSOR POSITION.


4D - Documentation   Français   English   German   4D Write, Befehle nach Thema   4D Write, Befehle alphabetisch   Konstanten nach Thema   Back   Previous   Next