Aza*_*hli 3 delphi user-interface winapi
在Delphi和WinApi函数中使用vcl组件创建gui应用程序有什么区别.
@Azad我认为有两个很大的区别:第一个是VCL的易用性,它使您能够在窗体(窗口)上拖放控件,更改其属性并分配事件,从而在开发过程中提供高效率GUI.
另一个很大的区别是最终应用程序的大小,如果您仅使用WINAPI调用创建应用程序,则最终应用程序将小于使用VCL.
我建议你看看项目KOL(KOL - Key Objects Library是一组使用Delphi开发电源(但很小)32位Windows GUI应用程序但没有VCL(或Free Pascal)的对象.它是免费发布的,有源代码码.).
alt text http://kolmck.net/KOLLogo5.gif
VCL是一个完整的框架,包含Windows API,使开发人员免受血腥细节的影响,使得开发Delphi应用程序变得更加容易.
与Windows版本更改相比,您可以获得更高的生产力和兼容性
War*_* P 7
几乎所有真实的Delphi应用程序都使用VCL,并且还可以对Win32 API进行OCCASIONAL直接调用.无论如何,VCL框架最终会调用Win32调用.所以,你几乎总是使用两者.
提到KOL的那个人正在建议另一个"中间"层,因为直接进行是极度痛苦的.
Microsoft(按历史顺序),MFC和用于C++的ATL,以及用于C#/ VB.net语言的.NET,作为应用程序和原始Win32 API之间的"框架"层,用于其MS Visual Studio产品.
编写比Notepad.exe更复杂的东西直接使用"金属"(Win32 API raw)的人很少见.因此,它更难,学习需要更长时间,并且做所有事情.最后,它并没有明显更快或更好.如果你真的需要小(就像你正在写病毒),也许你可能想要Win32原生.
嗯,当然,VCL需要一个Borland编译器.Win32 API适用于任何语言.使用GUI类库(如VCL)的目的是使创建支持GUI的程序更容易.仅使用Win32这样做是非常有害的.