2010-11-24

如何让你的程序的输入密码的文本框也有大写字母提示

从XP开始,如果Caps Lock打开了,输入密码的文本框会有提示。
但是,你发现没有,你用Visual C++写出来的程序可能并没有这一功能。
事实上,我已经遇到由于大写锁定打开导致输入的密码不是我想要的这个问题了。
于是,我就研究怎么才能在自己的程序中实现这一功能。
过程是挺曲折的,但是方法是挺简单的。
简而言之,在stdafx.h中加入 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 这句话。其次调用 InitCommonControls() 。这样基本就OK了。如果还有问题,请看这里: http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/3ec21aae-f397-47c9-a69e-3eb6a5b5cf6b

在VS2008下,这工作得很好。不过,我有在不同编译环境测试的习惯。很抱歉,在VC6下上述指令是不支持。
网上有人提供了VC6的方法http://www.zhornsoftware.co.uk/a_xp/index.html,可惜,我试了,没有成功。
留待以后慢慢去研究。暂时先用VS2008编译出的程序。

No comments: