真の Delphian ならこのページを見てみろ。

このエントリーをはてなブックマークに追加
program Window1;

uses
 Windows, Messages;

const
 AppName = 'Window1';

function WindowProc(Window: HWnd; AMessage, WParam, LParam: Longint): Longint; stdcall; export;
begin
 Result:=0;
 case AMessage of
  wm_Destroy: begin
         PostQuitMessage(0);
         Exit;
        end;
 end;
 Result:=DefWindowProc(Window, AMessage, WParam, LParam);
end;

function WinRegister: Boolean;
var
 WindowClass: TWndClassEx;
begin
 with WindowClass do
 begin
  cbSize:=SizeOf(WindowClass);
  Style:=cs_hRedraw or cs_vRedraw;
  lpfnWndProc:=@WindowProc;
  cbClsExtra:=0;
  cbWndExtra:=0;
  hInstance:=HInstance;
  hIcon:=LoadIcon(0, idi_Application);
  hCursor:=LoadCursor(0, idi_Application);
  hbrBackground:=HBrush(Color_Window);
  lpszMenuName:=nil;
  lpszClassName:=AppName;
  hIconSm:=0;
 end;
 Result:=RegisterClassEx(WindowClass)<>0;
end;

function WinCreate: HWnd;
var
 hWindow: HWnd;
begin
 hWindow:=CreateWindow(AppName, 'Object Pascal Window',
            ws_OverlappedWindow, cw_UseDefault, cw_UseDefault,
            cw_UseDefault, cw_UseDefault, 0, 0, HInstance, nil);
 if hWindow<>0 then
 begin
  ShowWindow(hWindow, CmdShow);
  Updatewindow(hWindow);
 end;
 Result:=hWindow;
end;