int clearDialogEvent(int state)
Always returns true.
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.
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.
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; }
setDialogEvent, FME_INIT, FME_CANCEL, FME_KEYDOWN, FME_KEYUP