25分贝相当于什么声音| 元神是什么意思| 腿经常抽筋是什么原因| 红小豆和赤小豆有什么区别| 怀孕前三个月为什么不能告诉别人| 灼热是什么意思| 郎才女貌是什么意思| 湿气重可以吃什么水果| 桂附地黄丸治什么病| 拔牙挂什么科| 桦树茸什么功效| 8月28号是什么日子| bayer是什么药| 早上8点到9点是什么时辰| 结膜炎什么症状| 水是什么生肖| 驻外大使是什么级别| bbc是什么意思| 满日是什么意思| 什么药溶血栓最好| 穿刺检查是什么意思| 什么颜色的衣服最防晒| 60大寿送什么礼物| 痰多吃什么好化痰| pppd是什么意思| 戴笠什么军衔| 舌苔黄腻吃什么药| 查输卵管是否堵塞要做什么检查| 尼泊尔属于什么国家| 营业员是什么| 侵犯是什么意思| 柏拉图之恋是什么意思| 什么是自由度| 锦衣夜行什么意思| 营养过剩会导致什么| 急性胃肠炎用什么药| 小麦什么时候收割| 在眼皮老跳是什么征兆| 拉肚子应该吃什么| 肛门胀痛什么原因| 乙肝核心抗体偏高是什么意思| 相思什么意思| 千与千寻是什么意思| 头出汗是什么原因| 孕妇不吃饭对胎儿有什么影响| 榴莲壳有什么用| 突然停经是什么原因| 女人什么时候性欲最强| 热锅凉油是什么意思| 脂肪肝挂什么科室| 农历10月19日是什么星座| 支原体弱阳性是什么意思| 向日葵代表什么意思| 抗巨细胞病毒抗体igg高是什么意思| 什么叫结节| 虾和什么食物相克| 八仙过海是什么意思| 吃苹果有什么好处和功效| 美人是什么生肖| hpv阳性有什么症状| 龙骨是什么骨头| 梦见小白蛇是什么预兆| 寻常疣是什么样子图片| 门特是什么意思| 女人性冷淡吃什么药效果好| 哥伦比亚牌子什么档次| 口干口苦口臭是什么原因引起的| 有待提高是什么意思| 挑担是什么意思| 杜仲有什么作用| 总是睡不着觉是什么原因| mid什么意思| 回乡偶书的偶书是什么意思| 体重什么时候称最准确| 黑松露什么味道| 71属什么生肖| 稷是什么作物| 国家三有保护动物是什么意思| 为什么清真不吃猪肉| 押韵是什么意思| 刺身是什么鱼| 什么时候测血压最准确| 太阳穴痛什么原因| 利普刀是什么手术| 眼袋大是什么原因引起的| 右下腹有什么器官| 酸菜鱼是什么地方的菜| 长一根白眉毛预示什么| 苏州立夏吃什么| 牙髓炎是什么| 什么是一桌餐| 什么止痛药最快止痛| 敌敌畏中毒用什么洗胃| 日语亚麻得是什么意思| 什么成什么就| 格桑花什么时候开花| 淋巴细胞绝对值偏低说明什么| 刷题是什么意思| 一岁宝宝发烧吃什么药| 血小板压积偏高是什么意思| 老年人总睡觉是什么原因| 鹅肉炖什么好吃又营养| 布病是什么病| 黑长直是什么意思| 竹笋炒什么好吃| 此刻朋友这杯酒最珍贵是什么歌| 什么颜色的衣服显白| 刚愎自负是什么意思| 什么是结缔组织病| 如如不动是什么意思| 网球肘用什么药| 嬴稷和嬴政什么关系| 脚痒用什么药好| 南京市市长什么级别| 男人肝火旺吃什么药| 尿蛋白定量是什么意思| 什么鞋穿着舒服| 癔病是一种什么病| 怀孕二十天有什么反应| 湿疹用什么药膏| 石英表不走了是什么原因| 什么耳什么腮| 疝气长在什么位置图片| 上梁不正下梁歪是什么意思| 劫富济贫是什么意思| 一穷二白什么意思| 什么是过敏性紫癜| dpm是什么意思| 小孩为什么经常流鼻血| 私生饭是什么意思| 枸杞和什么搭配壮阳| 因公殉职是什么意思| 行李为什么叫行李| 小腹胀痛男性什么原因| 阔以是什么意思| 纤维蛋白原偏低吃什么| 单核细胞百分比偏高什么原因| 女朋友过生日送什么最好| 子宫有积液是什么原因引起的| 朋友越来越少暗示什么| 全价猫粮是什么意思| 骨刺吃什么药| 摩羯座的幸运花是什么| 阴是什么生肖| 风调雨顺的下联是什么| 什么的态度| 红褐色是什么颜色| 瘟疫是什么病| em什么意思| 肾积水吃什么药| 恐龙是什么时候灭绝| 统战部是干什么的| 黑猫警长为什么只有5集| 小产可以吃什么水果| 小儿磨牙是什么原因引起的| 看甲状腺挂什么科| 肚脐眼连接体内的什么器官| 风湿性关节炎用什么药| dr股票是什么意思| 地下恋是什么意思| 小孩腿疼膝盖疼可能是什么原因| 荨麻疹吃什么药最有效| 脾大是怎么回事有什么危害| 高铁二等座是什么意思| r医学是什么意思| 阳虚吃什么药| 胆固醇为什么会高| 化生子是什么意思| 扑热息痛又叫什么| 什么原因引起静脉曲张| 咽喉疼痛吃什么药好| 联系是什么意思| 伤官是什么意思| 一般细菌培养及鉴定是检查什么| 胰腺上长瘤意味着什么| 夜间盗汗是什么原因| sy是什么意思| 得了梅毒会有什么症状| 小孩感冒发烧吃什么药| 为什么会有耳石症| 儿童咳嗽吃什么药| 福字挂在家里什么位置最合适| fmp是什么意思| 玉是什么结构的字| 11月15日什么星座| dbm是什么单位| 毕业证有什么用| 脖子落枕挂什么科| 核磁共振检查什么| 什么是白内障| 什么是假性自闭症| 板命什么意思| 曼波是什么意思| 肋间神经痛吃什么药| 查尿常规挂什么科| 拉肚子出血是什么原因| 棕色是什么颜色| 猪五行属什么| 大腿根部内侧瘙痒用什么药膏| 食人鱼长什么样子| 大男子主义什么意思| 新疆古代叫什么| 舌苔厚白用什么泡水喝| 贫血要做什么检查| 哺乳期能吃什么水果| 高血压可以吃什么水果| 拉肚子喝什么粥| 庚寅五行属什么| ost什么意思| 中耳炎吃什么消炎药| 左卵巢囊性结构是什么意思| 早搏吃什么药最好| 什么的城堡| 意难平什么意思| 3.22什么星座| 十六年是什么婚| 什么是格局| 牡蛎是什么东西| 今年17岁属什么| 吃大枣有什么好处| 交际花是什么意思| 鸡翅木是什么木| 错付是什么意思| 陈皮是什么做的| 情投意合是什么意思| 酒蒙子是什么意思| 因公殉职是什么意思| 感冒打喷嚏吃什么药| 皮肤黑的人适合穿什么颜色的衣服| 脚底板发黄是什么原因| 喝罗汉果水有什么功效| 新生儿拉肚子是什么原因引起的| 梅毒有什么症状| 荷花什么季节开放| 痛风能喝什么饮料| 为什么叫| 明信片是什么| 眼底出血用什么药最好| 氧分压低是什么原因| 欲望什么意思| 蛇鼠一窝指什么生肖| 2029年属什么生肖| 麦字五行属什么| 痤疮是什么东西| 频繁小便是什么原因| 12月27日是什么星座| 固液法白酒是什么意思| 93年是什么年| 血小板比积偏高是什么意思| 收是什么生肖| 硬不起来吃什么药| 脾虚是什么意思| 在什么| 什么病必须戒酒| 非萎缩性胃炎是什么意思| 什么品牌的卫浴好| 嘴角上方有痣代表什么| 扭转乾坤是什么意思| 710是什么意思| 女人喝黄酒有什么好处| 蜗牛的天敌是什么| 矢车菊在中国叫什么名| 佬是什么意思| 脚底板疼痛是什么原因| 百度

头发老是出油是什么原因

百度 逍客的座椅舒适程度极佳,软性的填充物也能提供足够的支撑感,只是全系均为手动调节。

The Visual Component Library (VCL) is a visual component-based object-oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal.

Visual Component Library (VCL)
Original author(s)Borland
Developer(s)Embarcadero Technologies
Initial release1995; 30?years ago?(1995)
Operating systemCross-platform (Microsoft Windows, macOS, iOS, Android)
TypeGUI
LicenseCommercial
Websitewww.embarcadero.com/kr/products/rad-studio
docwiki.embarcadero.com/RADStudio/XE6/en/VCL_Overview

History

edit

The VCL was developed by Borland for use in, and is tightly integrated with, its Delphi and C++Builder RAD tools.

In 1995 Borland released Delphi, its first release of an Object Pascal IDE and language. Up until that point, Borland's Turbo Pascal for DOS and Windows was largely a procedural language, with minimal object-oriented features, and building UI frameworks with the language required using frameworks like Turbo Vision and Object Windows Library. OWL, a similar framework to MFC, required writing code to create UI objects.

A key aim of the VCL combined with the Delphi language was to change the requirements of building a user interface. (For context, the Delphi variant of Pascal had a number of innovative object-oriented features, such as properties and runtime type information, inspired by Modula and Smalltalk.) At the time, much UI code work required creating classes inheriting from other classes, and customized objects were often not reusable (for example, a button that performs a specific action cannot be reused in a different application.)[1] UI code was also complicated, forcing the programmer to understand and use the Windows API, manage GDI resources, etc.[2] Finally, a visual user interface arguably should be designed visually, and yet most tools to do so - at the time, mainly Visual Basic - did so in terms of the designer outputting code, creating a fragile, un-manually-editable situation - a problem that still persists today with many UI frameworks, particularly C++-based ones such as Qt.[3]

The combination of the Delphi language and the VCL framework written in that language addressed these by:

  • A streaming framework, allowing an object and subobjects to be streamed to text or binary format - TComponent, the root class of the VCL framework
  • A form designer that saved to a stream, saving the description of the objects not the code required to create them, with objects capable of self-creation when streaming the description back in
  • Language features that allowed instances of a class to be customised without subclassing, in two ways: first, through the use of properties, allowing instances of an object to have its own fields (such as a caption) easily changed through streaming; second, by allowing events - method pointers called at specific places in code - to be handled by another object; that is, the method pointers were attached to an object instance.[4] In other words, this creates "custom behaviours through delegation instead of inheritance".[5]
  • Controls that wrapped native Windows controls, in framework that managed resources[6]

The combination of these resulted in a visual designer that streamed a description; a form (window) that constructed itself from that description, including creating all the other components on that form; and code being written in one place (methods on the form) that could be called by UI elements in response to certain actions, such as a button being clicked calling an OnClick event handler implemented in the form code. At the time this was revolutionary, while today it is an approach used by several other frameworks, such as WinForms and Cocoa.

This also allowed new components - new visual or non-visual classes - to be written easily. The VCL is Windows-based and its implementations of common controls are wrappers of the Windows API, thus is close to the ground and fully native. New controls can be implemented from scratch or can use existing Windows controls.

With the release of C++ Builder, the Delphi compiler could emit C++ header files for compiled Delphi-language units, and so the flexibility of the streaming, visually designed UI framework became available for C++. VCL components can in fact be written in C++, but ultimately inherit from Delphi ancestors, since the C++Builder compiler and linker can consume object and header files produced by Delphi. This was one of the first examples of cross-language compatibility, something unseen until .Net.

Today the VCL includes several hundred visual and non-visual components, usable in both the Delphi and C++ languages.

Technology

edit

VCL forms a class hierarchy with a common ancestor, the TComponent class (which inherits from TObject, the root class in Delphi Object Pascal). This is a common approach shared by the Java programming language, Smalltalk, C# and many other object-oriented programming languages.

VCL components cover Windows controls like windows (TForm class), controls (e.g., TButton, TCheckBox, TLabel classes) as well as database access (e.g., ADO or IBX components) or Internet connections (Indy components). The component approach allows programmers to extend the VCL with many visual and non-visual additional components. There is a large number of free and commercial component packages. Among them are JEDI, TMS, Developer Express, Mitov Software, Raize Software, TurboPower, IOComp, SDL, DA-SOFT Technologies and many others.

While not all VCL components are thread-safe, VCL supports multi-threading too. One example is the built in multi-threading support of the OpenWire VCL library.

VCL provides native support for PME (properties, methods and events) model at the .NET level.[citation needed]

Much of the .NET design, especially WinForms, is modeled after the VCL. One of the main architects of the first Delphi versions, Anders Hejlsberg, was hired by Microsoft and became one of the main architects of .NET. This became the subject of a lawsuit: at the time (1996), "Borland alleged that Microsoft had hired 34 Borland employees over the past 30 months in order to steal Borland trade secrets. Borland also claimed that Microsoft offered and delivered expensive lures to Borland workers. In two cases, incentives topping $1 million were involved."[7] According to Zarko Gajic, the bonus was three million dollars in Anders' case.[7] Many Delphi developers find C# quite familiar, due to the design similarities.[8]

edit

A cross-platform equivalent of the VCL, called CLX (Component Library for Cross Platform), was later developed for use in Delphi, C++Builder and Kylix in 2000–2001. However, it was abandoned.

A second cross-platform framework, FireMonkey, was integrated into Delphi and C++Builder XE2 in 2011. FireMonkey is a vector-based WPF-like framework for UIs on Windows, OSX, iOS and Android.

The Lazarus project has a portable (*nix, OS/X, Win32/64+wince) equivalent called LCL, which was already working when Kylix and CLX emerged. The project maintained its course and ignored Kylix (and later FMX).

OpenOffice.org and thus LibreOffice contain an unrelated graphic library called Visual Class Library (VCL).[9][10]

See also

edit

References

edit
  1. ^ Delphi Component Design, Danny Thorpe, p9
  2. ^ Delphi Component Design, Danny Thorpe, p11
  3. ^ "Using a Designer UI File in Your Application | Qt 4.8".
  4. ^ "VCL Overview - RAD Studio".
  5. ^ Delphi Component Design, Danny Thorpe, p12
  6. ^ "Understanding the Component Library - RAD Studio".
  7. ^ a b Gajic, Zarko. "Microsoft's .Net IS Borland's Product (2/3)". Delphi Programming - Back to the future. Archived from the original on September 18, 2005.
  8. ^ Stephens, Glenn. "C# for Delphi Developers" (PDF). Archived from the original (PDF) on 2025-08-07. Retrieved 2025-08-07.
  9. ^ "Visual Class Library (VCL) Module". OpenOffice. Archived from the original on May 20, 2013.
  10. ^ "Visual Class Library (VCL)". LibreOffice. Archived from the original on March 27, 2025.
侧颜杀是什么意思 锦鲤是什么意思 不均质脂肪肝是什么意思 大便拉不出来是什么原因 电灯泡什么意思
arb是什么意思 桃子什么季节成熟 喉咙有异物感看什么科 作祟是什么意思 血小板体积偏低是什么原因
附件炎用什么药最好 梦到孩子丢了是什么征兆 必承其重上一句是什么 吃什么补肺 头疼 挂什么科
余数是什么 女性的排卵期是什么时候 细菌性肠炎是什么原因引起的 两小无猜是什么生肖 头眩晕是什么原因引起的
醪糟发酸是什么原因hcv9jop6ns9r.cn 乳酸脱氢酶高是什么原因hcv8jop8ns3r.cn 松针泡水喝有什么功效wuhaiwuya.com 希腊用什么货币hcv7jop9ns7r.cn 统筹支付是什么意思hcv8jop1ns1r.cn
情窦初开是什么意思hcv8jop3ns4r.cn 心胸狭窄是什么意思sanhestory.com 蜜蜡属于什么五行属性hcv8jop2ns3r.cn 尿蛋白弱阳性什么意思hcv8jop0ns9r.cn 起眼屎是什么原因hcv8jop9ns7r.cn
生酮饮食是什么hcv8jop6ns2r.cn 加湿器什么季节用最好hcv9jop6ns6r.cn 吃什么能养肝护肝hcv9jop6ns7r.cn 8月29号是什么日子hcv8jop0ns2r.cn 耳朵老是痒是什么原因hcv8jop5ns6r.cn
半夜醒来口干舌燥是什么原因hcv8jop4ns5r.cn 扁桃体结石是什么原因引起的hcv9jop6ns7r.cn 高血压一级是什么意思hkuteam.com 老子是什么朝代的人hebeidezhi.com 鸡骨草有什么功效hcv8jop0ns9r.cn
百度