104 while (PeekMessage(&
msg,
NULL, 0, 0, PM_NOREMOVE)) {
105 if (!GetMessage( &
msg,
NULL, 0, 0 )) {
114 bool processed =
false;
115 for (
int aindex = 0; aindex < _Accelerators.Count(); aindex++) {
116 if (_Accelerators[aindex].
Window) {
117 if (TranslateAccelerator(_Accelerators[aindex].
Window, _Accelerators[aindex].Accelerator, &
msg)) {
123 if (processed)
continue;
130 for (
int index = 0; index < _ModelessDialogs.Count(); index++) {
131 if (IsDialogMessage(_ModelessDialogs[index], &
msg)) {
136 if (processed)
continue;
145 if (processed)
continue;
152 TranslateMessage(&
msg);
153 DispatchMessage(&
msg);
178 _ModelessDialogs.Add(dialog);
200 _ModelessDialogs.Delete(dialog);
248 for (
int index = 0; index < _Accelerators.Count(); index++) {
249 if (_Accelerators[index].Accelerator == accelerator) {
250 _Accelerators.Delete(index);
void Remove_Modeless_Dialog(HWND dialog)
void Windows_Message_Handler(void)
void Add_Accelerator(HWND window, HACCEL accelerator)
bool(* Message_Intercept_Handler)(MSG &msg)
void Remove_Accelerator(HACCEL accelerator)
void Add_Modeless_Dialog(HWND dialog)
int operator!=(AcceleratorTracker const &acc) const
int operator==(AcceleratorTracker const &acc) const
AcceleratorTracker(HWND window=NULL, HACCEL accelerator=NULL)