Главная страница
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.012 c
2-1249849905
Rendal
2009-08-10 00:31
2009.10.11
Воспроизведение файла из файлового потока через MediaPlayer


15-1249068357
картман
2009-07-31 23:25
2009.10.11
Не вызывается функция dll из clr-ХП


2-1249460930
Volga30
2009-08-05 12:28
2009.10.11
Смешать 2 цвета


15-1249763402
Юрий
2009-08-09 00:30
2009.10.11
С днем рождения ! 9 августа 2009 воскресенье


11-1206025013
andreil
2008-03-20 17:56
2009.10.11
Stream2Stream на АСМе?