Windows 編程[1] – 表單產生的過程一

來源:互聯網
上載者:User
本例:


建立一個控制台程式, 貼入下面代碼即可運行:

program Project1;uses  Windows, Messages;{等待調用的過程, 用於在表單上繪製文本}Procedure OnPaint(h: HDC);const  s = 'CodeGear Delphi 2007';begin  TextOut(h, 10, 10, PChar(s), Length(s));end;{視窗回調過程}function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall;var  Handle: HDC;  ps: PAINTSTRUCT;begin  case msg of    WM_PAINT: begin        Handle := BeginPaint(wnd, ps);        OnPaint(Handle);        EndPaint(wnd, ps);        result := 0;     end;    WM_DESTROY: begin        PostQuitMessage(0);        result := 0;      end;   else      Result := DefWindowProc(wnd, msg, wParam, lParam);   end;end;{主程式}var  hWnd       : THandle;  Msg        : TMsg;  MyWndClass : TWndClass;begin   MyWndClass.style         := CS_HREDRAW or CS_VREDRAW;   MyWndClass.lpfnWndProc   := @WndProc;   MyWndClass.cbClsExtra    := 0;   MyWndClass.cbWndExtra    := 0;   MyWndClass.hInstance     := HInstance;   MyWndClass.hIcon         := LoadIcon(0, IDI_QUESTION);   MyWndClass.hCursor       := LoadCursor(0, IDC_ARROW);   MyWndClass.hbrBackground := HBRUSH(GetStockObject(WHITE_BRUSH));   MyWndClass.lpszMenuName  := nil;   MyWndClass.lpszClassName := 'MyWindowClass';   RegisterClass(MyWndClass);   hWnd := CreateWindow('MyWindowClass', '這是視窗標題', WS_OVERLAPPEDWINDOW,      100, 100, 250, 150, 0, 0, HInstance, nil);   ShowWindow(hWnd, SW_SHOWNORMAL);   UpdateWindow(hWnd);   while(GetMessage(Msg, 0, 0, 0)) do   begin      TranslateMessage(Msg);      DispatchMessage(Msg);   end;end.

計劃從這裡出發, 瞭解更多底層的東西; 先弄明白這些代碼吧!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.