Показать сообщение отдельно
  #9  
Старый 03.11.2014, 09:16
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

нет там никаких кнопок, ни их обработки! вот тут есть:

Код:
program CreateWindowAPI;

uses
  Windows, Messages;

var
  AWndClass: WNDCLASS;
  AMsg: TMsg;
  AWnd: HWND;

function WindowProc(hwnd: HWND; uMsg: UINT;
  wParam: WPARAM; lParam: LPARAM): Longint; stdcall;
begin
  Result:=0;
  case uMsg of
    WM_COMMAND: begin
      if HIWORD(wParam)=0 then
      case LOWORD(wParam) of
        2014: MessageBox(hwnd, 'Button1', 'TWINAPIFORM', MB_OK);
        2015: MessageBox(hwnd, 'Button2', 'TWINAPIFORM', MB_OK);
      end;
    end;
    WM_CLOSE: if MessageBox(hwnd, 'Close?', 'TWINAPIFORM', MB_OKCANCEL)=IDOK then PostQuitMessage(0) else Exit;
  end;
  Result:=DefWindowProc(hwnd, uMsg, wParam, lParam);
end;

begin
  AWndClass.Style:=CS_HREDRAW or CS_VREDRAW;
  AWndClass.lpfnWndProc:=@WindowProc;
  AWndClass.cbClsExtra:=0;
  AWndClass.cbWndExtra:=0;
  AWndClass.hInstance:=HInstance;
  AWndClass.hIcon:=LoadIcon(0, IDI_APPLICATION);
  AWndClass.hCursor:=LoadCursor(0, IDC_ARROW);
  AWndClass.hbrBackground:=COLOR_WINDOW+1;
  AWndClass.lpszMenuName:=nil;
  AWndClass.lpszClassName:='TWINAPIFORM';
  RegisterClass(AWndClass);
  AWnd:=CreateWindow(
    AWndClass.lpszClassName,
    AWndClass.lpszClassName,
    WS_VISIBLE or WS_OVERLAPPEDWINDOW,
    Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
    640, 480, 0, 0,
    HInstance, nil);
  CreateWindow('BUTTON', 'Button1', WS_CHILDWINDOW or WS_VISIBLE,
    10, 10, 75, 25, AWnd, 2014, HInstance, nil);
  CreateWindow('BUTTON', 'Button2', WS_CHILDWINDOW or WS_VISIBLE,
    10, 45, 75, 25, AWnd, 2015, HInstance, nil);
  while GetMessage(AMsg, 0, 0, 0) do
  begin
    TranslateMessage(AMsg);
    DispatchMessage(AMsg);
  end;
end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием