clearDialogEvent

Syntax

int clearDialogEvent(int state)

Arguments

state
An integer of bitwise flags of events to disable. Set to 1 to disable Init events, 2 to disable Cancel events, 4 to disable Keypress events.

Return

Always returns true.

Description

Disables certain dialog events from being processed / triggered in your own FilterMeister code. You might use this function to stop keypresses from being processed by your code, or to let FilterMeister process all cancel events internally.

Comment

Note that clearDialogEvent can only disable / deregister / clear events. To enable an event & process it, you must use setDialogEvent.

There appears to be a bug in Beta 9g and possibly newer FilterMeister versions that prevents FME_CANCEL events from being processed in code, regardless of whether clearDialogEvent was called or not.

Example

ctl[0]: CHECKBOX, "Enable Init Events"
ctl[1]: CHECKBOX, "Enable Cancel Events"
ctl[2]: CHECKBOX, "Enable Keypress Events" 
ctl[4]: STATICTEXT, ""
ctl[5]: STATICTEXT, ""


OnCtl(n): {

  if (e == FME_INIT) {
    Info("The Init event was intercepted.");
    return true;
  }

  if (e == FME_CANCEL) {
    Info("Cancel event was intercepted!");
    return true;
  }

  if (e == FME_KEYDOWN) {
    printf("Key down!");
    return true;
  }


  if (n >= 0 && n<=2 && e == FME_CLICKED) {

    int statevalue = ctl(0)*1 + ctl(1)*2 + ctl(2)*4;

    // Enable events we turned on
    setDialogEvent( statevalue );
    sprintf(str1, "setDialogEvent(%d) called", statevalue);
    setCtlText(4, str1);

    // Clear events that we turned off
    clearDialogEvent( statevalue ^ 7); // Use bitwise XOR
    sprintf(str2, "clearDialogEvent(%d) called", statevalue ^ 7);
    setCtlText(5, str2);
  }

  return false;
}

See Also

setDialogEvent, FME_INIT, FME_CANCEL, FME_KEYDOWN, FME_KEYUP