ms.pos.x and ms.pos.y can be used to access the x and y coordinates of the mouse. They are relative to the scrn, not window. These can be used if you don't want to use msg passing. ms.pos.z is the wheel. ms.pos_text.x and ms.pos_text.y are the text column and row. See ::/Demo/Games/Maze.HC. See CMsStateGlbls and CMsHardStateGlbls. The hard designation, as in ms_hard, represents hardware layer items before the application of an abstraction layer. //**** ms_hard.pos.x=ms_hard.prescale.x*ms_hard.scale.x*ms_grid.x_speed; ms.presnap.x=ToI64(ms.scale.x*ms_hard.pos.x)+ms.offset.x; if (ms_grid.snap) ms.pos.x=Trunc(ms.presnap.x/ms_grid.x)*ms_grid.x+ms_grid.x_offset; else ms.pos.x=ms.presnap.x; //****