BCB下通过Unicode方式访问WIN32控件

本文介绍了在BCB环境下,如何在不使用第三方控件包Tnt的情况下,实现Unicode控件的读写。通过添加xpstyle.manifest资源文件升级Win32控件到6.0版,支持Unicode粘贴。同时,利用CallWindowProc绕过VCL的消息处理,直接调用Window默认消息处理函数DefWndProc,实现对TEdit等控件的Unicode文本读取和设置。此外,还提供了ListView的Unicode读写处理函数作为示例。

一直以来大家在BCB中使用Unicode控件都是用的Tnt那套控件包, 由于个人习惯在工程中一般不喜欢使用第3方控件! 最近由于工作需要, 工程中一些输入的地方需要输入其它语言的字符, 所以琢磨着不使用第3方控件的情况下对控件进行Unicode读写!! ( PS: 传说中的CODEGEAR2008让人望眼欲穿啊~~~ )

    默认情况下VCL下的Win32控件(包括TCustomEdit系列, TComboBox, TListView等)是不支持Unicode的, 偶然的机会发现我之前的工程的中的TEdit之类的控件是可以正常粘贴韩文的, 但同事说他那的不行, 于是自己新建一工程试之, 结果也不行...想了很久, 换了好多东西, 最后终于定位到原来是因为我一般的工程中都用着xpstyle.manifest这个xml文档.

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ASSEMBLY xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<ASSEMBLYIDENTITY name="CompanyName.ProductName.YourApp" type="win32" processorArchitecture="X86" version="1.0.0.0" /> 

<DESCRIPTION>Your application description here.</DESCRIPTION> 

<DEPENDENCY> 

<DEPENDENTASSEMBLY> 

<ASSEMBLYIDENTITY language=* name="Microsoft.Windows.Common-Controls" type="win32" processorArchitecture="X86" version="6.0.0.0" publicKeyToken="6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值