program Hackdiy;
uses
Windows, Messages;
var
TheMessage: TMsg;
const
ClassName = 'MainForm_FOrm1';
// 窗体过程回调函数
function FormProc(hForm, MsgID, WParam, LParam: LongWord): LongWord; stdcall;
const
{$J+}
TempFont: DWORD = 0;
{$J-}
ControlID1 = 1;
ControlID2 = 2;
ControlID3 = 3;
var
EditText: array[0..30] of Char;
begin
Result := DefWindowProc(hForm, MsgID, WParam, LParam); // 标准处理
case MsgID of
WM_CREATE:
begin
TempFont := CreateFont(12, 6, 0, 0, FW_EXTRALIGHT, Byte(FALSE), Byte(FALSE),
Byte(FALSE), GB2312_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, '宋体');
CreateWindowEx(0, 'BUTTON', '退出程序', WS_CHILD or WS_VISIBLE,
60, 20, 70, 25, hForm, ControlID2, HInstance, nil);
SendMessage(GetDlgItem(hForm, ControlID2), WM_SETFONT, TempFont, 1);
end;
WM_COMMAND:
begin
if (HIWORD(wParam) = BN_CLICKED) then // 单击按钮
begin
case LOWORD(wParam) of // 控件ID
ControlID1:
begin
end;
ControlID2:
SendMessage(hForm, WM_CLOSE, 0, 0);
end;
end;
end;
WM_DESTROY:
begin
PostQuitMessage(0);
DeleteObject(TempFont);
end;
end;
end;
// 注册窗体类
procedure Register_MainForm;
var
FormClass: TWndClass;
begin
FormClass.Style := CS_HREDRAW or CS_VREDRAW;
FormClass.lpfnWndProc := @FormProc;
FormClass.cbClsExtra := 0;
FormClass.cbWndExtra := 0;
FormClass.hInstance := SysInit.HInstance;
FormClass.hIcon := LoadIcon(HInstance, 'Cool');
FormClass.hCursor := LoadCursor(0, IDC_ARROW);
FormClass.hbrBackground := COLOR_WINDOW;
FormClass.lpszMenuName := nil;
FormClass.lpszClassName := ClassName;
RegisterClass(FormClass);
end;
// 注销窗体类
procedure Unregister_MainForm;
begin
UnregisterClass(ClassName, HInstance);
end;
// 建立主窗体
procedure Create_MainForm;
begin
CreateWindowEx(WS_EX_TOPMOST, ClassName, 'Form1',
WS_VISIBLE or WS_TILED or WS_SYSMENU or WS_MINIMIZEBOX or WS_SIZEBOX,
200, 200, 200, 100, 0, 0, HInstance, nil);
end;
begin
Register_MainForm;
Create_MainForm;
while GetMessage(TheMessage, 0, 0, 0) do
begin
TranslateMessage(TheMessage);
DisPatchMessage(TheMessage);
end;
end.