• 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

WinLIFT version 4.89 is attached to this post.
(updated on august, 09, 2011)

QuoteWe strongly believe that, from the user's point of view, your application's appearance is the biggest single factor that can make the difference between your product and that of your competitors.

This is where WinLIFT comes in, it helps you to make the difference...

List of controls currently supported:

  • Border.
  • CheckBox.
  • ComboBox.
  • Dialog (class #32767)
  • Edit.
  • GroupBox.
  • ListBox.
  • ListView.
  • MenuBar.
  • MenuPopup (class #32768).
  • PushButton.
  • ProgressBar.
  • RadioButton.
  • Rebar.
  • ScrollBar (System).
  • SDI popup window.
  • Static.
  • StatusBar.
  • SysHeader.
  • System buttons.
  • Tab.
  • ToolBar.
  • ToolTip.
  • TrackBar.
  • TreeView.
  • UpDown.

Exclusive features:

  • Composited mode (translucency).
  • 100% compatible with the AERO Desktop Window Manager.
  • Wallpaper background.
  • Anchor mode for child controls.
  • Custom icon.
  • SKI lossless graphic resource.
  • SKS style sheet.
  • Border of any size.
  • Minimum size preservation, based on the initial size of the window.
  • Multiple monitor detection.
  • Enhanced modal mode, with grayed disabled window.
  • LED status.
  • Custom Buttons.
  • Built-in tooltip support.
  • Clock widget.
  • Rotating knob (gauge).
  • Full compatibility with the optional GDImage graphic library.
  • Static image.

Exclusive Skins:

  • Boxer.
  • Braun.
  • Busi.
  • Chrome.
  • Crystal.
  • Futura.
  • Glass.
  • Gray.
  • Ipod.
  • Mint.
  • Mito.
  • Nokia.
  • Podcast.
  • Robot.
  • Seven

Windows version: XP, Vista, Seven, Windows 8.


Version 4.56+ is compatible with FF3.


Screen shot of the "Ipod" skin:


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

Patrice Terrier

#1
Here is the beta version 4.25 with skinned ScrollBar



Microsoft goes to all extent, to make the skinning of the default scrollbar, one of the most daunting task i have ever done!

For this reason i had to make some changes on the standard behavior, the horizontal scrollbar is using smooth scrolling while dragging the thumb track (un-hold the left mouse button to stop the scrolling asap).

Note: click on the icon eye to change the background.

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

Patrice Terrier

Ipod is the fourth theme designed for the new WinLIFT.



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

Patrice Terrier

Beta version 4.31 completes the skinning of ComboBox.
Now, it should work and look exactly the same on XP, VISTA, and Seven.




Petr--

May i ask you to check the combo button or your CZ computer, because i remember your had a compatibility issue with an older example i posted in the "SDK programming" section.

Thank you.

PS: The new zip file is attached to the first post of this thread.

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

Petr Schreiber

Hi Patrice,

good work, combobox worked without single issue here!
I could not recognize the good old addressbook example under your visual magic for a while.
Then it clicked in my head :)


Petr
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Patrice Terrier

#5
WSA has been updated to version 4.34.
The ZIP file is attached to the first post of this thread.

What is new  in version 4.34:

  • WinLIFT exclusive modal mode with disabled grayed parent.
  • WinLIFT skDialogAlert.
  • WinLIFT skDialogError.
  • WinLIFT skDialogInfo.
  • WinLIFT skDialogYesNo.
  • WinLIFT skDialogInput.
  • Skin theme enhancements.
  • Colored caret to ensure better visibility in edit control
  • New project rvGame (game by Roberto Valois).

To check the different WinLIFT modal dialog, edit the source code of the Template.bas projetc:
    CASE %WM_COMMAND
       SELECT CASE CBCTL
          CASE %IDOK
'CALL skDialogAlert("", "ALERT" + $CR + $CR + $CR + "Displays a modal dialog box that contains a WinLIFT icon, a set of buttons, and a brief application-specific message.", "")
'CALL skDialogError("", "ERROR" + $CR + $CR + $CR + "Displays a modal dialog box that contains a WinLIFT icon, a set of buttons, and a brief application-specific message.", "")
'CALL skDialogInfo("", "INFO" + $CR + $CR + $CR + "Displays a modal dialog box that contains a WinLIFT icon, a set of buttons, and a brief application-specific message.", "")
'CALL skDialogYesNo("", "QUESTION" + $CR + $CR + $CR + "Displays a modal dialog box that contains a WinLIFT icon, a set of buttons, and a brief application-specific message.", "@Yes,No")
CALL skDialogInput("", "INPUT" + $CR + $CR + $CR + "Displays a modal dialog box that contains a WinLIFT icon, a set of buttons, and a brief application-specific message.", "")





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

Patrice Terrier

MiTo



My daughter just bought one  ;D

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

Patrice Terrier

#7
WinLIFT allows you to fully customize the NonClientArea, as you can see on this screen shot:
(see the width of the translucent border on the right side, while there is none on the left)



Petr,
You know what, that's still the DDT address book application  ;D

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

Petr Schreiber

Nice sci-fi look :),

how did WinLift "attached" the right stripes bar to the window?
I am slightly confused by "non client area", it looks like the client one was widened.

AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Patrice Terrier

Petr,

WinLIFT doesn't alter the client size, never.

However it takes full control of the non-client area, that is the part that most programmers never handle themselves.
One of the message processed by WinLIFT to change the size of the borders drawn around the client area is the WM_NCCALCSIZE message, see MSDN here: http://msdn.microsoft.com/en-us/library/ms632634(VS.85).aspx

It does it that way:


    CASE %WM_NCCALCSIZE
         IF wParam THEN
            IF Win(Item).hMenu THEN
               SkinMenuHeight& = skGetSystemMetrics(%SK_CYMENU)
            END IF

            pNCC = lParam

            IF Win(Item).hMdiClient THEN One& = 1

            pWP = @pNCC.lppos
            @pNCC.rgrc(0).nLeft   = @pWP.x + skGetSystemMetrics(%SK_CXFRAMELEFT)
            @pNCC.rgrc(0).nTop    = @pWP.y + skGetSystemMetrics(%SK_CYCAPTION) + SkinMenuHeight&
            @pNCC.rgrc(0).nRight  = @pWP.x + @pwP.cx - skGetSystemMetrics(%SK_CXFRAMERIGHT)
            @pNCC.rgrc(0).nBottom = @pWP.y + @pwP.cy - skGetSystemMetrics(%SK_CYFRAMEBOTTOM)

'           // Anchor child controls
            IF UBOUND(gChor) > 0 THEN
               FOR K = LBOUND(gChor) TO UBOUND(gChor)
                   CALL skSetAnchorMode(gChor(K).hWnd, gChor(K).anchor)
               NEXT
               ERASE gChor()
            END IF
         END IF


When you write a SkinEngine, you need to learn what each of the Windows message are meant for, and act accordingly.
This is the reason why learning low level SDK is so important when you want to do fancy stuffs, that are out of control from most DotNET and DDT programmers. Learning how to use hook is another important thing to master, as well as subclassing and custom draw.

...

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

Patrice Terrier

#10
In order to protect those creating their own skin, the new WinLIFT will use a proprietary image format, with non-destructive compression and full 32-bit ARGB.

The name of this new format will have the .SKI extension, and a new command line utility will be provided to convert from standard graphic format.

The syntax to use will be:

ImgToSki i:\WinLIFT\Podcast\Button.png

this will create a new file named i:\WinLIFT\Podcast\Button.ski

Size of Button.png = 4808 bytes
Size of Button.ski = 3828 bytes

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

Patrice Terrier

#11
For those wanting to figure how the SKS works, i would say it works exactly like a CSS file for a HTML page.

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

Patrice Terrier

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

Patrice Terrier

#13
Chrome



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

Patrice Terrier

Gray



Now with:

  • Rebar
  • Progress bar
  • Status bar
...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com