gpt4 book ai didi

delphi - 如何在页面控制中允许或禁止用户输入选项卡?

转载 作者:行者123 更新时间:2023-12-03 15:20:25 25 4
gpt4 key购买 nike

我想限制用户(基于特殊条件)在页面控件中打开或不打开选项卡。即,用户可以单击该选项卡,但不会向他显示该选项卡。相反,一条消息会向他显示“他没有查看此类选项卡的访问权限”。

在什么事件上我应该编写检查代码,以及什么选项卡属性(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 - 如何在页面控制中允许或禁止用户输入选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com