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

gxgxfish0813 2002-01-06 12:08:24
大家好,我想做一个看图软件,先做个基本模块吧,我先放上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.
...全文
120 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxgxfish0813 2002-01-07
  • 打赏
  • 举报
回复
发分发分了。
gxgxfish0813 2002-01-07
  • 打赏
  • 举报
回复
http://www.csdn.net/Expert/topic/462/462368.shtm
peihexian(只有初中学历) 你去这个看看吧。
gxgxfish0813 2002-01-07
  • 打赏
  • 举报
回复
我试试。SORRY!我很急。
长弓落日 2002-01-06
  • 打赏
  • 举报
回复
为什么不用全屏的控件?
peihexian 2002-01-06
  • 打赏
  • 举报
回复
建议先学说话再学编程吧!
试试吧
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);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
a,b:integer;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormClick(Sender: TObject);
begin
//UpdateWindow(Self.Handle);
a:=form1.Width;
b:=form1.Height;
form1.WindowState:=wsMaximized;
Image1.Left:=(Self.Width-Image1.Width) div 2;
Image1.Top:=(Self.Height-Image1.Height) div 2;
LockWindowUpdate(Self.Handle);
form1.BorderStyle:=bsNone;
LockWindowUpdate(0);
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
form1.WindowState:=wsNormal;
LockWindowUpdate(Self.Handle);
form1.BorderStyle:=bsSizeable;
form1.Width:=a;
form1.Height:=b;
Image1.Left:=(Self.Width-Image1.Width) div 2;
Image1.Top:=(Self.Height-Image1.Height) div 2;
LockWindowUpdate(0);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Self.Color:=clBlack;
end;

end.
pdsinfo 2002-01-06
  • 打赏
  • 举报
回复
-->让IMAGE组件在FORM1中居中呢
根据Image的大小和窗体的大小算一下left,top,width,heith就行了
gxgxfish0813 2002-01-06
  • 打赏
  • 举报
回复
什么叫全屏的控件啊?哪有什么名??!!!哈哈。有没有版权?
gxgxfish0813 2002-01-06
  • 打赏
  • 举报
回复
楼上2位兄弟你们在说什么啊?会不会啊。!!!哈哈。
peihexian 2002-01-06
  • 打赏
  • 举报
回复
锁一下Windows
用什么LockControl等,你查一下吧。

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧