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
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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 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