起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 214|回复: 6

【搞定】PageControl的问题,各位高手帮忙解决~~**

[复制链接]
发表于 2007-5-16 16:19:41 | 显示全部楼层 |阅读模式
怎样控制PageControl当中某页面不能打开?
比如有TabSheet1、TabSheet2、TabSheet3 三个分页
现在TabSheet3 是特有权限的人才能打开,查看里面的内容。
使用TabSheet3.Enabled:=false;只能实现TabSheet3 页面只读状态,但是还是能够查看TabSheet3当中的内容,不能达到需求。
请指点~~
回复

使用道具 举报

 楼主| 发表于 2007-5-16 16:43:55 | 显示全部楼层
高手请帮忙!
回复 支持 反对

使用道具 举报

发表于 2007-5-16 17:02:01 | 显示全部楼层
楼主,你试试在该控件的OnChang或OnChanging事件中编写代码,
如果当前人员没有权利,而当前tabSheet已经切换到了TabSheet3,就用代码改变当前的ActivePage
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-16 17:41:53 | 显示全部楼层
使用了OnChang事件,代码如下:
procedure TXM_JBXX.PageControlChange(Sender: TObject);
begin
     self.PageControl.ActivePageIndex:=1;
end;
这样的话,当用户试图打开TabSheet3 时,会自动跳回TabSheet1
但是TabSheet2,就不能使用了。。。
没能达到预期目的,用户只是没有TabSheet3的查看权限,但是TabSheet1与TabSheet2还是能查看的!
请问如何解决?
回复 支持 反对

使用道具 举报

发表于 2007-5-16 17:58:40 | 显示全部楼层
楼主,现在TabSheet3 是特有权限的人才能打开,查看里面的内容。
那你可以把这页隐藏不就可以了,在Show窗体,或者某个事件上直接隐藏TabSheet3 ,参考代码
隐藏
TabSheet1.Visible := False;
TabSheet1.TabVisible:= False;
显示
  TabSheet1.Visible := true;
  TabSheet1.TabVisible:= true;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-16 18:08:28 | 显示全部楼层
搞定,谢谢!
回复 支持 反对

使用道具 举报

发表于 2007-5-16 18:16:18 | 显示全部楼层
ok
Enabled 属性本身就是控制是否可用,就是只读,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-20 07:59 , Processed in 0.039302 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表