我正在努力使Delphi VCL表单可配置,以便不同的用户可以按不同的顺序选择字段并访问不同的字段。我一直告诉大家这是一个不好的想法,但他们根本没有听到任何他们不想听到的声音。
我的问题是:
是否有现有的Delphi组件允许我这样做,而不必为表单上的每个字段都有OnEnter / OnExit事件?理想情况下,该组件还会拦截KeyPress事件以允许Tab / Shft-Tab问题。
过去我曾试图在有限的基础上做到这一点,并发现这是一场噩梦,所以任何可能让我的生活更轻松的建议都会受到赞赏。
答案 0 :(得分:3)
关于标签,执行此操作的方法是通过TabOrder
属性。如果不同的用户需要不同的选项卡排序,那么您需要在运行时设置TabOrder
。
同样,要控制访问权限,您需要在运行时设置Enabled
或Visible
属性来控制访问权限。
如果TabOrder
没有删除它,正如您在评论中指出的那样,那么您需要收听发送到表单的CM_DIALOGCHAR
条消息。测试CharCode
记录的TCMDialogKey
成员,如果是VK_TAB
,请根据需要设置焦点。