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_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window hängt ein bestehendes Zeichenobjekt DrawHandleDrawHandleDrawHandledrawHandledraw_handle an das HALCON-Fenster WindowHandleWindowHandleWindowHandlewindowHandlewindow_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_paramsSetDrawingObjectParamsSetDrawingObjectParamsset_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_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback.

Das Zeichenobjekt kann durch den Operator detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowdetach_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_objDispObjDispObjdisp_obj, disp_regiondisp_regionDispRegionDispRegiondisp_region, disp_imagedisp_imageDispImageDispImagedisp_image oder disp_xlddisp_xldDispXldDispXlddisp_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_windowClearWindowClearWindowclear_window aufgerufen wird oder das Fenster geschlossen wird.

Die Größe des Stapels kann durch get_systemget_systemGetSystemGetSystemget_system und set_systemset_systemSetSystemSetSystemset_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_mbuttonGetMbuttonGetMbuttonget_mbutton oder read_charread_charReadCharReadCharread_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_rectangle1DrawRectangle1DrawRectangle1draw_rectangle1, draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2draw_rectangle2, draw_regiondraw_regionDrawRegionDrawRegiondraw_region, draw_xlddraw_xldDrawXldDrawXlddraw_xld oder draw_circledraw_circleDrawCircleDrawCircledraw_circle zusammen mit der Event-Funktionalität verwendet werden, da sie die Interaktion mit Zeichenobjekten verhindern.

Ausführungsinformationen

Parameter

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

Fenster-Handle.

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

Handle des Zeichenobjektes.

Ergebnis

attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window liefert den Wert 2 ( H_MSG_TRUE) , falls DrawHandleDrawHandleDrawHandledrawHandledraw_handle und WindowHandleWindowHandleWindowHandlewindowHandlewindow_handle gültig sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_drawing_object_rectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1create_drawing_object_rectangle1, create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldcreate_drawing_object_xld, create_drawing_object_circle_sectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorcreate_drawing_object_circle_sector, create_drawing_object_ellipse_sectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSectorcreate_drawing_object_ellipse_sector, create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipsecreate_drawing_object_ellipse, create_drawing_object_linecreate_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLinecreate_drawing_object_line, create_drawing_object_rectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2create_drawing_object_rectangle2, create_drawing_object_circlecreate_drawing_object_circleCreateDrawingObjectCircleCreateDrawingObjectCirclecreate_drawing_object_circle, create_drawing_object_textcreate_drawing_object_textCreateDrawingObjectTextCreateDrawingObjectTextcreate_drawing_object_text

Nachfolger

detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowdetach_drawing_object_from_window, get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params, get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic

Siehe auch

set_drawing_object_callbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback, get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic, get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params

Modul

Foundation