Questions tagged [vcl]

This tag is used for questions regarding the Visual Component Library used in Borland/CodeGear/Embarcadero Delphi and C++Builder products as well as Python GUI apps. Do not confuse this with the Varnish Configuration Language (VCL). Use the "varnish-vcl" tag for questions related to that product.

Visual Component Library is a visual component-based object-oriented framework tightly integrated with Delphi and C++Builder. It's also available for Python as a GUI framework.

VCL components cover visual and non-visual components like:

  • Windows common controls
  • Database access components
  • Internet connection components

The component approach allows programmers to extend easily the VCL.

Resources:

1590 questions
56
votes
4 answers

Linking fails [ilink32 Error] Fatal: Unable to open file 'TYPES.OBJ'

I have been updating code fomr an old legacy project build using C++ Builder 2010 to compile with C++ Builder 10 Seattle. I have mostly had to change paths, a lot of dupIgnore to TDuplicates::dupIgnore, reimport some components like MSXML and MSMQ…
inquam
  • 12,664
  • 15
  • 61
  • 101
53
votes
3 answers

What's the difference between Refresh, Update and Repaint?

I don't know which of those three methods suits me most. They all work for me. Does anyone know the difference between Refresh, Update and Repaint?
Ivan Prodanov
  • 34,634
  • 78
  • 176
  • 248
36
votes
5 answers

wsMaximized forms do not appear maximized

Setting a form to WindowState = wsMaximized will sometimes cause the form to be maximized but not: Long-time bug: this is a question I first asked in the Borland newsgroups in 2003: Accepted fix for WindowState = wsMaximized? and then again in…
Ian Boyd
  • 246,734
  • 253
  • 869
  • 1,219
25
votes
6 answers

Delphi XE2: Possible to instantiate a FireMonkey Form in VCL application?

Prior to Delphi XE2, we have VCL only to create GUI apps. Delphi XE2 states that: Caution: FireMonkey (FMX) and the Visual Component Library (VCL) are not compatible and cannot be used in the same project or application. That is, an…
Chau Chee Yang
  • 18,422
  • 16
  • 68
  • 132
25
votes
8 answers

What is the purpose of the 'Tag' property of Delphi VCL components?

Is there any specific purpose for the 'Tag' property of Delphi VCL components? I have Googled a few examples using it as, for example, a 'color' property or using the value as a pointer address, but is it 'good practice' to use it, or is it…
HMcG
  • 2,062
  • 4
  • 24
  • 36
25
votes
1 answer

Delphi XE2 VCL styles, updating caption blocks other controls invalidation

Found a glitch with VCL styles: when you update the form caption, other controls previously redrawn within the same procedure don't get repainted, and you are forced to call Repaint, losing valuable processing time to redraw. Example: (set project…
hikari
  • 3,393
  • 1
  • 33
  • 72
21
votes
1 answer

How to make hovering over Minimize, Maximize, and Close buttons behave?

In a Delphi application, when you hover over a border icon, e.g.: Minimize Maximize Restore it doesn't behave correctly: Compare to an application that does behave correctly: Step to Reproduce Click File, New, VCL Forms Application -…
Ian Boyd
  • 246,734
  • 253
  • 869
  • 1,219
20
votes
4 answers

Load Jpg/Gif/Bitmap and convert to Bitmap

I have to load an image from an XML file. There is no information in the XML file about whether the image is JPG/GIF/BMP. After loading the image, I need to convert it to Bitmap. Does anyone have any clue how to convert images to Bitmap without…
J K Kunil
  • 551
  • 1
  • 5
  • 13
18
votes
2 answers

How to handle menu scaling after runtime DPI change in Delphi Seattle

When support for runtime DPI switching was added to the forms class, no consideration was given to basic UI elements like menus. Menu drawing is fundamentally broken because it relies on Screen.MenuFont, which is a system wide metric, not specific…
Brandon Staggs
  • 630
  • 5
  • 16
17
votes
1 answer

How To Scroll a TStringGrid dynamically?

I am working in the Borland C++Builder IDE, using VCL controls. I am trying to get a TStringGrid component to scroll down to a row and highlight that row, based on user input in a different form. I have the highlight portion done, but I can't figure…
Ben313
  • 1,662
  • 3
  • 20
  • 32
17
votes
3 answers

TStringGrid - is there a simple way to get the "current/selected" row?

I can go the long way round, loop over each row, get a TRect from CellRect(col, row), then query its State for gdSelected ... But isn't there a quicker way to get the row number of the currently selected row, if any?
Mawg says reinstate Monica
  • 38,334
  • 103
  • 306
  • 551
16
votes
1 answer

Is there any Delphi XE2 styles gallery?

In XE2 there is a new function : 'styles', for VCL(.vsf) and Firemonkey (.styles), and some are provided in C:\Program Files\Embarcadero\RAD Studio\9.0\Redist\styles directory. As it seems to be easy to create a new style, is there any 'styles…
philnext
  • 3,242
  • 5
  • 39
  • 62
16
votes
3 answers

VCL events with anonymous methods - what do you think about this implementation?

Since anonymous methods appeared in Delphi I wanted to use them in VCL components events. Obviously for backward compatibility the VCL wasn't updated, so I managed to make a simple implementation with a few caveats. type TNotifyEventDispatcher =…
pragmatic_programmer
  • 3,566
  • 3
  • 29
  • 36
16
votes
1 answer

How add Delphi XE2 64bit support to a simple Delphi XE2 32bit VCL component?

I need convert a VCL component from 32bit to 64bit (Delphi XE2). Now infact I can install it only if I select "32bit Platform", if I select "64bit Platform" I can compile it but not install (there is not the install menu). How can I add 64bit…
Martin
  • 1,065
  • 1
  • 17
  • 36
16
votes
1 answer

When does a ShortCut fire?

Yesterday I discovered a situation wherein a keyboard ShortCut did not fire when I was expecting it to. The specific situation was: I pressed the ShortCut key combination for an Action of an ActionList on an MDI child, while a side bar on the MDI…
NGLN
  • 43,011
  • 8
  • 105
  • 200
1
2 3
99 100