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