** Tnt Delphi UNICODE Controls Project **
Website: http://tnt.ccci.org/delphi_unicode_controls/
Email: troy.wolbrink@ccci.org
These controls are provided as-is, with no implied warranty. They are freely available for you to use in your own projects. Please let me know if you have found them helpful. Also, please let me know if you find any bugs or other areas of needed improvement.
---Delphi Installation--------------------------
The most simple way to install these components is by opening the appropriate design package in Delphi and clicking on the big "Install" button. For instance, Delphi 5's design package is TntUnicodeVcl_D50.dpk.
For BCB 2006 and newer, open the appropriate design package in the packages\bcbx\ folder using the Delphi personality. After compiling and installing, you should be able to use the components in both the Delphi and BCB personality. Remember to set the library path in menu "Tools->Options" for both the C++ Builder and the Delphi.
---A note on fonts----------------------
The default TFont uses "MS Sans Serif" which doesn't work well with most non-ANSI characters. I'd recommend using a TrueType font such as "Tahoma" if it is installed on the machine. To make TFont use a different font like "Tahoma" add this to the first line in the project:
Graphics.DefFontData.Name := 'Tahoma';
You might have to include "Graphics" in the file's uses clauses. Furthermore, adding this line of code to the project will cause the changed setting to only be applied at runtime, not at design time. To make a designtime change, you'd have to add this line to the initialization section of a unit in a design package.
Regarding the IDE, I use GExperts to change the font of the Object Inspector. The Wide String List editor uses the font used by the object inspector.
Also keep in mind that the font used by certain message boxes come from that set by Windows' Display properties.
---Background----------------------------
Designing software for an international audience, I've always wanted to write a full UNICODE application. My approach so far, has been to write Unicode on the inside, and MBCS on the outside. This has always been frustrating, because (even on Windows NT/2000/XP which provide native Unicode window controls) the WideStrings inside my application and databases were always confined to an ANSI VCL. And, since the VCL was designed to wrap the low-level Windows details, why shouldn't the VCL hide the fact that sometimes native Unicode controls are not possible on the given version of Windows. I believe the VCL should be written with a Unicode interface, even if it must (at times) deal with an ANSI operating system. For example, TEdit should expose Text as a WideString, even if it has to convert the WideString to an AnsiString on the Windows 9X platform.
In the past, the ANSI VCL may have made a little sense, considering that there were many more users of Windows 9X, than Windows NT. There would have been some performance penalty to use WideStrings on the Windows 9X platform. But with the faster computers of today, and with more people using platforms such as Windows 2000 and Windows XP, the ANSI VCL just doesn't make sense anymore. In fact, having to use the the ANSI VCL on Windows NT/2000/XP is slower because of the constant conversion to and from UNICODE inside Windows.
My coding signature is Tnt. I will use this to denote my classes from others.
For more information about me: <http://home.ccci.org/wolbrink/>
Some of my software projects (all written in Delphi).
TntMPD (contact manager for missionaries)
<http://www.tntmpd.com/>
Jesus Film Screen Saver
<http://home.ccci.org/wolbrink/screensaver.htm>
ActiveX SCR control
<http://tnt.ccci.org/download/activex_scr/ActiveXSCR.exe>
---Design Goals----------------------------
I want the controls to work on Windows 95, 98, ME, NT, 2000, XP, etc. I want a single EXE for all platforms. Of course, full UNICODE support is only truly available on NT/2000/XP. In other words, the controls should automatically scale to take advantage of native Unicode support when possible.
I want the controls to inherit from the Delphi VCL. I want to reuse as much code as possible. For the most part this makes sense. The only sticky part is where text messages get passed around. But I believe I've gotten past this through strategic subclassing at various points in the message flow chain. To give a rough comparison of why this is so important, check out the following chart which compares the lines of code in the VCL for a given control (4,397 in all), and the lines of code required in my descendent controls (655 in all). Besides saving lines of code, I get the advantage of automatically inheriting new features as new versions of Delphi come out. One such example is the AlphaBlending feature in the Delphi 6 TForm. Even though I use Delphi 5 now, I won't have to add any code to get this new feature.
---More Interesting Information----------------------------
Case Study: Porting an MFC Application to Unicode: It looks like the FrontPage 2002 team did the roughly the same thing to MFC as what I'm doing to the VCL. They did this with the same goal in mind: to support Unicode as much as possible depending on the support offered by Windows. Another goal was "Don�t abandon MFC; don�t rewrite app". Because they still want to support Windows 9X using the same worldwide EXE used everywhere. They couldn't just compile with the _UNICODE directive. They had to start with the ANSI MFC, strategically subclassing window procedures at just the right places. Hmmm... sounds familiar.
没有合适的资源?快使用搜索试试~ 我知道了~
tnt2.3.rar_TNT CONTROLS_delphi7 tntunicode_delphi中tnt控件_tnt2_tnt
共159个文件
pas:46个
dcu:45个
res:12个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 60 浏览量
2022-09-22
23:53:46
上传
评论
收藏 835KB RAR 举报
温馨提示
delphi tnt 控件,现在很难找到了的,分享给大家
资源推荐
资源详情
资源评论
收起资源包目录
tnt2.3.rar_TNT CONTROLS_delphi7 tntunicode_delphi中tnt控件_tnt2_tnt (159个子文件)
TntUnicodeVcl_Design.bdsproj 10KB
TntUnicodeVcl.bdsproj 10KB
TntUnicodeVcl_R90.bdsproj 10KB
TntUnicodeVcl_D90.bdsproj 10KB
TntUnicode_7.bpg 863B
TntUnicode_6.bpg 863B
TntLibR.bpk 10KB
TntLibD.bpk 9KB
TntUnicodeVcl_Design.cfg 259B
TntUnicodeVcl_D90.cfg 254B
TntUnicodeVcl_D70_DATASNAP.cfg 254B
ExampleUnicode.cfg 254B
TntUnicodeVcl.cfg 211B
TntUnicodeVcl_R90.cfg 206B
TntUnicodeVcl_R70.cfg 206B
TntUnicodeVcl_D70.cfg 206B
TntUnicodeVcl_R60.cfg 206B
TntUnicodeVcl_D60.cfg 206B
TntLibD.cpp 708B
TntLibR.cpp 670B
TntComCtrls.dcr 7KB
TntStdCtrls.dcr 5KB
TntDBCtrls.dcr 4KB
TntExtCtrls.dcr 4KB
TntExtDlgs.dcr 960B
TntDialogs.dcr 936B
TntGrids.dcr 932B
TntButtons.dcr 928B
TntMenus.dcr 928B
TntForms.dcr 920B
TntActnList.dcr 484B
TntComCtrls.dcu 208KB
TntStdCtrls.dcu 142KB
TntDBCtrls.dcu 93KB
TntStdActns.dcu 73KB
TntClasses.dcu 58KB
TntDBGrids.dcu 56KB
TntExtActns.dcu 54KB
ActiveIMM_TLB.dcu 53KB
TntExtCtrls.dcu 50KB
TntSysUtils.dcu 50KB
TntForms.dcu 41KB
TntGrids.dcu 40KB
TntWindows.dcu 37KB
TntControls.dcu 37KB
TntDialogs.dcu 37KB
TntMenus.dcu 35KB
TntDB.dcu 35KB
TntActnList.dcu 33KB
TntButtons.dcu 30KB
TntWideStrings.dcu 25KB
TntSystem.dcu 25KB
TntDBActns.dcu 22KB
TntWideStringProperty_Design.dcu 16KB
TntForms_Design.dcu 16KB
TntExtDlgs.dcu 15KB
TntFormatStrUtils.dcu 14KB
TntStrEdit_Design.dcu 12KB
TntMenus_Design.dcu 12KB
TntComCtrls_Design.dcu 12KB
TntCheckLst.dcu 11KB
TntActions_Design.dcu 10KB
TntUnicodeVcl_D70.dcu 9KB
TntWideStrUtils.dcu 9KB
TntListActns.dcu 9KB
TntAxCtrls.dcu 8KB
TntUnicodeVcl_R70.dcu 8KB
TntDBLogDlg.dcu 7KB
TntUnicodeVcl_Register.dcu 6KB
TntDesignEditors_Design.dcu 6KB
TntGraphics.dcu 6KB
TntRegistry.dcu 6KB
TntBandActn.dcu 4KB
TntFileCtrl.dcu 3KB
TntClipbrd.dcu 3KB
TntDBGrids_Design.dcu 2KB
TntStrEdit_Design.dfm 3KB
MainFrm.dfm 3KB
TntDBLogDlg.dfm 2KB
TntUnicodeVcl_D70_DATASNAP.dof 2KB
TntUnicodeVcl_D70.dof 2KB
TntUnicodeVcl_R60.dof 1KB
TntUnicodeVcl_R70.dof 1KB
TntUnicodeVcl_D60.dof 1KB
ExampleUnicode.dof 1KB
TntUnicodeVcl_R90.dpk 2KB
TntUnicodeVcl_R70.dpk 2KB
TntUnicodeVcl_R60.dpk 2KB
TntUnicodeVcl.dpk 2KB
TntUnicodeVcl_D60.dpk 2KB
TntUnicodeVcl_D70.dpk 2KB
TntUnicodeVcl_Design.dpk 1KB
TntUnicodeVcl_D90.dpk 1KB
TntUnicodeVcl_D70_DATASNAP.dpk 725B
ExampleUnicode.dpr 207B
TntCompilers.inc 9KB
2ccc.com.nfo 731B
2ccc.com.nfo 731B
TntComCtrls.pas 149KB
TntStdCtrls.pas 99KB
共 159 条
- 1
- 2
资源评论
- jason-zhong2024-03-30支持这个资源,内容详细,主要是能解决当下的问题,感谢大佬分享~
- lijian1232312023-05-13资源很实用,对我启发很大,有很好的参考价值,内容详细。
- iamonst2024-03-29感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
Kinonoyomeo
- 粉丝: 74
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功