Wrapper for VB6 Collections
There have been a couple of roll-your-own collection classes posted in these forums, and I'm not knocking any of these. Some of them claim to be faster than the core VB6 Collection object, and they may...
View ArticleThe Decimal Data Type
There are a few cases where API calls return 8 byte integers. FileSize and FileTime are a couple of them. These are never easily handled with VB6. Essentially, there are a couple of ways it's typically...
View ArticleMetafile Graphics for DPI Scaling
One of the headaches in addressing High DPI issues is the scaling of images within our user interfaces. These are typically small "icon" type images we display in various controls. In many cases we can...
View ArticleRTF Label & RTF Button
The attached project contains an RTF Label and an RTF Button control. I use these all the time, but I haven't messed with the code in either of them in years. There are quite possibly better options...
View ArticleVb6 - simple tcp connect
During the process of trying to figure out NAT Traversal (how to get around the problem of NAT blocking external connections), I had to simplify the process of TCP/IP connections. NewSocket was just...
View Article[VB6] - Trick Advanced Tools.
Hello everyone! I present to you a small project - Add-in that allows to some extent alleviate debugging some programs as well expand compilation possibilities. All the source codes are in the...
View Article[VB6] Using IAutoComplete / IAutoComplete2 including autocomplete with custom...
IAutoComplete / IAutoComplete2 / IEnumString SHAutocomplete has many well known limitations, the biggest being if you want to supply your own list to use with it. I was very impressed with Krool's work...
View ArticleImproved circle drawing
Here's my code for drawing a circle, that has significant improvements over the internal VB6 circle drawing commands. Code: Private Sub DrawCircle(ByVal X0 As Long, ByVal Y0 As Long, ByVal Radius As...
View ArticleUsing OERN (On Error Resume Next)
This isn't any substantial piece of code, but it points out a potential problem I see experienced programmers making on these forums. Also, I must give Bonnie West some credit for pointing this out to...
View Article[CODE] Responsive applications in VB6 (and immune to resolution changes)
Make VB6 applications look, feel and work state-of-the-art. See this video for more: https://youtu.be/2RPnJotSYj0 I HAVE HEAVILY MODIFIED THE CODE NOT COMPLETELY CODED IT. THE CREDITS CAN BE FOUND...
View ArticleVB6 Build-in types extension library (FTypes)
This project aim is to extend Visual Basic 6.0 build-in types (like Integer, Long, String and etc.) in order to make work with it more convinient ("one-liner" style if needed) and support extended...
View ArticleVB6 Built-in types extension library (FTypes)
This project aim is to extend Visual Basic 6.0 built-in types (like Integer, Long, String and etc.) in order to make work with it more convinient ("one-liner" style if needed) and support extended...
View ArticleVB6 - Simple Sock
SimpleSock basically performs the same functions as NewSocket. Like NewSocket, it supports IPv6 as well as IPv4. This more or less restricts it's use to Windows Vista or better, as older operating...
View Article[VB6] SAX: Not just for XML
MXHTMLWriter is a handy feature added to MSXML SAX2 in version 6.0, but few have probably heard of SAX and few still of MXHTMLWriter. See MXHTMLWriter CoClass for an overview. There are several ways to...
View Article[VB6, Vista+] Remember Open/Save state per-dialog instead of per-app...
This code tip applies to the new Common Item Dialog interfaces, IFileOpenDialog and IFileSaveDialog, that replace the old Common Dialog control and GetOpenFileName/GetSaveFileName API calls in Windows...
View Article[VB6, Vista+] Direct access to the system-wide image thumbnail cache
While in general you want to use IShellItemImageFactory to get these thumbnails, as that will also return icons, if you're interested in more control or better performance, you can use IThumbnailCache...
View Article[VB6, Vista+] Add the Windows Send To submenu to your popup menu
So at first I set out to just duplicate the functionality, but then immediately saw the FOLDERID_SendTo special folder, and realized that it should be possible to add a fully functional SendTo menu....
View Article[VB6] SHBrowseForFolder - Custom filter for shown items:...
It's possible to have complete control over what items are shown in the SHBrowseForFolder dialog. The picture above shows a filter of *.exe applied to a dialog with the BIF_BROWSEINCLUDEFILES option,...
View ArticleResizeable VB6 UserForms (and Unicode Form Captions)
This system uses a small amount of code in a form module plus a small class module shared by all of your forms to enable you and the user to be able to move and size any form and have all of the...
View ArticleVB6 - NAT Traversal
A NAT router is an excellent way to protect your computer network from outside hackers. The normal way to allow an outside host to connect with an internal host sitting behind a NAT router is to...
View Article