Hi everyone, I have been in extenssive chat with......well, with Windows 11's own helper, Copilot! This app saved me tons of hours of search on Google. My code is not yet finalized but I do intend to post the entirety of my findings and code on GitHub once I will have finished theming all of the basic VB6 controls (I have 1 VB6 app on GitHub right now which you can see here). Right now, I have most controls taken care of. Here's the screenshot of my progress so far.

Name:  WinElevenIfy.png
Views: 3365
Size:  13.5 KB

As you can see, it looks VERY promissing. Issues I am running into and working on before releasing the source code:

  • Checkboxes and Option Buttons have been taken care of because, well, VB6 hates being user friendly so no foreground color option in the interface for those which means I need to manually set the caption color. Problem, normal API calls DO NOT do the job so I had to rely on subclassing to make this happen, results, well, you see it, it works!!! Kind-of, yeah, I need to also detect the state (disabled or not) and apply the proper colors depending on that state.
  • Scrollbars: This is a real pain. They have no option in VB6 to manage background color. One thing that even weirder is that the theming works on them for everything else EXCEPT the normal state. You will not see it in the screenshot BUT, if you click on the background to scroll, background color changes to the theme's color! So there again, thank's Microsoft for this super easy and no problem theming. (that's sarcasm for those who missed it)
  • Textbox: While the textbox looks fine, the problem is that it has no rounded corners like the theme AND when you focus on it, it uses the standard light theme border color instead of your accent color, so there again, some more fun time with API calls and API drawing.
  • Frame: Already partially resolved, I just need to figure out a way to know the exact RECT of the frame's caption to draw the caption the same way I do with Checkboxes and Option Buttons.
  • Selected color: As you can see in the folders list box, the selected color is not the one of my theme, the dark theme uses another shade of grey with a border, that's up next to the task.
  • Frame, PictureBox and Label borders: I am not to sure I will be doing anything with those, maybe an exception for the frame, I'm thinking about it.
  • DropDown boxes and Drives List: There again, rounded corners and selected color is off so I need to find a way around it.


A few notes and thoughts:
Although I do mention rounded corners of textboxes and dropdown boxes, I still am wondering if I will be spending my time trying to get these to be exactly the same. The textbox I want to but the rest, not sure, this is still an old programming language abandonned by Microsoft and I think people should consider that there are a few draw backs if you ever program in VB6. I think that a big part of the job is done, I am pretty happy with what I am seeing right now, but I have spent wayyy too much time on this project, I've litterally spent more than 1 month scrapping Internet and talking with AI Copilot to try and figure this out BUT, once done, anyone should be able to simply copy the class and modules in their prohect and call just 1 function, yes, only 1 function which does it all. I call it on a timer which I enable after the app has loaded but it cann be called on the form_load event directly.

So I may not work all issues but I will be making sure that all captions are drawn at the right color and get that accent color working for the textbox as well as the proper selected background color. Note that this is just for darkmode because as I can see, light mode seams to work OK or at least look fine without tinkering on anything.

Do not hesitate to share your thoughts and comments! VB6 apps will get a facelift with this now!