4D Write v16

WR GET CURSOR COORDINATES

Home

 
4D Write v16
WR GET CURSOR COORDINATES

WR GET CURSOR COORDINATES 


 

WR GET CURSOR COORDINATES ( Bereich ; HorizPos ; VertPos ; Höhe ) 
Parameter Typ   Beschreibung
Bereich  Lange Ganzzahl in 4D Write Bereich
HorizPos  Zahl in Horizontale Position auf der Seite
VertPos  Zahl in Vertikale Position auf der Seite
Höhe  Zahl in Höhe des Cursors

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.

Ab 4D Version 2004.5 lassen sich mit der Funktion 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 Funktion 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)



Siehe auch 

WR GET CURSOR POSITION

 
EIGENSCHAFTEN 

Produkt: 4D Write
Thema: WR Bereich Optionen
Nummer: 89438

 
GESCHICHTE 

Geändert: 4D Write 2004.5

 
ARTIKELVERWENDUNG

4D Write Programmiersprache ( 4D Write v16)