Recent Posts

Pages: [1] 2 3 ... 10
The concept / VIDEO
« Last post by Patrice Terrier on February 13, 2024, 07:02:20 pm »
Here is a video created by Graham McPhee about using WinLIFT 7.00 32-bit with PowerBASIC.

YouTube Video is here
The concept / SkinTheme
« Last post by Patrice Terrier on February 13, 2024, 06:40:35 pm »
Here is a new demo named SkinTheme.

It is provided with several exclusive images (created with the help of AI) stored in the \Background folder.
And 4 skin themes:

I did put the a copy of the 32 and 64-bit binary EXE for comparison purpose.
Skintheme32.exe (32 Kb) is written in PowerBASIC
Skintheme64.exe (15 Kb) is written in C++
Both are using the same low level procedural SDK syntax, that is the only common denominator to all the Windows languages.

You can change the wallpaper background using left or right mouse click on the top left icon.
You can change the skin theme using the multmedia arrows below the (help) button.

If you plan to use WinLIFT and the exclusive skin theme in your own projets,
consider making a donation.
The concept / WinLIFT32.dll new version
« Last post by Patrice Terrier on February 08, 2024, 01:21:58 pm »
This new version is intended to be used by those using the (paypal) donate-ware version.

It is now able to use composited skin theme.

As an extra bonus the composited RainbowDark theme is provided together with the attached .7z file.

This theme is also available in light mode.

The concept / Re: WinLIFT32.dll version 7.00
« Last post by Pierre Bellisle on February 03, 2024, 11:48:48 pm »
Une semaine sans internet!
Comment fais-tu?

Et tu-es encore de ce monde!
Y-a pas à dire, un dur à cuire.
Bob Morane dans l'âme.
Lino Ventura gonflé à bloc.

De mon coté, j'ai tout mon temps.
Prend soin de ta bien aimée et profite du temps qui passe.
Une pizza du Laca et une nuit étoilées, ce n'est pas moche...

Merci encore pour tout.
The concept / Re: WinLIFT32.dll version 7.00
« Last post by Patrice Terrier on February 03, 2024, 08:03:01 pm »

J'ai un problème de connection (pas d'internet pendant une semaine, car le répartiteur qui dessert ma commune a été détruit par un accident). Je suis obligé d'utiliser le téléphone de mon épouse pour poster ce message. J'essaierai de me procurer une Airbox 4- 4G, mais elle sont en rupture car tout le monde dans ma commune en veut une.

Dès que je peux, je te prépare un zip avec la version destinée aux utilisateurs de la version donate-ware. J'enverrai les informations de téléchargement sur ta boite mail si elle est toujours valide.

PS Le fichier .chm en ta possession est toujours valide, les nouvelles fonctions sont documentées ici

The concept / Re: WinLIFT32.dll version 7.00
« Last post by Pierre Bellisle on February 03, 2024, 05:01:32 am »
Salut Pat,
J'ai le fichier d'aide 4.87, y a-t-il plus récent?
En ce qui concerne les peaux, sont-elle disponible?

Mille mercis, quel travail fantastique...


Hi Pat,
I got the v. 4.87 help file, is there something newer?
About the skins, are they available?

Thousand thanks, what a fantastic work...

The concept / WinLIFT32.dll version 7.00
« Last post by Patrice Terrier on January 19, 2024, 01:13:51 pm »
This is the WinLIFT32.dll version 7.00 that is intended to work in UNICODE 32-bit mode.

There are 2 PowerBASIC projects attached to this post.
The PowerBASIC code must use the %UNICODE = 1 constant, and WSTRINGZ to pass parameters to any of the WinLIFT32 API.

In the example
1 - Buttons32.bas, is using the standard anchor properties.
2 - Resize32.bas, is using the new HOMOTHETIC resize API.
The concept / Homothetic resize
« Last post by Patrice Terrier on January 15, 2024, 07:38:49 pm »
The attached C++ project shows you how to use the new Homothetic resize from Version 7.00.

Homothetic is exclusive, it couldn't be intermixed with other anchor properties.
The same percentage ratio is applied to all child controls when resizing the parent popup.
Skin themes / User submitted
« Last post by Patrice Terrier on January 14, 2024, 11:22:40 am »

This is a PureBasic project.

The concept / WinLIFT 64-bit 7.00, new API
« Last post by Patrice Terrier on January 09, 2024, 01:17:49 pm »
When using multiple skinned windows in a single project,
the main window must always be skinned first.

New constants used in Version 7.00

To be used with the new skAnchorID API

const int AT_TOP         = 1;
const int AT_LEFT        = 2;
const int AT_RIGHT       = 4;
const int AT_BOTTOM      = 8;
const int AT_TOPLEFT     = 3;
const int AT_TOPRIGHT    = 5;
const int AT_BOTTOMLEFT  = 10;
const int AT_BOTTOMRIGHT = 12;
const int AT_ALL         = 15;

const int DOCK_TOP       = 256;
const int DOCK_LEFT      = 512;
const int DOCK_RIGHT     = 1024;
const int DOCK_BOTTOM    = 2048;
const int DOCK_FILL      = 3840;

New Version 7.00 APIs

BOOL skAnchorID(HWND hWnd, UINT uID, UINT uFlag)
To anchor a specific control uID within its hWnd parent container,
using any or a combination of the above constant uFlag.

BOOL skAnchorInit(HWND hWnd)
Init/Reset Anchor properties

BOOL skAnchorResize(HWND hWnd, BOOL bRepaint)
Resize the child controls, if ever you need to resize the main hWnd window yourself.

BOOL skAnchorRemoveAll(HWND hWnd)
Remove (delete) all anchor properties for the specific hWnd handle.

long skUseAnchorMode(HWND hWnd, IN long UseMode)
Use one of the exclusive constant below.

const int CANCELMODE     = -1;
const int ANCHORMODE     = 32;
const int HOMOTHETIC     = 64;

When using ANCHORMODE, it must be used after you setup all the individual skAnchorID properties.

HOMOTHETIC is exclusive, and couldn't be inter-mixed with other properties.
All childs controls belonging to hWnd are resized using an homothetic float ratio.
The original float ratio = 1.0f, that is the size of the window when calling skSkinWindow.
(This size is also used to compute the minimum WM_GETMINMAXINFO track size).

void skSetListViewImage(WCHAR* FullPathName, long ReadWriteFlag)
A ListViewImage is a single .png bitmap composed of different icons, each one must fit within a square size being the same for all images.
To be used in conjunction with a #{TAG} message, where TAG could be any letter in the range A-Z. The TAG must be inserted directly into the string used for a specific cell.
Example of image list:

void skSetToolBarImage(WCHAR* FullPathName, long ReadWriteFlag)
Same as above but for a ToolBar control.
The TAG must be inserted directly into each tool text name.

void skGetWindowSize(IN HWND hWnd, OUT long &x, OUT long &y, OUT long &WindowWidth, OUT long &WindowHeight)
The returned parameters are converted from WinLIFT SystemMetrics into standard window coordinates, in case you want to restore the window size and location in a next session.

BOOL skSkinChange(IN WCHAR* zSkinFile)
Change the skin theme on the fly, using a full qualified path to a WinLIFT .sks file.

The previous WinLIFT.chm file from version 4.87 is attached to this post, the existing API have been preserved, except that all strings in Version 7.00 require the use of UNICODE (WCHAR, WSTRINGZ).
Pages: [1] 2 3 ... 10