delphi如何用CreateWindowEx创建一个窗体?
我打算在一个空白的窗体上点击鼠标后,用CreateWindowEx创建一个窗体,请问这个怎么实现?最好能贴出完整的源代码,谢谢!...
我打算在一个空白的窗体上点击鼠标后,用CreateWindowEx创建一个窗体,请问这个怎么实现?最好能贴出完整的源代码,谢谢!
展开
1个回答
展开全部
这个都没人来答么,那我来大概说说吧。
首先你得先写一个注册窗口的函数:
function tmainform.RegClass:Boolean;
var
WndClass:TWndClass;
begin
//这里面是你注册的WndClass窗体的信息,代码麻烦我就不打了。
end;
然后是创建窗口的过程:
procedure tmainform.CreateForm;
var
Wnd:HWND;
begin
RegClass;
Wnd:=CreateWindow('MyFormClass', //注册窗口类名
'窗口标题', //窗口标题栏
WS_OVERLAPPEDWINDOW, //窗口风格
CW_USEDEFAULT, //默认left
CW_USEDEFAULT, //默认top
CW_USEDEFAULT, //默认width
CW_USEDEFAULT, //默认height
SELF.HANDLE, //父窗口句柄
MainMenu1.Handle, //窗口菜单
HInstance, //程序实例
nil //窗体附加参数
);
IF Wnd<>0 THEN
BEGIN
ShowWindow(Wnd,SW_SHOWNORMAL); //SHOW窗口
UpdateWindow(Wnd); //刷新窗口
END;
end;
完了,以上是以 CreateWindow 为例 创建窗口,仅作参考。
PS:没有分的回答还要打N多代码,怪不得没人来答。
首先你得先写一个注册窗口的函数:
function tmainform.RegClass:Boolean;
var
WndClass:TWndClass;
begin
//这里面是你注册的WndClass窗体的信息,代码麻烦我就不打了。
end;
然后是创建窗口的过程:
procedure tmainform.CreateForm;
var
Wnd:HWND;
begin
RegClass;
Wnd:=CreateWindow('MyFormClass', //注册窗口类名
'窗口标题', //窗口标题栏
WS_OVERLAPPEDWINDOW, //窗口风格
CW_USEDEFAULT, //默认left
CW_USEDEFAULT, //默认top
CW_USEDEFAULT, //默认width
CW_USEDEFAULT, //默认height
SELF.HANDLE, //父窗口句柄
MainMenu1.Handle, //窗口菜单
HInstance, //程序实例
nil //窗体附加参数
);
IF Wnd<>0 THEN
BEGIN
ShowWindow(Wnd,SW_SHOWNORMAL); //SHOW窗口
UpdateWindow(Wnd); //刷新窗口
END;
end;
完了,以上是以 CreateWindow 为例 创建窗口,仅作参考。
PS:没有分的回答还要打N多代码,怪不得没人来答。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询