Name
attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindow — Anhängen eines bestehenden Zeichenobjektes an ein HALCON-Fenster.
Herror attach_drawing_object_to_window(const HTuple& WindowHandle, const HTuple& DrawID)
void HWindow::AttachDrawingObjectToWindow(const HDrawingObject& DrawID) const
void AttachDrawingObjectToWindow(const HTuple& WindowHandle, const HTuple& DrawID)
void HWindow::AttachDrawingObjectToWindow(const HDrawingObject& DrawID) const
attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindow hängt ein bestehendes
Zeichenobjekt DrawIDDrawIDDrawIDDrawIDDrawIDdrawID an das HALCON-Fenster
WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle 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_paramsSetDrawingObjectParamsset_drawing_object_paramsSetDrawingObjectParamsSetDrawingObjectParams).
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_callbackSetDrawingObjectCallbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallback.
Das Zeichenobjekt kann durch den Operator
detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindow 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_objDispObjdisp_objDispObjDispObj,
disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion, disp_imagedisp_imageDispImagedisp_imageDispImageDispImage oder disp_xlddisp_xldDispXlddisp_xldDispXldDispXld
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_windowClearWindowclear_windowClearWindowClearWindow aufgerufen wird oder das Fenster mit
close_windowclose_windowCloseWindowclose_windowCloseWindowCloseWindow geschlossen wird.
Die Größe des Stapels kann durch get_systemget_systemGetSystemget_systemGetSystemGetSystem und
set_systemset_systemSetSystemset_systemSetSystemSetSystem abgefragt und gesetzt werden. Siehe die
entsprechende Referenzdokumentation für weitere Details.
Es sollte kein Operator, der auf die Event-Queue des HALCON-Fensters
zugreift, wie z.B. get_mbuttonget_mbuttonGetMbuttonget_mbuttonGetMbuttonGetMbutton oder read_charread_charReadCharread_charReadCharReadChar,
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_rectangle1DrawRectangle1draw_rectangle1DrawRectangle1DrawRectangle1,
draw_rectangle2draw_rectangle2DrawRectangle2draw_rectangle2DrawRectangle2DrawRectangle2, draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion, draw_xlddraw_xldDrawXlddraw_xldDrawXldDrawXld oder
draw_circledraw_circleDrawCircledraw_circleDrawCircleDrawCircle zusammen mit der Event-Funktionalität verwendet werden,
da sie die Interaktion mit Zeichenobjekten verhindern.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Handle des Zeichenobjektes.
attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindow liefert den Wert 2 (H_MSG_TRUE), falls
DrawIDDrawIDDrawIDDrawIDDrawIDdrawID und WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle
gültig sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.
create_drawing_object_rectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1,
create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXld,
create_drawing_object_circle_sectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSector,
create_drawing_object_ellipse_sectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSector,
create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipse,
create_drawing_object_linecreate_drawing_object_lineCreateDrawingObjectLinecreate_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLine,
create_drawing_object_rectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2,
create_drawing_object_circlecreate_drawing_object_circleCreateDrawingObjectCirclecreate_drawing_object_circleCreateDrawingObjectCircleCreateDrawingObjectCircle,
create_drawing_object_textcreate_drawing_object_textCreateDrawingObjectTextcreate_drawing_object_textCreateDrawingObjectTextCreateDrawingObjectText
detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindow,
get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParams,
get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconic
set_drawing_object_callbackset_drawing_object_callbackSetDrawingObjectCallbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallback,
get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconic,
get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParams
Foundation