Setting Focus Into Field Control
>However, I wish to provide a menu item which when selected, will move the
>focus to a predetermined Field within the document. I can calculate the
>position of this Control view that is to obtain the focus, but I am not
>able to develop a program fragment that would set the focus (Caret) inside
>the desired Field.
There are two points that are not obvious from the standard Obx examples:
how to get a focus container that is in mask mode, and how to set the
focus
of a specific view in this container. The module below demonstrates these
two points. It focuses a control with the label "magic string".
I hope this helps
With best regards
Cuno Pfister
Oberon microsystems, Inc.
MODULE TestNav;
IMPORT Dialog, Views, Containers, Controls, TextModels,
TextControllers;
PROCEDURE Do*;
VAR c: Containers.Controller; rd: TextModels.Reader; v:
Views.View; ctrl: Controls.Control;
BEGIN
c := Containers.Focus();
IF c # NIL THEN
WITH c: TextControllers.Controller DO
rd := c.text.NewReader(NIL);
rd.ReadView(v);
WHILE v # NIL DO
WITH v: Controls.Control DO
IF v.label = "magic
string"
THEN ctrl := v; Dialog.Beep END
ELSE
END;
rd.ReadView(v)
END;
IF ctrl # NIL THEN
c.SetFocus(ctrl)
END
ELSE
END
END
END Do;
END TestNav.
"Set Focus" "" "TestNav.Do" ""
Received on Thu Sep 24 1998 - 09:17:18 UTC
This archive was generated by hypermail 2.3.0
: Thu Sep 26 2013 - 06:27:42 UTC