Hello and thank for a reply. Do I understand correctly that a form is a special case? What about TEdit or TButton for example? I am encapsulating a TControl instance and am asking for properties needed for UI Automation, occasionally asking if the encapsulated control is a TWinControl instance. I tested the simplest LCL program, just an empty form, and it really caused me headache. I just forcefully set the HasKeyboardFocus property to true for testing and the form was reported correctly.
Dňa 04.03.2018 o 20:44 Vojtěch Čihák via Lazarus napísal(a):
Hi,

I just tested. Active Form always returns Focused False. Use property Active instead.

Result := (FControl is TCustomForm) and TCustomForm(FControl).Active;

V.

______________________________________________________________
 > Od: Lubos Pintes via Lazarus <[email protected]>
 > Komu: [email protected]
 > Datum: 04.03.2018 17:58
 > Předmět: [Lazarus] An expression is returning false, why?
 >

Hello,
Sorry for possibly stupid subject and maybe off-topic question. In my
UIA code, I am testing if a control has focus. So I have a FControl:
TControl declared in my class.
Now say FControl contains a TForm1 instance, simply we have very simple
program with just an empty window. Then an expression:
Result := FControl is TWinControl and TWinControl(FControl).Focused;
returns false. I am sure the form has focus..., because
ShowMessage(BoolToStr(Focused)) returns -1, which represents true...

--
_______________________________________________
Lazarus mailing list
[email protected]
https://lists.lazarus-ide.org/listinfo/lazarus




--
_______________________________________________
Lazarus mailing list
[email protected]
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to