typestar

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

  1. SetWindow hook(name)= lo adjunta; el nombre te deja quitarlo después.
  2. La estructura lleva eventName, la ventana y la posición del mouse.
  3. Devolver cero deja que Igor maneje el evento como siempre.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 5 en Conectarlo todo; paso 15 de 18 en Paneles y GUI.

← Anterior Siguiente →