![]() |
![]() ![]() ![]() ![]() |
|
Корректная работа при работе с колесиком мышки в TDBGridDelphi , Компоненты и Классы , TDBGridКорректная работа при работе с колесиком мышки в TDBGrid
Оформил: DeeCo
{....}
public
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
{....}
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
var
i: SmallInt;
begin
{Mouse wheel behaves strangely with dgbgrids - this proc sorts this out}
if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam);
if i > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;
Handled := False;
end;
end;
// Und im Projekt Source:
// And in the project source:
{....}
Application.OnMessage := Form1.AppMessage;
{....}
Программный код, предназначенный для обработки событий прокрутки мыши в компоненте TDBGrid приложения Delphi. Ошибка в стандартном поведении прокрутки мыши при взаимодействии с TDBGrid заключается в том, что она может быть неожиданной и не работать как ожидалось. Процедура Когда пользователь прокручивает мышь вверх, код имитирует нажатие клавиши VK_UP (обычно обрабатывается событием Код устанавливает параметр В проекте источника процедура Это обеспечивает, что все отправленные на приложение сообщения обрабатываются процедурой В проекте источника также предлагается альтернативное решение с использованием события TDBGridOnMouseWheel вместо переопределения события Application.OnMessage. Это может быть более эффективным и проще для поддержки: В этом примере обработчик события Это может обеспечить более прямой способ обработки событий прокрутки мыши в TDBGrid без переопределения события Application.OnMessage. Корректная работа при работе с колесиком мышки в TDBGrid обеспечивается за счет обработки сообщения WM_MOUSEWHEEL и преобразования его в WM_KEYDOWN для корректной работы со строками. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||