VB6 Changing colors for every control on a form

formsvb6

I am trying to change the colour theme of an old VB6 application (make it look a bit more modern!).

Can someone tell me how I could change the backcolor of every control on a form without doing it for each and every control (label, button, frame etc!).

I have about 50 forms, all containing such controls and doing this manually for each form in code would take an age!

I am also open to better suggestions and ideas on how I can skin / theme a VB6 application?

Thanks in advance

Best Answer

The .frm files are simply standard ANSI text files. A background color property of a control would look like this:-

BackColor       =   &H80000005&

(Note the above is a system color but you can specify the RGB color using by using the lower 3 bytes and leaving the high byte 0).

A control such a Label would look like this:-

Begin VB.Label Label1 
  Caption         =   "Hello:"
  Height          =   285
  Left            =   90
  TabIndex        =   3
  Top             =   480
  Width           =   1305
End

So that task could be done lexically by parsing the .frm files and inserting (or replacing) the BackColor attribute line.

Edit:

Useful link posted in comments by MarkJ : Form Description Properties

Related Topic