简单问题,马上结帖!!

Oer 2003-08-30 10:14:11
我在toolbar中放有四个speedbutton名为:s1,s2,s3,s4依次排序在上面,
就是我在form的onshow事件写:s2.visable:=false;这样运行结果是:s2的位置空在那边,像多了个洞,这样的界面不好看,有什么办法,让S2不空出来,直接是s3,如下:
运行前:s1s2s3s4
运行后:s1 s3s4(我想的结果是:s1s3s4)
...全文
45 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiflower 2003-09-07
  • 打赏
  • 举报
回复
楼主该结了吧
wjt1982 2003-09-07
  • 打赏
  • 举报
回复
不要结了我也要说两句 ,如果像hifower 所说的话如果是用来注销的话那不能达到结果了因为一注销, 所有TAG变了left 也变所以会动态产生, speedbutton.create(self)进行动态产生
pressman 2003-08-31
  • 打赏
  • 举报
回复
建议设立用户权限等级
根据等级来判断界面和权限
是不是会好一些呢?
改改吧!
hiflower 2003-08-31
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender:TObject);
begin
s2.Tag:=s2.Left;
s3.Tag:=s3.Left;
s4.Tag:=s4.Left;
end;
procedure TForm1.FormShow(Sendet:TObject);
begin
if s2.Visible then
begin
s2.Left:=s2.Tag;
s3.Left:=s3.Tag;
s4.Left:=s4.Tag;
end
else
begin
s3.Left:=s2.Tag;
s4.Left:=s3.Tag;
end;
end;
xiaoyuer0851 2003-08-31
  • 打赏
  • 举报
回复
根据 用户的等级来判断权限,然后 你没有必要把他隐藏,
只需要把enable :=false ;就可以了
可以看到,但是不能够点击 ,
一样可以实现你的要求啊
wdong18 2003-08-31
  • 打赏
  • 举报
回复
一个boolean数组,表示该控件是否要显示。
然后循环,创建,就可以了。
tvhero 2003-08-31
  • 打赏
  • 举报
回复
应该动态生成
Oer 2003-08-31
  • 打赏
  • 举报
回复
那就是要动态的生成了界面了
Oer 2003-08-30
  • 打赏
  • 举报
回复
我用了if s2.visable=false then
s2.destroy;
可以得到了效果,但是我如果是用来注销登录的话,也就是第二个用户拥有了s2的权限,它就找不到了S2就出错了?请部怎么做??
HiMrXia 2003-08-30
  • 打赏
  • 举报
回复
最好作一个控件显示排序的方法,以Tag值为顺序,根据Visible属性顺序排列就行,还可复用

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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