set_drawing_object_callbackT_set_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback (Operator)
Name
set_drawing_object_callbackT_set_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback — Hinzufügen einer Callback-Funktion zu einem Zeichenobjekt.
Signatur
Beschreibung
set_drawing_object_callbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback fügt die Rückruffunktion
CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function zu einem Zeichenobjekt hinzu, die bei
einem definierten Event DrawObjectEventDrawObjectEventDrawObjectEventDrawObjectEventdrawObjectEventdraw_object_event ausgeführt wird.
Ein Event ist eine Aktion die vom Benutzer oder einem HALCON-Operator,
wie z.B. attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window,
ausgelöst wird und den Status des Zeichenobjekts verändert. Der Operator
set_drawing_object_callbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback ermöglicht es zu definieren, wie auf
solche Events reagiert wird.
Die vordefinierten Events sind:
- 'on_attach'"on_attach""on_attach""on_attach""on_attach""on_attach"
Die entsprechende Rückruffunktion wird gleich nach
dem Anhängen des Zeichenobjekts ans Fenster aufgerufen.
- 'on_detach'"on_detach""on_detach""on_detach""on_detach""on_detach"
Die entsprechende Rückruffunktion wird gleich nach
dem Entfernen des Zeichenobjekts vom Fenster aufgerufen.
- 'on_drag'"on_drag""on_drag""on_drag""on_drag""on_drag"
Die entsprechende Rückruffunktion wird gleich nach
dem Verschieben des Zeichenobjekts aufgerufen.
- 'on_resize'"on_resize""on_resize""on_resize""on_resize""on_resize"
Die entsprechende Rückruffunktion wird gleich nach
dem Anpassen der Größe des Zeichenobjekts aufgerufen.
- 'on_select'"on_select""on_select""on_select""on_select""on_select"
Die entsprechende Rückruffunktion wird gleich nach
dem Auswählen und Aktivierung vom Zeichenobjekt aufgerufen.
Es ist möglich eine bestimmte Rückruffunktion für jedes gewünschte
Event zu setzten. Dafür müssen die Eingabeparameter
DrawObjectEventDrawObjectEventDrawObjectEventDrawObjectEventdrawObjectEventdraw_object_event und CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function die gleiche
Länge haben. Es ist ebenso möglich die gleiche Rückruffunktion für
verschiedene Events zu definieren. Dann kann DrawObjectEventDrawObjectEventDrawObjectEventDrawObjectEventdrawObjectEventdraw_object_event
eine beliebige Länge haben und CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function enthält
einen einzigen Wert.
Die Rückruffunktion ist ein Integer vom Typ long und beinhaltet einen Pointer
zu einer C-Funktion folgender Signatur:
Herror HDrawObjCallback(long DrawHandle, long WindowHandle, char* type)
Unter Windows 32 bit Systemen, wird die __stdcall Namenskonvention benutzt:
Herror (__stdcall HDrawObjCallback)(long DrawHandle, long WindowHandle, char* type)
Der erste Parameter der Rückruffunktion enthält das Handle des Zeichenobjekts,
das das Event auslöst. Der zweite Parameter enthält das Handle zu dem Fenster,
in dem das Event ausgelöst wurde. Der Dritte gibt an, welches Event
geschehen ist.
Achtung
Es darf kein grafischer Operator innerhalb der Rückruffunktion aufgerufen
werden, wie. z.B. disp_objdisp_objDispObjDispObjDispObjdisp_obj, da sonst ein Deadlock vorkommen könnte.
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
DrawHandleDrawHandleDrawHandleDrawHandledrawHandledraw_handle (input_control) drawing_object → HDrawingObject, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Zeichenobjekts.
DrawObjectEventDrawObjectEventDrawObjectEventDrawObjectEventdrawObjectEventdraw_object_event (input_control) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Liste der zu setzenden Events.
Wertevorschläge: 'on_resize'"on_resize""on_resize""on_resize""on_resize""on_resize", 'on_drag'"on_drag""on_drag""on_drag""on_drag""on_drag", 'on_attach'"on_attach""on_attach""on_attach""on_attach""on_attach", 'on_detach'"on_detach""on_detach""on_detach""on_detach""on_detach", 'on_select'"on_select""on_select""on_select""on_select""on_select"
CallbackFunctionCallbackFunctionCallbackFunctionCallbackFunctioncallbackFunctioncallback_function (input_control) pointer(-array) → HTupleMaybeSequence[int]HTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Liste entsprechenden Callback-Funktionen.
Ergebnis
set_drawing_object_callbackset_drawing_object_callbackSetDrawingObjectCallbackSetDrawingObjectCallbackSetDrawingObjectCallbackset_drawing_object_callback liefert den Wert TRUE, falls DrawHandleDrawHandleDrawHandleDrawHandledrawHandledraw_handle
und DrawObjectEventDrawObjectEventDrawObjectEventDrawObjectEventdrawObjectEventdraw_object_event gültig sind. Ansonsten wird eine Fehlerbehandlung
durchgeführt.
Vorgänger
attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window
Nachfolger
close_windowclose_windowCloseWindowCloseWindowCloseWindowclose_window,
clear_drawing_objectclear_drawing_objectClearDrawingObjectClearDrawingObjectClearDrawingObjectclear_drawing_object,
detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowdetach_drawing_object_from_window,
get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic,
get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params
Siehe auch
create_drawing_object_rectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1create_drawing_object_rectangle1,
attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window,
detach_drawing_object_from_windowdetach_drawing_object_from_windowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowDetachDrawingObjectFromWindowdetach_drawing_object_from_window
Modul
Foundation