获得焦点的问题??在线关注??

languagefuck 2003-09-03 09:19:21
我想写这么一条语句
if 一个窗体获得焦点 then
begin
一些操作;
end;
if 该窗体没有获得焦点 then
begin
又一些操作
end;
且我用的父窗体与子窗体的形式,如果此窗体还没有创建,会不会还有什么设置呀??
这个窗体获得焦点的语句怎么写呀???
...全文
13 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
whqcfp 2003-09-03
  • 打赏
  • 举报
回复
在窗体还没有创建的时候,给窗体上的一些控件焦点是会出错的。
If Assigned(Form1) Then //已创建
Begin
If Edit1.Focused Then
//todo something
Else
// todo other thing
End
Else
Form1 := TForm1.Create(Self);
tiexinliu 2003-09-03
  • 打赏
  • 举报
回复
先判断窗体是否存在,不存在创建
if not Assigned(RegionQryFrm) then RegionQryFrm:=TRegionQryFrm.Create(application);
languagefuck 2003-09-03
  • 打赏
  • 举报
回复
但是如果没有创建这个窗体系统就会报错,这个怎么控制呀
A_ZHU 2003-09-03
  • 打赏
  • 举报
回复
Focused 判断是否获得焦点;

SetFocus 设置焦点到该空件!
hansome 2003-09-03
  • 打赏
  • 举报
回复
if Form1.Focused then
begin
...
end
else if not Form2.Focused then
begin
...
end;
Sorder 2003-09-03
  • 打赏
  • 举报
回复
同意楼上
luhualing 2003-09-03
  • 打赏
  • 举报
回复
有一个办法,在执行程序前先判断窗口是否打打开,没有打开就把它打开,
if application.FindComponent('frmName')=nil then
Application.CreateForm(tfrmName,frmName);
如果打开时想看到窗口,就加一条代码:
frmName.show;
hiflower 2003-09-03
  • 打赏
  • 举报
回复
try
if Form1.Focused then
begin
一些操作;
end;
except;
end;
try
if not form2.Focused then
begin
又一些操作
end;
except;
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧