attach_drawing_object_to_windowT_attach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindow (Operator)

Name

attach_drawing_object_to_windowT_attach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindow — Anhängen eines bestehenden Zeichenobjektes an ein HALCON-Fenster.

Signatur

attach_drawing_object_to_window( : : WindowHandle, DrawHandle : )

Herror T_attach_drawing_object_to_window(const Htuple WindowHandle, const Htuple DrawHandle)

void AttachDrawingObjectToWindow(const HTuple& WindowHandle, const HTuple& DrawHandle)

void HWindow::AttachDrawingObjectToWindow(const HDrawingObject& DrawHandle) const

static void HOperatorSet.AttachDrawingObjectToWindow(HTuple windowHandle, HTuple drawHandle)

void HWindow.AttachDrawingObjectToWindow(HDrawingObject drawHandle)

Beschreibung

attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindow hängt ein bestehendes Zeichenobjekt DrawHandleDrawHandleDrawHandleDrawHandledrawHandle an das HALCON-Fenster WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle an. Sobald das Zeichenobjekt an das Fenster angehängt wurde, wird es in dem jeweiligen Fenster angezeigt. Das Zeichenobjekt kann im HALCON-Fenster interaktiv modifiziert werden. Das Fenster wird automatisch aktualisiert, wenn die Eigenschaften des Objekts modifiziert werden (siehe set_drawing_object_paramsset_drawing_object_paramsSetDrawingObjectParamsSetDrawingObjectParamsSetDrawingObjectParams).

Wenn sich zwei oder mehrere Zeichenobjekte überlappen, ist es durch einen Doppelklick auf das derzeit ausgewählte Zeichenobjekt möglich, das nächste Zeichenobjekt auszuwählen.

Zusätzlich ist es möglich, auf Modifikationen des Zeichenobjekts zu reagieren. Nähere Informationen hierzu findet sich in der Dokumentation zu set_drawing_object_callbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackSetDrawingObjectCallback.

Das Zeichenobjekt kann durch den Operator detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindow aus dem aktuellen Fenster entfernt werden.

Sobald ein Zeichenobjekt an einem HALCON-Fenster hängt, wird jedes HALCON-Objekt, das durch einen Operator, wie z.B. disp_objdisp_objDispObjDispObjDispObj, disp_regiondisp_regionDispRegionDispRegionDispRegion, disp_imagedisp_imageDispImageDispImageDispImage oder disp_xlddisp_xldDispXldDispXldDispXld dargestellt wird, intern in einem Grafik-Stapel gespeichert, damit sie zusammen mit dem Zeichenobjekt angezeigt werden können. Die HALCON-Objekte werden solange angezeigt, bis clear_windowclear_windowClearWindowClearWindowClearWindow aufgerufen wird oder das Fenster geschlossen wird.

Die Größe des Stapels kann durch get_systemget_systemGetSystemGetSystemGetSystem und set_systemset_systemSetSystemSetSystemSetSystem abgefragt und gesetzt werden. Siehe die entsprechende Referenzdokumentation für weitere Details.

Achtung

Es sollte kein Operator, der auf die Event-Queue des HALCON-Fensters zugreift, wie z.B. get_mbuttonget_mbuttonGetMbuttonGetMbuttonGetMbutton oder read_charread_charReadCharReadCharReadChar, verwendet werden, solange Zeichenobjekte ans Fenster anhgehängt sind. Sie stehen im Gegensatz zu der Interaktion mit Zeichenobjekten, da sie aktiv auf die Eventloop des Fensters zugreifen.

Außerdem sollte keiner der blockierenden Operatoren draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1, draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2, draw_regiondraw_regionDrawRegionDrawRegionDrawRegion, draw_xlddraw_xldDrawXldDrawXldDrawXld oder draw_circledraw_circleDrawCircleDrawCircleDrawCircle zusammen mit der Event-Funktionalität verwendet werden, da sie die Interaktion mit Zeichenobjekten verhindern.

Ausführungsinformationen

Parameter

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

Fenster-Handle.

DrawHandleDrawHandleDrawHandleDrawHandledrawHandle (input_control)  drawing_object HDrawingObject, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Zeichenobjektes.

Ergebnis

attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindow liefert den Wert 2 (H_MSG_TRUE), falls DrawHandleDrawHandleDrawHandleDrawHandledrawHandle und WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle gültig sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_drawing_object_rectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1, create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldCreateDrawingObjectXld, create_drawing_object_circle_sectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSector, create_drawing_object_ellipse_sectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSector, create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipseCreateDrawingObjectEllipse, create_drawing_object_linecreate_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLineCreateDrawingObjectLine, create_drawing_object_rectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2, create_drawing_object_circlecreate_drawing_object_circleCreateDrawingObjectCircleCreateDrawingObjectCircleCreateDrawingObjectCircle, create_drawing_object_textcreate_drawing_object_textCreateDrawingObjectTextCreateDrawingObjectTextCreateDrawingObjectText

Nachfolger

detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindow, get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParams, get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconic

Siehe auch

set_drawing_object_callbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackSetDrawingObjectCallback, get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconic, get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParams

Modul

Foundation