GPSP: GDI+ Bitmap Downscaler
Introduction This isn't particularly unique, but most of the examples I've found are either seriously flawed or wrap the same sort of thing up with a ton of extra functions your programs may not need....
View Article[VB6, Vista+] Advanced Thumbnail ListView: Icons, images, videos, framed...
I was motivated by dilettante's post to finally wrap up some of the advanced techniques I use for a top-tier thumbnail preview ListView. This combines many methods that I and others have developed for...
View ArticleDDE File Associations (open multiple files with a single memory-copy of your...
I wound up pulling this project together for another thread, and it wound up being fairly nice, so I thought I'd post it here. Basically, it's for the situation where you want a single-running-copy of...
View ArticleSimple and fast, lightweight HashList-Class (no APIs)
Not much to add to the Threads Title... the implementation of cHashList comes in only about 100 lines of code, and it can be used as a VB.Collection-compatible replacement with much better performance....
View ArticleVB6 Browse folder replacement dialog
I never enjoy using the default windows SHBrowseForFolder dialog, here is a replacement I am going to use going forward with more features from the OpenFile dialog It does not contain any additional...
View ArticleWrapper 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 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