It is true that you can create your own controls with API. also with a little more effort as a gadget with internal PB functions.
However, it is easier to create your own control with the CanvasGadget. This means that they also work with Linux or macOS.
Creating an own control/gadget using Windows API
Re: Creating an own control/gadget using Windows API
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive