drag_region1T_drag_region1DragRegion1DragRegion1 (Operator)

Name

drag_region1T_drag_region1DragRegion1DragRegion1 — Interaktives Verschieben einer Region.

Warnung

Dieser Operator kann nicht in HDevelop-Grafikfenstern verwendet werden, die mit dev_open_window geöffnet wurden.

Signatur

drag_region1(SourceRegion : DestinationRegion : WindowHandle : )

Herror T_drag_region1(const Hobject SourceRegion, Hobject* DestinationRegion, const Htuple WindowHandle)

void DragRegion1(const HObject& SourceRegion, HObject* DestinationRegion, const HTuple& WindowHandle)

HRegion HRegion::DragRegion1(const HWindow& WindowHandle) const

HRegion HWindow::DragRegion1(const HRegion& SourceRegion) const

static void HOperatorSet.DragRegion1(HObject sourceRegion, out HObject destinationRegion, HTuple windowHandle)

HRegion HRegion.DragRegion1(HWindow windowHandle)

HRegion HWindow.DragRegion1(HRegion sourceRegion)

Beschreibung

drag_region1drag_region1DragRegion1DragRegion1DragRegion1 dient dazu, die Region mit der Maus auf dem Bildschirm zu verschieben. Nach dem Aufruf von drag_region1drag_region1DragRegion1DragRegion1DragRegion1 wird die Region sichtbar, sobald die linke Maustaste betätigt wird. Es wird dabei nur der Rand der Region dargestellt. Als Darstellungsmodus wird für die Dauer der Prozedur der Modus 'not' (siehe set_drawset_drawSetDrawSetDrawSetDraw) verwendet. Der Mauscursor befindet sich während des Verschiebens im Schwerpunkt der Region. Wird die Maus mit gedrückter linker Maustaste verschoben, folgt die dargestellte Region - verzögert - dieser Bewegung. Wird die rechte Maustaste gedrückt, so wird drag_region1drag_region1DragRegion1DragRegion1DragRegion1 beendet. Unter macOS kann drag_region1drag_region1DragRegion1DragRegion1DragRegion1 auch durch Drücken der Escape-Taste beendet werden. Die Darstellung der Region auf dem Bildschirm verschwindet. Ausgegeben wird eine Region, die der letzten Position auf dem Bildschirm entspricht. Es können auch mehrere Regionen auf einmal übergeben werden. Die Grauwerte können mit dem Operator affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage verschoben werden.

Achtung

Die Grauwerte der Regionen werden nicht verschoben. Da die Eingaberegion verschoben wird, ist nicht sichergestellt, dass die Grauwerte der Ausgaberegionen sinnvoll besetzt sind. Dieser Fall kann eintreten, wenn die Grauwerte der Eingaberegionen nicht das ganze Bild umfassen.

Ausführungsinformationen

Parameter

SourceRegionSourceRegionSourceRegionSourceRegionsourceRegion (input_object)  region-array objectHRegionHRegionHobject

Zu verschiebende Regionen.

DestinationRegionDestinationRegionDestinationRegionDestinationRegiondestinationRegion (output_object)  region-array objectHRegionHRegionHobject *

Verschobene Regionen.

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Fenster-Handle.

Beispiel (HDevelop)

draw_region(Obj,WindowHandle)
dev_set_color ('green')
drag_region1(Obj,New,WindowHandle)
dev_display(New)
get_region_runs (Obj, Rows1, ColumnBegins1, ColumnEnds1)
get_region_runs (New, Rows2, ColumnBegins2, ColumnEnds2)
Row1 := Rows1[0]
Column1 := ColumnBegins1[0]
Row2 := Rows2[0]
Column2 := ColumnBegins2[0]
dev_set_color ('white')
gen_arrow_contour_xld (Arrow, Row1,Column1,Row2,Column2, 5, 5)
dev_display (Arrow)

Beispiel (C)

draw_region(&Obj,WindowHandle);
drag_region1(Obj,&New,WindowHandle);
disp_region(New,WindowHandle);

Beispiel (HDevelop)

draw_region(Obj,WindowHandle)
dev_set_color ('green')
drag_region1(Obj,New,WindowHandle)
dev_display(New)
get_region_runs (Obj, Rows1, ColumnBegins1, ColumnEnds1)
get_region_runs (New, Rows2, ColumnBegins2, ColumnEnds2)
Row1 := Rows1[0]
Column1 := ColumnBegins1[0]
Row2 := Rows2[0]
Column2 := ColumnBegins2[0]
dev_set_color ('white')
gen_arrow_contour_xld (Arrow, Row1,Column1,Row2,Column2, 5, 5)
dev_display (Arrow)

Beispiel (HDevelop)

draw_region(Obj,WindowHandle)
dev_set_color ('green')
drag_region1(Obj,New,WindowHandle)
dev_display(New)
get_region_runs (Obj, Rows1, ColumnBegins1, ColumnEnds1)
get_region_runs (New, Rows2, ColumnBegins2, ColumnEnds2)
Row1 := Rows1[0]
Column1 := ColumnBegins1[0]
Row2 := Rows2[0]
Column2 := ColumnBegins2[0]
dev_set_color ('white')
gen_arrow_contour_xld (Arrow, Row1,Column1,Row2,Column2, 5, 5)
dev_display (Arrow)

Beispiel (HDevelop)

draw_region(Obj,WindowHandle)
dev_set_color ('green')
drag_region1(Obj,New,WindowHandle)
dev_display(New)
get_region_runs (Obj, Rows1, ColumnBegins1, ColumnEnds1)
get_region_runs (New, Rows2, ColumnBegins2, ColumnEnds2)
Row1 := Rows1[0]
Column1 := ColumnBegins1[0]
Row2 := Rows2[0]
Column2 := ColumnBegins2[0]
dev_set_color ('white')
gen_arrow_contour_xld (Arrow, Row1,Column1,Row2,Column2, 5, 5)
dev_display (Arrow)

Ergebnis

drag_region1drag_region1DragRegion1DragRegion1DragRegion1 liefert den Wert 2 (H_MSG_TRUE), falls eine Region eingegeben wird, das Fenster gültig ist und der benötigte Zeichenmodus (siehe set_insertset_insertSetInsertSetInsertSetInsert) verfügbar ist. Ansonsten wird eine Fehlerbehandlung durchgeführt. Das Verhalten bei einer leeren Eingabe kann mit set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) bestimmt werden.

Vorgänger

open_windowopen_windowOpenWindowOpenWindowOpenWindow

Nachfolger

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, disp_regiondisp_regionDispRegionDispRegionDispRegion, set_coloredset_coloredSetColoredSetColoredSetColored, set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidth, set_drawset_drawSetDrawSetDrawSetDraw, set_insertset_insertSetInsertSetInsertSetInsert

Alternativen

get_mpositionget_mpositionGetMpositionGetMpositionGetMposition, move_regionmove_regionMoveRegionMoveRegionMoveRegion

Siehe auch

set_insertset_insertSetInsertSetInsertSetInsert, set_drawset_drawSetDrawSetDrawSetDraw, affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage

Modul

Foundation