Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Keypress track CTRL+1
Message
From
22/07/2011 08:57:42
 
 
To
22/07/2011 08:55:33
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Desktop
Miscellaneous
Thread ID:
01518850
Message ID:
01518899
Views:
44
>>Hello,
>>
>>I tried to write a code in the Keypress event of the form which would track when the user presses a number with the CTRL button pressed. I was very surprised that the keypress event does not get triggered when pressing the CTRL and 1 key, up to Ctrl + 9. Only Ctrl+0 does raise the keypress event.
>>
>>Is there a workaround, or something that I overlook?
>
>
>Ctrl+1 through ctrl+9 are not sent to the window
>
>
>Alternatively, using bindevent
>
>
>In the load()
>
>if( !DoDefault() )
>	return .f.
>endif
>#define WM_KEYUP                        0x0101
>
>
>=bindevent(m.this.hwnd, WM_KEYUP, m.this, 'KeyUp', 0)
>declare long GetAsyncKeyState in user32.dll long nkey
>
>
>In the Unload()
>
>=unbindevents(m.this.hwnd)
>
>
>return dodefault()
>
>
>Add a method KeyUp
>
>lparameters hwnd, msg, wparam, lparam
>
>
>#define ASCII_0			0x30
>#define ASCII_1			0x31
>#define ASCII_9			0x39
>
>#define VK_CONTROL		0x11
>
>do case
>case !m.this.KeyPreview
>
>case !between(m.wparam, ASCII_1, ASCII_9)
>
>case !bittest(GetAsyncKeyState(VK_CONTROL), 15)
>
>case !RaiseEvent(m.this, 'KeyPress', m.wparam, 2)
>
>endcase
>
Thanks!
Christian Isberner
Software Consultant
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform