program NoVCL;
uses
Windows,
Messages;
function WndProc(Window: HWnd; AMessage,WParam,LParam: Longint): Longint; stdcall;
var
A : HMENU;
He : HWND;
begin
Result := 0;
case AMessage of
WM_DESTROY:
PostQuitMessage(0);
WM_LBUTTONDOWN:
begin
he := CreateWindow( 'edit', '',WS_VISIBLE OR WS_CHILD OR WS_BORDER OR ES_AUTOHSCROLL OR ES_AUTOVSCROLL,0, 0, 100, 30, Window, A, 0, NIL);
SendMessage(he, EM_LIMITTEXT, 2, 0)
end;
else
Result := DefWindowProc(Window, AMessage, WParam, LParam);
end;
end;
const
ClassName = 'Pascal No Vcl ';
function WinRegister: Boolean;
var
WindowClass: TWndClass;
begin
with WindowClass do
begin
Style := CS_HRedraw or CS_VRedraw;
lpfnWndProc := @WndProc;
cbClsExtra := 0;
cbWndExtra := 0;
hInstance := SysInit.HInstance;
HIcon := LoadIcon(0, IDI_Application);
hCursor := LoadCursor(0, IDC_Arrow);
hbrBackground := HBrush(Color_Window);
lpszMenuName := nil;
lpszClassName := ClassName;
end;
Result := RegisterClass(WindowClass) <> 0;
end;
function WinCreate: HWnd;
var
HWindow: HWnd;
begin
HWindow := CreateWindow(ClassName, 'Delphi ', WS_OverlappedWindow, 50, 50,
600, 400, 0, 0, HInstance, nil);
if HWindow <> 0 then
begin
ShowWindow(HWindow, CmdShow);
UpdateWindow(HWindow);
end;
Result := HWindow;
end;
var
AMessage: TMsg;
HWindow: HWnd;
begin
if not WinRegister then
begin
MessageBox(0, 'Register Class Error ', 'Delphi ', MB_OK);
Exit;
end;
HWindow := WinCreate;
if HWindow = 0 then
begin
MessageBox(0, 'CreateWindowError ', 'Delphi ', MB_OK or MB_ICONERROR);
Exit;
end;
while GetMessage(AMessage, 0, 0, 0) do
begin
TranslateMessage(AMessage);
DispatchMessage(AMessage);
end;
end.
uses
Windows,
Messages;
function WndProc(Window: HWnd; AMessage,WParam,LParam: Longint): Longint; stdcall;
var
A : HMENU;
He : HWND;
begin
Result := 0;
case AMessage of
WM_DESTROY:
PostQuitMessage(0);
WM_LBUTTONDOWN:
begin
he := CreateWindow( 'edit', '',WS_VISIBLE OR WS_CHILD OR WS_BORDER OR ES_AUTOHSCROLL OR ES_AUTOVSCROLL,0, 0, 100, 30, Window, A, 0, NIL);
SendMessage(he, EM_LIMITTEXT, 2, 0)
end;
else
Result := DefWindowProc(Window, AMessage, WParam, LParam);
end;
end;
const
ClassName = 'Pascal No Vcl ';
function WinRegister: Boolean;
var
WindowClass: TWndClass;
begin
with WindowClass do
begin
Style := CS_HRedraw or CS_VRedraw;
lpfnWndProc := @WndProc;
cbClsExtra := 0;
cbWndExtra := 0;
hInstance := SysInit.HInstance;
HIcon := LoadIcon(0, IDI_Application);
hCursor := LoadCursor(0, IDC_Arrow);
hbrBackground := HBrush(Color_Window);
lpszMenuName := nil;
lpszClassName := ClassName;
end;
Result := RegisterClass(WindowClass) <> 0;
end;
function WinCreate: HWnd;
var
HWindow: HWnd;
begin
HWindow := CreateWindow(ClassName, 'Delphi ', WS_OverlappedWindow, 50, 50,
600, 400, 0, 0, HInstance, nil);
if HWindow <> 0 then
begin
ShowWindow(HWindow, CmdShow);
UpdateWindow(HWindow);
end;
Result := HWindow;
end;
var
AMessage: TMsg;
HWindow: HWnd;
begin
if not WinRegister then
begin
MessageBox(0, 'Register Class Error ', 'Delphi ', MB_OK);
Exit;
end;
HWindow := WinCreate;
if HWindow = 0 then
begin
MessageBox(0, 'CreateWindowError ', 'Delphi ', MB_OK or MB_ICONERROR);
Exit;
end;
while GetMessage(AMessage, 0, 0, 0) do
begin
TranslateMessage(AMessage);
DispatchMessage(AMessage);
end;
end.
解决方案 »
- 程序分按键执行没问题,但放到循环就出错,请帮分析下原因
- 关于TreeView的问题
- 关于自定义组件
- 局域网内实现点对点语音传输
- 关语音识别方向的,语音识别的原理、方法等方面,有什么好的资料和教材?
- 调查:你们都是怎么样将树形结构存储在数据表中的?
- 关于连接的问题!请大家帮忙~!~
- 简单问题--在线等--解决立即给分
- 请问高手:能否能够实现从一台机子上的程序控制另一台机子上程序的运行,比如,被控制机窗体上的按钮被按下,谢谢!
- help!!! 为什么我的D6在编译时出现错误:“Fatal Error QuickRpt.pas(23):File not found:'Dsgnintf.dcu'
- 皮肤控件问题
- 创建数据库时提示“没有注册类别”
反正用不上 没记住