attach_drawing_object_to_windowT_attach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window (Operator)

Name

attach_drawing_object_to_windowT_attach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window — 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)

def attach_drawing_object_to_window(window_handle: HHandle, draw_handle: HHandle) -> None

Beschreibung

attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window hängt ein bestehendes Zeichenobjekt DrawHandleDrawHandleDrawHandleDrawHandledrawHandledraw_handle an das HALCON-Fenster WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle 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_paramsSetDrawingObjectParamsSetDrawingObjectParamsSetDrawingObjectParamsset_drawing_object_params).

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_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback.

Das Zeichenobjekt kann durch den Operator detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowdetach_drawing_object_from_window 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_objDispObjDispObjDispObjdisp_obj, disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region, disp_imagedisp_imageDispImageDispImageDispImagedisp_image oder disp_xlddisp_xldDispXldDispXldDispXlddisp_xld 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_windowClearWindowClearWindowClearWindowclear_window aufgerufen wird oder das Fenster geschlossen wird.

Die Größe des Stapels kann durch get_systemget_systemGetSystemGetSystemGetSystemget_system und set_systemset_systemSetSystemSetSystemSetSystemset_system 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_mbuttonGetMbuttonGetMbuttonGetMbuttonget_mbutton oder read_charread_charReadCharReadCharReadCharread_char, verwendet werden, solange Zeichenobjekte ans Fenster angehä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_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1draw_rectangle1, draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2draw_rectangle2, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, draw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xld oder draw_circledraw_circleDrawCircleDrawCircleDrawCircledraw_circle zusammen mit der Event-Funktionalität verwendet werden, da sie die Interaktion mit Zeichenobjekten verhindern.

Ausführungsinformationen

Parameter

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (input_control)  window HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Fenster-Handle.

DrawHandleDrawHandleDrawHandleDrawHandledrawHandledraw_handle (input_control)  drawing_object HDrawingObject, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Zeichenobjektes.

Ergebnis

attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window liefert den Wert 2 (H_MSG_TRUE), falls DrawHandleDrawHandleDrawHandleDrawHandledrawHandledraw_handle und WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle gültig sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_drawing_object_rectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1create_drawing_object_rectangle1, create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldCreateDrawingObjectXldcreate_drawing_object_xld, create_drawing_object_circle_sectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorcreate_drawing_object_circle_sector, create_drawing_object_ellipse_sectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSectorcreate_drawing_object_ellipse_sector, create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipseCreateDrawingObjectEllipsecreate_drawing_object_ellipse, create_drawing_object_linecreate_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLineCreateDrawingObjectLinecreate_drawing_object_line, create_drawing_object_rectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2create_drawing_object_rectangle2, create_drawing_object_circlecreate_drawing_object_circleCreateDrawingObjectCircleCreateDrawingObjectCircleCreateDrawingObjectCirclecreate_drawing_object_circle, create_drawing_object_textcreate_drawing_object_textCreateDrawingObjectTextCreateDrawingObjectTextCreateDrawingObjectTextcreate_drawing_object_text

Nachfolger

detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowdetach_drawing_object_from_window, get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params, get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic

Siehe auch

set_drawing_object_callbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback, get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic, get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params

Modul

Foundation