delphi – 如何允许或禁止用户在pagecontrol中输入tab?
发布时间:2020-12-15 09:38:10 所属栏目:大数据 来源:网络整理
导读:我想限制用户(基于特殊条件)在页面控件中打开选项卡.即,用户可以单击选项卡,但不会向他显示.相反,一条消息将向他显示“他没有访问权限以查看此类标签”. 在什么事件上我应该编写检查代码,以及哪些tab属性(TPageControl组件)将允许/阻止用户进入这样的选项卡
我想限制用户(基于特殊条件)在页面控件中打开选项卡.即,用户可以单击选项卡,但不会向他显示.相反,一条消息将向他显示“他没有访问权限以查看此类标签”.
在什么事件上我应该编写检查代码,以及哪些tab属性(TPageControl组件)将允许/阻止用户进入这样的选项卡? 解决方法
在理想的世界中,您可以从OnChanging事件中将AllowChange设置为False以阻止页面更改.但是,这似乎不可行,因为我无法从OnChanging中找出用户试图选择哪个页面的方法.
即使查看基础Windows通知似乎也没有什么希望. TCN_SELCHANGING通知标识了控件,但据我所知,并没有说明所涉及的页面. 我能想到的最好的方法是使用OnChanging来记录当前的活动页面,然后在OnChange中进行艰苦的工作.如果所选页面已更改为不需要的内容,则只需将其更改回来. procedure TForm1.PageControl1Changing(Sender: TObject; var AllowChange: Boolean); begin FPreviousPageIndex := PageControl1.ActivePageIndex; end; procedure TForm1.PageControl1Change(Sender: TObject); begin if PageControl1.ActivePageIndex=1 then begin PageControl1.ActivePageIndex := FPreviousPageIndex; Beep; end; end; 我知道相当凌乱,但它有工作的美德! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |