Form_CommonMouseMoveFunction.mdb |
Post Reply |
Author | |
A.D. Tejpal
Microsoft MVP Joined: 30 Jun 2008 Status: Offline Points: 192 |
Post Options
Thanks(0)
Posted: 09 Jul 2008 at 10:35pm |
This sample db demonstrates common functions for MouseMove, GotFocus and LostFocus over multiple controls on a form, for temporarily highlighting the control having mouse over, apart from special highlight for control actually having focus. MouseMove over a given control does not necessarily imply that the control in question is the active control. This rules out the use of an omnibus function based upon ActiveControl. Instead, it becomes necessary that even if a common function of generic nature is used for all controls, name of each individual control making the call has to be passed as an argument. Evidently, conventional approach in calling such a function from MouseMove events of multiple controls involves tedious work by the developer. Repetitive entries of function name (with control name as argument) are needed either in VBA code in MouseMove event for each of the controls in question, or directly as similar entries against OnMouseMove property on Event tab in properties dialog box of each such control. An interesting alternative has been demonstrated here that makes the whole process remarkably simpler, overcoming the above drawbacks. As the form loads, OnMouseMove event property of all text/combo boxes and labels gets set to function Fn_MMove(), correctly passing the name of control as argument in each case. Similar action takes place for OnGotFocus and OnLostFocus properties, loading functions Fn_GotFocus()and Fn_LostFocus() respectively, correctly passing the name of control as argument in each case. Mouse move over text boxes, combo boxes and labels leads to following response (controls with transparent back style are kept exempt from this behavior, presuming that the user would like such controls to remain steady): (a) Back color for text or combo box becomes pink while that for label becomes golden. (b) Special effect - The control appears raised. (c) Simultaneously, previously highlighted control, if any, reverts to its original state of back color and special effect. This is done by calling subroutine named P_ClearHighLightPrevControl() in Fn_MMove() as well as MouseMove event of command button named CmdClose. (d) Control having focus is always highlighted in green. It over-rules any highlight that might result from mouse move. For example, if a text box not having focus is currently highlighted in pink because of mouse move and the user sets focus on that text box either by clicking or tabbing, it gets highlighted in green. Note: (a) Particulars of previously highlighted control are stored in form level global variables. Whenever function Fn_MMove() is called, original status of the control in question gets stored in these variables, before proceeding with the task of temporary highlighting. (b) Form's MouseMove event has the limitation that it fires only in the dead area of form window (where form canvas is absent). For this reason, assured restoration of highlighted control to its original status takes place when the next control gets highlighted via MouseMove. (c) If it is desired to restore currently highlighted control to its original status, without having to highlight another one, simply hover the mouse over the button captioned "Close". Version: Access 2K/XP/2K3/2K7 (Access 2000 File Format)
|
|
Sponsored Links | Want a good read? Try The Summer of His Life (available on Amazon!) |
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |