Diese Seite mit anderen teilen ...

Informationen zum Thema:
WinDev Forum
Beiträge im Thema:
Erster Beitrag:
vor 8 Jahren, 1 Monat
Letzter Beitrag:
vor 8 Jahren, 1 Monat
Beteiligte Autoren:
Patrice Terrier, Manfred

ann: Visual plugin brings window to life

Startbeitrag von Patrice Terrier am 22.04.2010 12:47

The WD14 "Naavi HUD" project has been reworked to use visual plugin animation.

This is an amazing new feature, that doesn't require the use of "Windows Presentation Foundation" nor the encapsulation of "Windows Media Player" (WD14 "multimedia" field).

It has a small CPU footprint, to be cooperative with other running applications.


This is a very special project, because it doesn't use any of the built-in WinDev's facilities.

It is based on direct use of the core Windows API, using low level SDK procedural programming style (same as in C), because it is the only way to create a window that is fully compatible with the Desktop Window Manager of VISTA and SEVEN.

The use of the composited AERO mode allows you to create amazing eye candy, with ultimate speed display, because everything is handled by the GPU instead of using the conventional CPU.

However, to render everything on the DirectX surface of VISTA and SEVEN, we have to use graphic llibraries, like WinLIFT and GDImage, that are compatible with the latest technology.

How to use this project:

You need a computer with a graphic card, that is AERO compatible

To show you the use of variable opacity, "Naavi HUD", is provided with several backgrounds that you can change on the fly.
To do it, click with the left or right mouse button, on the icon located on the top left of the window, asside the caption title.

The circular gauges rotate the Naavi on herself, and the vertical slider zoom in/out.
You can move the sprite around using the mouse drag and drop.

For the best visual result, you shoud use a dark Windows wallpaper background.

To start the animation, click on the "Visual plugin" check box, and make sure you are using a transparent background (click on the Naavi icon to select a new one), or check the "Transparent HUD mode".

Audio files:
You can use any music tracker format (mod, xm, it, mtm, s3m, mo3), and mp3 or ogg audio files.

Source code:

It shows you what is really going on under the hood, without the obscurification of DotNET or C++ classes. Everything is written in pure SDK programming style, with a standard message pump, and a WndProc callback to perform the message cracking.

To ease the portability and compatibility with low level programming languages, the whole API is encapsulated into WinDev code to use exactly the same syntax than C.

Skin Engine:

Because the purpose of this project is to run in transparent HUD mode, Windev's skin can't be used.

Several WinLIFT's theme are stored in the EXE folder, to use/try a specific one, search the code for "// Change the WinLIFT skin theme here:", and REM or UNREM the name of a specific ".sks" file.

A "sks" file (Skin Style), works like a CSS file for an HTML page.

Visual plugin mode:

The animation is playing in the background, without alteration of the speed of the parent application.

The plugins are stored into the "EXE\Plugin" folder.

To download the WD14 project: click here

Screen shot:



The "HUDplus" project has been updated.

The number of audio and plugin files is now unlimited, and you can select them from ComboBox instead of RadioButton.

Several new audio files and plugins have been added to the ZIP file.

Here is a screen shot using the "HUD_maelstrom" plugin:

Note: when playing the Matrix plugin, you have to wait 30 seconds before you can seen the falling letters effect, thus be patient, it is worth the wait :)

von Patrice Terrier - am 26.04.2010 15:48
I have Windev 12 :(

von Manfred - am 27.04.2010 02:15
I am using WD14+ for this project because the new syntax is closer to C than older version.

For example:

dwStyle is int = WM_POPUP | WS_VISIBLE | WS_BORDER
instead of
dwStyle is int = WM_POPUP + WS_VISIBLE + WS.BORDER

Or the use of "." in structure member.
ptNMHDR.idfrom instead of ptNMHDR:idfrom

Or LoWord, HiWord functions, and MakeInteger, etc.

This ease portability from one language to another (in my case C, C#, and PowerBASIC).


If you want you can try the resulting EXE (PB version) that is available on the WinLIFT forum. By the way they are exactly the same, except the size of the resulting EXE of course.


von Patrice Terrier - am 27.04.2010 07:28
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.