Главная страница
    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.44 MB
Время: 0.005 c
4-1219228987
POP
2008-08-20 14:43
2009.10.11
Интересный баг с COM портом.


2-1249471810
r900000
2009-08-05 15:30
2009.10.11
Работа с oracle


15-1249707770
Savek
2009-08-08 09:02
2009.10.11
Браузер


2-1249994663
AndrewG
2009-08-11 16:44
2009.10.11
richedit


15-1249611810
Наиль
2009-08-07 06:23
2009.10.11
Embarcadero хвастается





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский