Page 2 of 2
Re: Window menu Alt+hotkey
Posted: Thu Nov 11, 2010 4:20 am
by debashisde
skywalk wrote:I have never gotten a button(command button in VB6) to fire with the "&" something keystroke in any Windows version.
Only [Enter] or [Spacebar] when it has the focus.
In VB6, if you specify caption of a button with "&" like here I did as "&Add".
VB6 will show it as "
Add" and will activate the button on pressing Alt-A.
You do not have to do anything special for that (like AddKeyBoardShortCut etc).
It will be done automatically. Ask any VB programmer and he will tell you.
Re: Window menu Alt+hotkey
Posted: Thu Nov 11, 2010 1:44 pm
by Shardik
debashisde wrote:In Windows, when I run the program using "F5" it shows "Add", but when I start it by clicking the "Compile/Run" tool button the underline character is not shown, the label becomes plain "Add".
Testing with PB 4.51 in Windows XP SP3 the underline character is always displayed
(independently how I start debashisde's last example code), if hiding the alt key is
disabled and never displayed if hiding the alt key is enabled like I described in my
previous posting:
Shardik wrote:If somebody wants the underlined character in Windows to be displayed permanantly
(if XP Skins is enabled) he has to uncheck the option
Hide underlined letters for keyboard navigation until I press the Alt key
in Display Properties --> Appearance --> Effects.
Testing with PB 4.51 in Windows 7 x86 I obtained the same results. In Windows 7
you have to enable the option in "Control Panel"/"Ease of Access Center"/"Make the
Keyboard easier to use" in order to see the underlined character A.
Re: Window menu Alt+hotkey
Posted: Thu Nov 11, 2010 4:46 pm
by Shardik
I have expanded debashisde's last code example to correctly display the
underlined character A on a button in Windows and Linux (in Linux I had
to use two API calls):
Code: Select all
#window_0 = 0
#button_0 = 1
#app_name = "Test"
OpenWindow(#window_0, #PB_Ignore, #PB_Ignore, 300, 200, #app_name, #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
ButtonGadget(#button_0, 100, 100, 100, 30, "")
gtk_button_set_label_(GadgetID(#button_0), "_Add")
gtk_button_set_use_underline_(GadgetID(#button_0), #True)
CompilerCase #PB_OS_Windows
ButtonGadget(#button_0, 100, 100, 100, 30, "&Add")
CompilerEndSelect
AddKeyboardShortcut(#window_0, #PB_Shortcut_Alt | #PB_Shortcut_A, #button_0)
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_Gadget, #PB_Event_Menu
Select (EventGadget())
Case #button_0
MessageRequester(#app_name, "button clicked")
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow
Re: Window menu Alt+hotkey
Posted: Thu Nov 11, 2010 5:39 pm
by RASHAD
For Windows
Code: Select all
#window_0 = 0
#button_0 = 1
#app_name = "Test"
;#SPI_SETKEYBOARDCUES = $100B
Global Pv.l
SystemParametersInfo_(#SPI_GETKEYBOARDCUES, 0, @Pv, 0)
SystemParametersInfo_(#SPI_SETKEYBOARDCUES, 0, 1, 0)
OpenWindow(#window_0, #PB_Ignore, #PB_Ignore, 300, 200, #app_name, #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(#button_0, 100, 100, 100, 30, "&Add")
AddKeyboardShortcut(#window_0, #PB_Shortcut_Alt | #PB_Shortcut_A, #button_0)
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_Gadget, #PB_Event_Menu
Select (EventGadget())
Case #button_0
MessageRequester(#app_name, "button clicked")
EndSelect
Case #PB_Event_CloseWindow
If Pv = 0
SystemParametersInfo_(#SPI_SETKEYBOARDCUES, 0, 0, 0)
EndIf
Quit = 1
EndSelect
Until Quit = 1
Re: Window menu Alt+hotkey
Posted: Thu Nov 11, 2010 6:08 pm
by skywalk
debashisde wrote:
In VB6, if you specify caption of a button with "&" like here I did as "&Add".
VB6 will show it as "Add" and will activate the button on pressing Alt-A.
You do not have to do anything special for that (like AddKeyBoardShortCut etc).
It will be done automatically. Ask any VB programmer and he will tell you.
Whoa! You are correct.
I don't know when that was implemented, but thanks.
I've been using VB since 1.0.

What forum am I on now?

Re: Window menu Alt+hotkey
Posted: Fri Nov 12, 2010 4:21 am
by debashisde
Shardik wrote:Testing with PB 4.51 in Windows 7 x86 I obtained the same results. In Windows 7
you have to enable the option in "Control Panel"/"Ease of Access Center"/"Make the
Keyboard easier to use" in order to see the underlined character A.
Ok, thanks for the info. I am sorry, probably I overlooked this one.
The machine on which I tested was a Windows 7 system.
I will try it again by changing the setting as you said when I get to the machine.
Thanks again.
Re: Window menu Alt+hotkey
Posted: Fri Nov 12, 2010 4:28 am
by debashisde
Shardik wrote:I have expanded debashisde's last code example to correctly display the
underlined character A on a button in Windows and Linux (in Linux I had
to use two API calls):
Code: Select all
#window_0 = 0
#button_0 = 1
#app_name = "Test"
OpenWindow(#window_0, #PB_Ignore, #PB_Ignore, 300, 200, #app_name, #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
ButtonGadget(#button_0, 100, 100, 100, 30, "")
gtk_button_set_label_(GadgetID(#button_0), "_Add")
gtk_button_set_use_underline_(GadgetID(#button_0), #True)
CompilerCase #PB_OS_Windows
ButtonGadget(#button_0, 100, 100, 100, 30, "&Add")
CompilerEndSelect
AddKeyboardShortcut(#window_0, #PB_Shortcut_Alt | #PB_Shortcut_A, #button_0)
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_Gadget, #PB_Event_Menu
Select (EventGadget())
Case #button_0
MessageRequester(#app_name, "button clicked")
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow
Thanks for the code, but I can not check it as I am using a demo version and it says:
******************************************
PureBasic 4.51 (Linux - x86) Demo
******************************************
Loading external modules...
Starting compilation...
Error: Line 10 - gtk_button_set_label_() is not a function (or not available in demo version), macro, array or linked list.
Anyway, now, I know that there is a way to achieve it. Thanks.
Re: Window menu Alt+hotkey
Posted: Mon Nov 15, 2010 8:11 am
by debashisde
debashisde wrote:Shardik wrote:Testing with PB 4.51 in Windows 7 x86 I obtained the same results. In Windows 7
you have to enable the option in "Control Panel"/"Ease of Access Center"/"Make the
Keyboard easier to use" in order to see the underlined character A.
Ok, thanks for the info. I am sorry, probably I overlooked this one.
The machine on which I tested was a Windows 7 system.
I will try it again by changing the setting as you said when I get to the machine.
Thanks again.
I confirm that changing the settings as said by Shardik works perfectly.
Thanks everyone for your help.