119 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <HTML><HEAD><TITLE>Tk Built-In Commands - focus manual page</TITLE></HEAD><BODY>
 | |
| <DL>
 | |
| <DD><A HREF="focus.htm#M2" NAME="L468">NAME</A>
 | |
| <DL><DD>focus - Manage the input focus</DL>
 | |
| <DD><A HREF="focus.htm#M3" NAME="L469">SYNOPSIS</A>
 | |
| <DL>
 | |
| <DD><B>focus</B>
 | |
| <DD><B>focus </B><I>window</I>
 | |
| <DD><B>focus </B><I>option</I> ?<I>arg arg ...</I>?
 | |
| </DL>
 | |
| <DD><A HREF="focus.htm#M4" NAME="L470">DESCRIPTION</A>
 | |
| <DL>
 | |
| <DD><A HREF="focus.htm#M5" NAME="L471"><B>focus</B></A>
 | |
| <DD><A HREF="focus.htm#M6" NAME="L472"><B>focus </B><I>window</I></A>
 | |
| <DD><A HREF="focus.htm#M7" NAME="L473"><B>focus -displayof</B> <I>window</I></A>
 | |
| <DD><A HREF="focus.htm#M8" NAME="L474"><B>focus -force </B><I>window</I></A>
 | |
| <DD><A HREF="focus.htm#M9" NAME="L475"><B>focus -lastfor</B> <I>window</I></A>
 | |
| </DL>
 | |
| <DD><A HREF="focus.htm#M10" NAME="L476">QUIRKS</A>
 | |
| <DD><A HREF="focus.htm#M11" NAME="L477">KEYWORDS</A>
 | |
| </DL><HR>
 | |
| <H3><A NAME="M2">NAME</A></H3>
 | |
| focus - Manage the input focus
 | |
| <H3><A NAME="M3">SYNOPSIS</A></H3>
 | |
| <B>focus</B><BR>
 | |
| <B>focus </B><I>window</I><BR>
 | |
| <B>focus </B><I>option</I> ?<I>arg arg ...</I>?<BR>
 | |
| <H3><A NAME="M4">DESCRIPTION</A></H3>
 | |
| The <B>focus</B> command is used to manage the Tk input focus.
 | |
| At any given time, one window on each display is designated as
 | |
| the <I>focus window</I>;  any key press or key release events for the
 | |
| display are sent to that window.
 | |
| It is normally up to the window manager to redirect the focus among the
 | |
| top-level windows of a display.  For example, some window managers
 | |
| automatically set the input focus to a top-level window whenever
 | |
| the mouse enters it;  others redirect the input focus only when
 | |
| the user clicks on a window.
 | |
| Usually the window manager will set the focus
 | |
| only to top-level windows, leaving it up to the application to
 | |
| redirect the focus among the children of the top-level.
 | |
| <P>
 | |
| Tk remembers one focus window for each top-level (the most recent
 | |
| descendant of that top-level to receive the focus);  when the window
 | |
| manager gives the focus
 | |
| to a top-level, Tk automatically redirects it to the remembered
 | |
| window.  Within a top-level Tk uses an <I>explicit</I> focus model
 | |
| by default.  Moving the mouse within a top-level does not normally
 | |
| change the focus;  the focus changes only when a widget
 | |
| decides explicitly to claim the focus (e.g., because of a button
 | |
| click), or when the user types a key such as Tab that moves the
 | |
| focus.
 | |
| <P>
 | |
| The Tcl procedure <B>tk_focusFollowsMouse</B> may be invoked to
 | |
| create an <I>implicit</I> focus model:  it reconfigures Tk so that
 | |
| the focus is set to a window whenever the mouse enters it.
 | |
| The Tcl procedures <B>tk_focusNext</B> and <B>tk_focusPrev</B>
 | |
| implement a focus order among the windows of a top-level;  they
 | |
| are used in the default bindings for Tab and Shift-Tab, among other
 | |
| things.
 | |
| <P>
 | |
| The <B>focus</B> command can take any of the following forms:
 | |
| <P>
 | |
| <DL>
 | |
| <P><DT><A NAME="M5"><B>focus</B></A><DD>
 | |
| Returns the path name of the focus window on the display containing
 | |
| the application's main window,  or an empty string if no window in
 | |
| this application has the focus on that display.   Note:  it is
 | |
| better to specify the display explicitly using <B>-displayof</B>
 | |
| (see below) so that the code will work in applications using multiple
 | |
| displays.
 | |
| <P><DT><A NAME="M6"><B>focus </B><I>window</I></A><DD>
 | |
| If the application currently has the input focus on <I>window</I>'s
 | |
| display, this command resets the input focus for <I>window</I>'s display
 | |
| to <I>window</I> and returns an empty string.
 | |
| If the application doesn't currently have the  input focus on
 | |
| <I>window</I>'s display, <I>window</I> will be remembered as the focus
 | |
| for its top-level;  the next time the focus arrives at the top-level,
 | |
| Tk will redirect it to <I>window</I>.
 | |
| If <I>window</I> is an empty string then the command does nothing.
 | |
| <P><DT><A NAME="M7"><B>focus -displayof</B> <I>window</I></A><DD>
 | |
| Returns the name of the focus window on the display containing <I>window</I>.
 | |
| If the focus window for <I>window</I>'s display isn't in this
 | |
| application, the return value is an empty string.
 | |
| <P><DT><A NAME="M8"><B>focus -force </B><I>window</I></A><DD>
 | |
| Sets the focus of <I>window</I>'s display to <I>window</I>, even if
 | |
| the application doesn't currently have the input focus for the display.
 | |
| This command should be used sparingly, if at all.
 | |
| In normal usage, an application should not claim the focus for
 | |
| itself;  instead, it should wait for the window manager to give it
 | |
| the focus.
 | |
| If <I>window</I> is an empty string then the command does nothing.
 | |
| <P><DT><A NAME="M9"><B>focus -lastfor</B> <I>window</I></A><DD>
 | |
| Returns the name of the most recent window to have the input focus
 | |
| among all the windows in the same top-level as <I>window</I>.
 | |
| If no window in that top-level has ever had the input focus, or
 | |
| if the most recent focus window has been deleted, then the name
 | |
| of the top-level is returned.  The return value is the window that
 | |
| will receive the input focus the next time the window manager gives
 | |
| the focus to the top-level.
 | |
| 
 | |
| <P></DL>
 | |
| <H3><A NAME="M10">QUIRKS</A></H3>
 | |
| When an internal window receives the input focus, Tk doesn't actually
 | |
| set the X focus to that window;  as far as X is concerned, the focus
 | |
| will stay on the top-level window containing the window with the focus.
 | |
| However, Tk generates FocusIn and FocusOut events just as if the X
 | |
| focus were on the internal window.   This approach gets around a
 | |
| number of problems that would occur if the X focus were actually moved;
 | |
| the fact that the X focus is on the top-level is invisible unless
 | |
| you use C code to query the X server directly.
 | |
| 
 | |
| <H3><A NAME="M11">KEYWORDS</A></H3>
 | |
| <A href="../Keywords/E.htm#events">events</A>, <A href="../Keywords/F.htm#focus">focus</A>, <A href="../Keywords/K.htm#keyboard">keyboard</A>, <A href="../Keywords/T.htm#top-level">top-level</A>, <A href="../Keywords/W.htm#window manager">window manager</A>
 | |
| <HR><PRE>
 | |
| <A HREF="../copyright.htm">Copyright</A> © 1990-1994 The Regents of the University of California.
 | |
| <A HREF="../copyright.htm">Copyright</A> © 1994-1996 Sun Microsystems, Inc.
 | |
| <A HREF="../copyright.htm">Copyright</A> © 1995-1997 Roger E. Critchlow Jr.</PRE>
 | |
| </BODY></HTML>
 | 
