delphi – 如何允许或禁止用户在pagecontrol中输入tab?

delphi – 如何允许或禁止用户在pagecontrol中输入tab?,第1张

概述我想限制用户(基于特殊条件)在页面控件中打开选项卡.即,用户可以单击选项卡,但不会向他显示.相反,一条消息将向他显示“他没有访问权限以查看此类标签”. 在什么事件上我应该编写检查代码,以及哪些tab属性(TPageControl组件)将允许/阻止用户进入这样的选项卡? 在理想的世界中,您可以从OnChanging事件中将AllowChange设置为False以阻止页面更改.但是,这似乎不可行,因为 我想限制用户(基于特殊条件)在页面控件中打开选项卡.即,用户可以单击选项卡,但不会向他显示.相反,一条消息将向他显示“他没有访问权限以查看此类标签”.

在什么事件上我应该编写检查代码,以及哪些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;

我知道相当凌乱,但它有工作的美德!

总结

以上是内存溢出为你收集整理的delphi – 如何允许或禁止用户在pagecontrol中输入tab?全部内容,希望文章能够帮你解决delphi – 如何允许或禁止用户在pagecontrol中输入tab?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1268175.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存