[Lazarus] An expression is returning false, why?
Lubos Pintes
lubos.pintes at gmail.com
Sun Mar 4 21:48:45 CET 2018
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 <lazarus at lists.lazarus-ide.org>
> > Komu: lazarus at lists.lazarus.freepascal.org
> > 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
> Lazarus at lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus
>
>
More information about the Lazarus
mailing list