在任务管理器里通过右键菜单使“应用程序”里delphi创建的程序最大化,主窗口的大小不变,但主窗口后面出现了一个大窗口覆盖了整个桌面,请问怎么解决这个问题。随便做一个delphi程序就能重现这个问题。
解决方案 »
- 读取字符串的问题
- combox,增加项
- 关于使用ADO组件调用oracle存储过程或者函数返回游标的问题
- 高分求,用dll封装的数据库应用程序源代码谁有啊?给个来参考下.
- 计划展望期,时区,时段,时界,需求时界,计划时界等时间名词看了ERP方面的书,但是还是不明白这些意思啊,还有MPS的计算公式具体要考虑
- windows API问题
- 帮忙,找一个压缩
- 请各位谈谈对DOA控件的印象?
- 那里有Delphi中开发和使用Webservice的电子图书?
- Access + ADO 的程序发布,需要那些文件?(就这么点分了)
- 最近一段时间一直在找分布式开发的资料,但这家公司开发出来的软件,我不知道是用什么技术,请高手指点.
- 为何Image对象作为背景图片,label不能正常显示?
DeleteMenu(SysMenu, SC_MAXIMIZE, MF_BYCOMMAND);
DeleteMenu(SysMenu, SC_SIZE, MF_BYCOMMAND);
但是也不是很完美,至少第一次还会看到那个空窗口闪一下。
procedure TForm1.FormDestroy(Sender: TObject);
begin
Application.UnhookMainWindow(WindowHook);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Application.HookMainWindow(WindowHook);
end;function TForm1.WindowHook(var Message: TMessage): Boolean;
begin
Result := False;
if Message.Msg = WM_SIZE then
begin
case Message.WParam of
SIZE_MAXIMIZED:
begin
ShowWindow(Application.Handle, SW_RESTORE);
ShowWindow(Application.MainForm.Handle, SW_MAXIMIZE);
Result := True;
end;
end;
end
end;
但这个也是非常麻烦,会遇到很多问题。