home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Tool Box
/
SIMS_2.iso
/
vb_code1
/
n_calc
/
ncalc.txt
< prev
next >
Wrap
Text File
|
1992-03-26
|
2KB
|
46 lines
NCALC - Demonstrate Keyboard and Control handling
NCALC is a simple modification to the calc that comes as a demo with
Visual Basic. The only enhancements I have made is to allow keyboard entry
and to have the keys depress on each keystroke as if pressed with a mouse.
The technique for keyboard handling involves routing each control to a
common keyboard handler by setting the KeyDown and KeyUp events
for each control to pass through ProcessKeyDown and ProcessKeyUp.
In the common KeyDown handler (ProcessKeyDown) there is a SetFocus command
that is followed by a library call to getFocus().
Getfocus returns the handle to the control that currently has the focus.
The handle is then passed to the sendMessage() library call to set
the state of the button to down. This is reversed in the common KeyUp
handler (ProcessKeyUp).
Note that in ProcessKeyUp the focus is set to the equals key. This is to allow
enter to work the same as equals. Apparently you cannot intercept the
enter key with a keydown event, instead it acts on the control with the focus
as if you had clicked on it. If anyone has a 'simple' way to deal with this,
Let me know. (I have a complex way already!).
Look in the global module for definitions of the library routines.
This program was written in as straight forward a manner as possible. Many
improvements and additions are possible. Have fun!
This program is copyright by Microsoft and being distributed in accordance
with the release granted in the (common) (declarations),
any extensions made by myself, Marcus Smaby, are released to the
public domain. 3/25/92
As an experienced windows and unix programmer, I am available on a work-for-hire basis
for any project that can be performed over CIS, modem and Fax. I have experience
and have taught; SmallTalk V/Win, Turbo Pascal for Windows, C++ for Windows,
Superbase 4, Progress (Unix) and Visual Basic. If you would like to
talk to me regarding custom programming contact me at my CIS ID.
Marcus Smaby
(72571,3126)