Delphi - 如何在创建表单时自动突出显示 DBLookupListBox 中的第一个条目
如何自动突出显示 DBLookupListBox 中的第一个条目,而无需最终用户突出显示它。
procedure TForm2.FormCreate(Sender: TObject);
begin
Form2.ActiveControl := DBLookupListBox1;
end;
但这不起作用,我还在表单创建上尝试过 DBLookupListBox1.setfocus ,但这给出了错误,因为 DBLookupListBox 尚未创建。
谢谢
-布拉德
How do I auto highlight the 1st entry in a DBLookupListBox without the end user highlighting it.
procedure TForm2.FormCreate(Sender: TObject);
begin
Form2.ActiveControl := DBLookupListBox1;
end;
But this doesn't work, I've also tried DBLookupListBox1.setfocus on form create, but this gives an error, because the DBLookupListBox is not created yet.
Thanks
-Brad
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我还没有对此进行测试,但我假设您应该在表单的 OnShow 事件中使用 SetFocus 来激活该控件。
设置默认值有点复杂,因为 DBLookupListBox 是 DB 感知的。
一种方法是在 DataSets OnNewRecord 事件或 AfterInsert 事件中设置默认值:
如果您仍想通过表单执行此操作:
恕我直言:
设置默认值应被视为业务逻辑,因此属于 DataModule 中。
设置适当的焦点是 GUI 逻辑,应该在表单中完成。
I haven't tested this, but I would assume that you should use SetFocus in the form's OnShow event to activate the control.
Setting a default value is a bit more complicated because the DBLookupListBox is DB-aware.
One approach is to set the default values in the DataSets OnNewRecord event or AfterInsert event:
If you still would like to do this from the Form:
IMHO:
Setting default values should be considered as business logic and therefore belongs in the DataModule.
Setting the appropriate focus is GUI-logic and should be done in the form.