• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

WinLIFT

Started by Patrice Terrier, August 22, 2009, 10:32:29 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Patrice Terrier

#30
Because WinLIFT install a global hook on the %WM_CREATE message.

You must not link the WinLIFT.dll to your code if you do not want to use it!

To produce both skinned and un-skinned version of the same application, use the compiler directive #IF and #ENDIF like this.

%SKIN_THIS_APPLICATION = 1

...

#IF %SKIN_THIS_APPLICATION
  IF skInitEngine("ipod.sks", "") THEN
     CALL skSkinWindow(CB.HNDL, "Dock|Undock|Minimize|Maximize|Restore|Close")
  END IF
#END IF


Thank you!

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

#31
New WinLIFT skin "Onyx"



I have also attached a Red variation.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Jürgen Huhn

really nice Tool!

Thank you!

...
.¸.•'´¯)¸.•'´¯)¸.•'´¯)¸.•'´¯)
¤ª"˜¨¨¯¯¨¨˜"ª¤....¤ ª"˜¨

Patrice Terrier

The first post of this thread has been updated to version 4.61.

New:

  • Built-in tooltip support.
  • ComboBox enhancement (support for empty ListBox).

Example showing how to use the built-in tooltip support:

   IF skInitEngine("ipod.sks", "") THEN
       CALL skSkinWindow(hdlg, "Dock|Undock|Minimize|Maximize|Restore|Close")

       CALL skCreateToolTip (GetDlgItem(hdlg, %IDC_COMBOBOX1), "ComboBox")
       CALL skCreateToolTip (GetDlgItem(hdlg, %IDC_LISTBOX1), "ListBox")
       CALL skCreateToolTip (GetDlgItem(hDlg, %IDC_BUTTON1), "Test 123")
       CALL skCreateToolTip (GetDlgItem(hDlg, %IDC_CUSTOMCONTROL_1), "XPBUTTON")
       CALL skCreateToolTip (GetDlgItem(hdlg, %IDC_MSCTLS_TRACKBAR32_1), "Trackbar 123")

   END IF


Note: In order to use the skin theme, skCreateToolTip must be used AFTER the call to skSkinWindow


The new tooltip API are:
 DECLARE FUNCTION skCreateToolTip LIB "WinLIFT.dll" ALIAS "skCreateToolTip" (BYVAL hObj AS LONG, zText AS ASCIIZ) AS LONG
 DECLARE SUB skSetToolTipText LIB "WinLIFT.dll" ALIAS "skSetToolTipText" (BYVAL hObj AS LONG, zText AS ASCIIZ)
 DECLARE FUNCTION skGetToolTipText LIB "WinLIFT.dll" ALIAS "skGetToolTipText" (BYVAL hObj AS LONG) AS STRING

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

#34
I don't know if i will be able to complete this or not, however i think it has never been done before (in a SkinEngine)  ;D


Full composited crystal mode with custom glass effect, variable opacity, fancy window shape, drop shadow and full anti-alias:




...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Petr Schreiber

I will be happy to test it on XPs once it is out ;)
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Patrice Terrier

I am in the process to make WinLIFT and GDImage 100% compatible together, and also ensure further DWM compatibility that is the prerequisite to produce the fancy UI i have in mind.

Thus XP niet!  ;D

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

And you can add, C, C++, and all the languages that do not superclass the native SDK Windows classes.

Portability, is the result of using low level SDK programming style  ;D

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

In theory, the dynamic detection of new control creation should be possible in WinLIFT because i am pre-processing the WM_CREATE message. I shall look at it, once i am done with the DWM support i am working on.

About the "Sony" skin, this one will be part of the first Skin-pack that has not been yet fully completed.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

Note: This demo requires either VISTA or SEVEN (it won't run on XP)

I made it to show you how close i was to succeed in using the SkinEngine hover a DirectDraw surface.
I have almost everything working, except for the nasty EDIT control that defeat all i have tried.

To see my problem select "Tab page 2" and move the window alternatively hover a light or dark background and look at the EDIT control inside of "Frame 2" (same problem occure with the EDIT section of the ComboBox on "Tab page 3").

The problem with the EDIT control is, that it can't be owner-drawn nor custom-drawn, and Windows re-paint it in so many different places that message subclassing is not reliable with it.

...


Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

#40
DWM means Desktop Window Manager.

It is the desktop graphical user interface system being used in Windows VISTA and Windows SEVEN, it requires graphic cards supporting DirectX 9.0+ and Shader Model 2.0. It works in composited mode (drawing from the bottom to the top of the z-order), and the most obvious part of it, is the transparent border drawn around the windows when you are running in AERO mode.
Usualy the AERO mode works with a BLUR effect, however graphic toolkits like GDImage and WinLIFT are also able to apply a full CRYSTAL mode to a specific window, without changing anything in the registry!

DWM uses DirectX to perform the function of compositing and rendering in the GPU, freeing the CPU of the task of managing the rendering from the off-screen buffers to the display.

Both GDImage and WinLIFT are using DWM in composited mode and they write directly onto the DirectDraw surface when available.
See the CRYSTAL demo in the GDImage section here

Added:
I forget to say that graphic libraries based on GDI and container like the DDT "GRAPHIC WINDOW" are unable to work correctly with a DirectDraw surface.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

On the attached screen shot, all the controls are drawn onto the DWM DirectDraw surface.

It looks like a Layered window, but it is not, because you can use variable opacity and even OPAQUE section.
See also the shadow arround the window and the anti-alias arround the wheels icon.

This makes possible to have an animation playing gently in the background, like in the GDImage "DreamWork" or "WinScape" projects, and you can use transparent png for wallpaper.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

#42
This is WinLIFT version 4.70, with built-in support for the AERO composited mode on VISTA and SEVEN.

Note: The composited mode is drawing directly onto the "Desktop Window Manager" surface.

For those still running XP, here is a screenshot:



Of course you could have also opaque or variable opacity background if you prefer.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

#43
Quotehow can you adjust the opacity

Adjusting the opacity, was not the purpose of the demo, and it will be probably the easiest part of the work i have done.

See the GDImage Crystal demo or run BassBox in full composited Crystal mode and adjust the "client zone opacity", that could be one way, the other would be to change the PNG background and select a new one, just like you can do it already when you select a new background.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

#44
Version 4.71 is attached to this post

New features:

  • CheckBox support in ListView.
  • Color and opacity adjustment in Windows VISTA/SEVEN in AERO mode.




The "AEROCOLOR" parameter of the sks file, allows you to setup both the color and the opacity of the AERO glass surface.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com