Hooks de ventana en Igor Pro
Una función hook ve lo que le pasa a la ventana misma, no a un solo control.
Function AttachHook()
SetWindow AnalysisPanel, hook(cleanup)=PanelHook
End
Function PanelHook(STRUCT WMWinHookStruct &s)
strswitch (s.eventName)
case "kill":
KillDataFolder/Z root:Settings
break
case "mousedown":
Printf "click at %d, %d\r", s.mouseLoc.h, s.mouseLoc.v
break
endswitch
return 0
End
Cómo funciona
SetWindow hook(name)=lo adjunta; el nombre te deja quitarlo después.- La estructura lleva
eventName, la ventana y la posición del mouse. - Devolver cero deja que Igor maneje el evento como siempre.
Palabras clave y builtins usados aquí
EndFunctionSTRUCTbreakcaseendswitchreturnstrswitch
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 298
- Tokens
- 59
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 39 segundos.
Paso 3 de 5 en Conectarlo todo; paso 15 de 18 en Paneles y GUI.