set_drawing_object_callback — Hinzufügen einer Callback-Funktion zu einem Zeichenobjekt.
set_drawing_object_callback( : : DrawHandle, DrawObjectEvent, CallbackFunction : )
set_drawing_object_callback fügt die Rückruffunktion
CallbackFunction zu einem Zeichenobjekt hinzu, die bei
einem definierten Event DrawObjectEvent ausgeführt wird.
Ein Event ist eine Aktion die vom Benutzer oder einem HALCON-Operator,
wie z.B. attach_drawing_object_to_window,
ausgelöst wird und den Status des Zeichenobjekts verändert. Der Operator
set_drawing_object_callback ermöglicht es zu definieren, wie auf
solche Events reagiert wird.
Die vordefinierten Events sind:
Die entsprechende Rückruffunktion wird gleich nach dem Anhängen des Zeichenobjekts ans Fenster aufgerufen.
Die entsprechende Rückruffunktion wird gleich nach dem Entfernen des Zeichenobjekts vom Fenster aufgerufen.
Die entsprechende Rückruffunktion wird gleich nach dem Verschieben des Zeichenobjekts aufgerufen.
Die entsprechende Rückruffunktion wird gleich nach dem Anpassen der Größe des Zeichenobjekts aufgerufen.
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
DrawObjectEvent und CallbackFunction die gleiche
Länge haben. Es ist ebenso möglich die gleiche Rückruffunktion für
verschiedene Events zu definieren. Dann kann DrawObjectEvent
eine beliebige Länge haben und CallbackFunction 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.
Es darf kein graphischer Operator innerhalb der Rückruffunktion aufgerufen
werden, wie. z.B. disp_obj, da sonst ein Deadlock vorkommen könnte.
DrawHandle (input_control) drawing_object → (handle)
Handle des Zeichenobjekts.
DrawObjectEvent (input_control) string(-array) → (string)
Liste der zu setzenden Events.
Wertevorschläge: 'on_resize', 'on_drag', 'on_attach', 'on_detach', 'on_select'
CallbackFunction (input_control) pointer(-array) → (integer)
Liste entsprechenden Callback-Funktionen.
set_drawing_object_callback liefert den Wert 2 (H_MSG_TRUE), falls DrawHandle
und DrawObjectEvent gültig sind. Ansonsten wird eine Fehlerbehandlung
durchgeführt.
attach_drawing_object_to_window
close_window,
clear_drawing_object,
detach_drawing_object_from_window,
get_drawing_object_iconic,
get_drawing_object_params
create_drawing_object_rectangle1,
attach_drawing_object_to_window,
detach_drawing_object_from_window
Foundation