В обработчике событий TDbGrid.OnColumnMoved
, я корректирую цвета заголовков некоторых столбцов.
Я также использую событие сетки OnTitleClicked
, чтобы открыть всплывающее меню (сортировка по столбцу).
К сожалению, после того, как пользователь перетащит столбец и завершится OnColumnMoved
, VCL вызывает OnTitleClicked
. Это означает, что всплывающее окно с порядком сортировки появляется после перетаскивания столбца.
Есть ли способ в OnColumnMoved
очистить очередь событий мыши, чтобы не вызывать OnTitleClicked
?
Этот поток имеет этот код, но У меня нет Msg
в OnTitleClicked
.
while PeekMessage(Msg, 0, WM_MOUSEFIRST, WM_MOUSELAST,
PM_REMOVE or PM_NOYIELD) do;
(Если нет способа сделать это, ничего страшного. Я могу установить флаг в OnColumnMoved
, чтобы OnTitleClick
игнорировал его следующий вызов.)