Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2009.10.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2009.10.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
6-1179900339
allucard
2007-05-23 10:05
2009.10.11
Отправка письма indy.


15-1250061319
JS
2009-08-12 11:15
2009.10.11
Шрифт


2-1249891168
Hamyachok
2009-08-10 11:59
2009.10.11
Масштабирование с соблюдением расстояний между объектами


6-1207346087
FoxikM
2008-04-05 01:54
2009.10.11
Как временно отключить комп от сетки


15-1249211618
KilkennyCat
2009-08-02 15:13
2009.10.11
Рекомендую москвичам покинуть Москву на весь день 4-го числа.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский