Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.11;
Скачать: CL | DM;

Вниз

Почему не отлавливаються двойные клики?   Найти похожие ветки 

 
demon ©   (2008-08-22 02:43) [0]

вот код

program Project1;

uses
 Windows, Messages;

const
 WndClass = "TWinApiWnd";
 WndCaption = "API";

var
 Wc: TWndClassEx;
 Wnd: HWND;
 Msg: TMsg;

function WindowProc( Wnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM ): LRESULT; stdcall;
begin
  case Msg of
     WM_DESTROY: begin
        PostQuitMessage( 0 );
        Result := 0;
        Exit;
     end;
     WM_LBUTTONDBLCLK: MessageBox(wnd, "Dbl click!", "worked", MB_OK);
     else
        Result := DefWindowProc( Wnd, Msg, wParam, lParam );
  end;
end;

begin

  with Wc do
  begin
     cbSize := SizeOf( Wc );
     style := CS_HREDRAW or CS_VREDRAW;
     lpfnWndProc := @WindowProc;
     cbClsExtra := 0;
     cbWndExtra := 0;
     hInstance := hInstance;
     hIcon := LoadIcon( 0, IDI_APPLICATION );
     hCursor := LoadCursor( 0, IDC_ARROW );
     hbrBackground := CreateSolidBrush($000000);
     lpszMenuName := nil;
     lpszClassName := WndClass;
  end;

  RegisterClassEx( Wc );
  Wnd := CreateWindowEx( 0, WndClass, WndCaption, WS_OVERLAPPEDWINDOW,
                         100, 100, 300, 100, 0, 0, hInstance, nil );

  ShowWindow( Wnd, SW_SHOWNORMAL );

  while GetMessage( Msg, 0, 0, 0 ) do
  begin
     TranslateMessage( Msg );
     DispatchMessage( Msg );
  end;
  Halt( Msg.wParam );
end.


 
Юрий Зотов ©   (2008-08-22 06:46) [1]

with Wc do
begin
 cbSize := SizeOf(Wc);
 style := CS_HREDRAW or CS_VREDRAW or CS_DBLCLKS;
 ...
 hInstance := hInstance; // ???!!! Что за чудесатости чудесатые?
 // Используйте GetModuleHandle(nil) или SysInit.HInstance;
 ...
end;

И еще: при WM_LBUTTONDBLCLK оконная функция возвращает мусор - а не доолжна. На предупреждения компилятора стоит обращать внимание.



Страницы: 1 вся ветка

Текущий архив: 2009.10.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1249993837
77
2009-08-11 16:30
2009.10.11
СУБД


6-1207843756
anton
2008-04-10 20:09
2009.10.11
поменять стиль документа


2-1249667412
<code>
2009-08-07 21:50
2009.10.11
Как добавить к PopUp меню пункты другого меню


2-1249359922
Maxx
2009-08-04 08:25
2009.10.11
DBF и BDE


15-1250080125
desc
2009-08-12 16:28
2009.10.11
Принтер HP Officejet K7100 Series, печатает цветные полосы,