求全屏的解决!!!怎么做出ACD全屏那样的效果呢?(200分)

  • 主题发起人 主题发起人 gxgxfish813
  • 开始时间 开始时间
G

gxgxfish813

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,我想做一个看图软件,先做个基本模块吧,我先放上IMAGE组件,然后什么也没有了,我想点窗体时全屏,点IMAGE时还原,功能简单吧,我目的就是为了看看全屏怎么做。不过我发现我的效果和ACD的不一样!我做的程序执行后:在原窗口变成全屏的那1秒钟里,窗体有一定的闪烁并隐约可以看到窗体背面的桌面请大家按我的源码看看就知道了。谢谢了!如果解决了我一定再送分!有一个要求,只能用一个窗体做!如果有两个窗体的话,似乎好解决多了。另外再问一下,怎么让IMAGE组件在FORM1中居中呢?代码如下了:(如果哪位兄弟能解决了请把这一小段代码写出来啊,不要说什么用SCREEN的。根本行不通的,能行我也不会写。)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
procedure FormClick(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
a,b:integer;
public
{ Public declarations }
end;
var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormClick(Sender: TObject);
begin
a:=form1.Width;
b:=form1.Height;
showmessage(inttostr(a));
form1.WindowState:=wsMaximized;
form1.BorderStyle:=bsNone;
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
form1.WindowState:=wsNormal;
form1.BorderStyle:=bsSizeable;
form1.Width:=a;
form1.Height:=b;
showmessage(inttostr(a));
end;

end.
 
windowstate:wsmaximized
bordicons所有都fasle
borderstyle:=bsnone
 
[?]
我写个控件你?要吗???
 
窗体闪烁是正常的,下面的语句使该窗口要重画
form1.WindowState:=wsMaximized;
form1.BorderStyle:=bsNone;
就象你自己说的最好的解决办法是用两窗口,显示另一个的时候,这一个就隐藏。
另外要使一个控件居中显示可以设置该控件的四个角都不固定位置。
这个属性名称我现在忘了,你可以看一下属性面板,应该很好找的。
 
我也同意楼上的
用两个窗口
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部