我需要在Inno Setup的TInputQueryWizardPage
编辑框中只允许输入字母数字字符。我怎样才能做到这一点 ?如何在TInputQueryWizardPage编辑框中只允许输入字母数字字符?
2
A
回答
3
为了识别字母数字字符我会用IsCharAlphaNumeric
Windows API函数,并在指定的输入编辑的OnKeyPress
事件中,我会吃的关键,如果它不会是字母数字:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
[Code]
#ifdef UNICODE
#define AW "W"
#else
#define AW "A"
#endif
function IsCharAlphaNumeric(ch: Char): BOOL;
external 'IsCharAlphaNumeric{#AW}@user32.dll stdcall';
procedure InputQueryEditKeyPress(Sender: TObject; var Key: Char);
begin
// if the currently pressed key is not alphanumeric, eat it by
// assigning #0 value
if not IsCharAlphaNumeric(Key) then
Key := #0;
end;
procedure InitializeWizard;
var
EditIndex: Integer;
InputPage: TInputQueryWizardPage;
begin
// create input query page and add one edit item
InputPage := CreateInputQueryPage(wpWelcome, 'Caption', 'Description',
'SubCaption');
EditIndex := InputPage.Add('Name:', False);
// assign the OnKeyPress event method to our custom one
InputPage.Edits[EditIndex].OnKeyPress := @InputQueryEditKeyPress;
end;
+0
感谢TLama,代码工作正常。 – user1752602
+0
不客气! – TLama
相关问题
- 1. 只允许输入字母
- 2. 如何只允许输入字母?
- 3. 只允许字母数字字符
- 4. 如何在Outlook VBA输入框中只允许输入数字
- 5. 输入允许数字和只有一个字母/符号
- 6. 只允许在asp.net中的文本框中输入字母字符
- 7. 只允许数字输入
- 8. UITextField只允许英文字母输入
- 9. jquery/JS只允许在文本框中输入数字和字母
- 10. 只允许在UITextView中的字母数字字符
- 11. 只允许字母,数字,变音符号,+, - ,并在字符串
- 12. 只允许编辑gridviewcell中的数字
- 13. 只允许字母和特殊字符
- 14. 只允许数字字符
- 15. 用户输入验证只有数字和字母允许
- 16. 只有数字,不允许使用字母 - 用户输入
- 17. VB:只允许输入数字(不是字母)进入文本框
- 18. 输入文本框字段只允许字符不允许数字,但允许空间?
- 19. QTreeWidgetItem可编辑只允许输入数字
- 20. 如何过滤字符串,以便只允许字母数字字符通过
- 21. 只允许字母数字值
- 22. 只允许在文本框中输入数字和特殊字符( - )
- 23. Python输入允许整数和一个字母字符
- 24. 如何使用正则表达式在asp.net中只输入数字不允许的字母或特殊字符?
- 25. 允许只有字母数字在文本框使用jQuery
- 26. Zend_Validate_Regex - 只允许字母,数字和字符-_
- 27. jQuery只允许数字,字母和连字符
- 28. 正则表达式属性,只允许字母数字字符
- 29. 只允许字母,数字,下划线或连字符django
- 30. 只允许7个字母数字字符,但无限空间
你到底要什么?防止输入一些字符集,或者在用户退出输入编辑框时对整个单词进行输入验证? – TLama
防止输入特殊字符和空格(只允许字母数字字符) – user1752602