摘要: 正确关闭一个MDI子窗口。Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会发觉该子窗口只是最小化,而不是你预期的那样被关闭。解决办法是在子窗口的OnClose事件处理过程中加入如下代码,示例:rocedure ChildForm.OnClose(Sender: TObject; var Action: TCloseAction);beginAction := caFree;end; Delphi为一个Form的关闭行为指定了四种方式,分别是:caNone禁止Form被关闭caHideForm不被关闭,但是被隐藏。被隐藏的Form仍然可以被程序访. 阅读全文
posted @ 2011-12-09 22:16 wmymtx 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 在使用MDI介面时,有时候需要在MDI客户窗口中显示一些图形或软件封面,使得软件介面不会显得空旷,软件功能也能一目了然。然而在Delphi中并没有直接给出这些接口。在MDI窗体中放入任何图形控件在运行时都不能显示。因此需要对MDI窗体进行改造。申明:本方案仅针对MDI窗体,如果应用在非MDI窗体中,后果难说,你自已试试吧。记住,窗体的FormStyle属性要设置为:fsMDIForm。解决方案:1. 在MDI主窗体中无法接收到MDI客户窗口的消息(Message),因此,需要自已定义客户窗口的处理过程(Window Procedure),并接管MDI客户窗口(需在重载的CreateWnd过程中 阅读全文
posted @ 2011-12-09 22:16 wmymtx 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 1.隐藏窗体的标题栏在Delphi中隐藏窗体的标题栏,相信大家都会说是一个件十分容易的事情,只需要设置BorderStyle的属性为bsNone就可以了,不过这种设置方法不但去掉了窗体的标题栏,而且也去掉了窗体的3D边框,这样就显得不好看了,那么请大家试试下面的方法吧。procedure TForm1.FormCreate(Sender: TObject);beginsetwindowlong(form1.Handle,gwl_style,getwindowlong(handle,gwl_style) and not ws_caption);height:=clientheight;//隐藏标 阅读全文
posted @ 2011-12-09 21:51 wmymtx 阅读(1805) 评论(0) 推荐(0) 编辑