- NSIS Discussion
- How to keyboard accelerate across fields on a custom screen with ALT?
Archive: How to keyboard accelerate across fields on a custom screen with ALT?
vbgunz
28th June 2003 22:25 UTC
How to keyboard accelerate across fields on a custom screen with ALT?
In designing an INI its pretty easy and straightforward to add keyboard acceleration to labels. But how to add them to the actual fields?
I am sort of stumped in trying to make the "&Field One" field catch focus when a user presses Alt+F. I have about 9 fields and all labels are marked but the fields are not and present a problem in trying to accelerate.
Can someone help me with an idea? Thanks in advance :)
kichik
29th June 2003 11:17 UTC
If the label is Field 5 then the text field should be Field 6. They should probably be in a group too, but I honestly don't know enough about this and don't have the time to check right now. I am sure MSDN will have more to say about this.
vbgunz
30th June 2003 14:09 UTC
Ok, so in order to get keyboard acceleration going I must look into the INI and not into the NSIS script, correct?
Thank you Kichik for all of your help on these boards.
kichik
4th July 2003 12:48 UTC
Yes, it's all in the INI file. Most of InstallOptions options are in the INI file. All but setting colors and anything that requires NSIS code is there.
Thank you Kichik for all of your help on these boards.
No problem.
vbgunz
5th July 2003 12:31 UTC
I've given rest on this subject for a minute but tried feverishly again to get it to work... I guess you all know whats coming...
I tried Grouping like this "Flags=GROUP ONE". I applied this to the text field which has the "&Key" and selected the matching field. This doesn't work...
I tried applying the "&Key" into the fields text field. This also doesn't work...
If anyone knows how to keyboard accelerate across fields and could be cool enough to tell me I would definitely appreciate it. I am not that sharp and I tried a few more things but I am getting it wrong.
Thank you in advance :)
kichik
5th July 2003 12:41 UTC
The GROUP flag doesn't work this way. Every field that has the GROUP flag will have the following fields in his group until the next field with a GROUP. It seems as just putting the text field right after the label field is enough.
vbgunz
5th July 2003 13:40 UTC
Thank you Kichik,
Are the INI files documented? I went into all the INI files that come bundled with NSIS and none have the acceleration but some were using flags HM NIS EDIT doesn't provide.
Is their any place where I can learn more about group and other flags?
Thank you Kichik :)
kichik
5th July 2003 13:47 UTC
The possible INI values are documented in the InstallOptions readme. You can find it in Contrib\InstallOptions\Readme.html.
vbgunz
5th July 2003 14:26 UTC
Thank you Kichik,
It is not documented and I scanned it twice to make sure :( It is probably a hidden or unimplemented or undocumented feature... I can mark labels with the "&" but cannot do so to fields... I do not know what left to do about it except knock it way down on the priority list.
If anyone knows of a workaround to help in keyboard acceleration across fields I am all ears. Thank you for your help Kichik, indeed valuable on the forums :)
Thanks in advance for any more feedback
kichik
5th July 2003 15:29 UTC
GROUP is documented, it's under Flags. As for the keyboard acceleration, I said in my first reply that I don't know enough about it, so it's not documented.
Attached is an example INI file to what I have said in my first reply. It works for me. Notice fields 7 and 8. It doesn't work if you reverse the order.
vbgunz
5th July 2003 16:53 UTC
Thank you Kichik,
This has certainly saved my day! Thank you so much for this priceless information as now I have accelerated all screens. Perhaps add this bit to the next install options readme.
Thank you so much again Kichik :)
kichik
12th July 2003 15:47 UTC
According to what I have read so far, there is nothing more to it. Just group them and the tab should work as long as the label doesn't have WS_TABSTOP. But don't worry, InstallOptions handles the WS_TABSTOP part.