Dessiner sur le fond du bureau

dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014 - 19 déc. 2008 à 10:14
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 - 21 déc. 2008 à 20:51
Bonjour,

Je cherche à savoir comment je peux me accéder au fond du bureau (derrière les icônes) comme zone d'affichage.

Au début j'ai voulu passer par un BMP que je charge en fond d'écran mais je veux afficher des choses un peu plus "temps réel" donc recharger le fond du bureau toutes les secondes n'est pas envisageable. Il y a bien ActiveDesktop mais apparement je ne peux qu'afficher du HTML et là encore ça ne me convient pas.

Je voudrais par exemple accéder au fond du bureau via un TCanvas.

Merci.

13 réponses

dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014
19 déc. 2008 à 11:57
Merci pour ta réponse Francky, cependant celle-ci n'est pas en rapport avec ce que j'ai demandé (et j'ai bien sur fait un minimum de recherches avant de poser ma question).

Accéder directement au DC de l'écran et dessiner dessus il n'y a rien de plus simple je l'ai fait il y a des années, j'ai pourtant bien précisé dans ma question que je voulais dessiner sur LE FOND DU BUREAU (donc derrière les fenêtres), et j'ai en plus ajouté DERRIERE LES ICONES, j'ai même pris soin d'expliquer que j'avais essayé via un bitmap que je charge en tant que fond d'écran mais qui ne convenait pas pour des raisons de performances, et là je pensais pourtant être clair et précis mais il faut croire que non.

Cdlt.
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
19 déc. 2008 à 14:52
Salut,

A part travailler sur le fond d'écran comme tu as déjà fait, je ne vois pas beaucoup d'autres solutions.
A vrai dire, je n'en vois qu'une. C'est de recréer un pseudo bureau sur un Form Maximized après avoir fait une copie d'écran de tout le bureau et de travailler sur le Canvas de ce Form.
C'est pas jojo mais ça devrait le faire.

Sinon, je continue à chercher et je te tiens au courant si je trouve qq chose de plus élégant ...
0
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014
19 déc. 2008 à 15:16
Merci,
 
J'avais déjà vu quelques applications faire ça mais je ne me souvenais plus lesquelles et  en cherchant sur google dans le but de les retrouver et demander aux développeurs comment ils s'y étaient pris, je viens d'en trouver 2 en open source ! Je vais donc essayer de piger mais c'est du C donc ça risque de me prendre un peu plus de temps pour comprendre le principe et le reproduire en Delphi.

http://zmatrix.sourceforge.net

http://www.geisswerks.com/drempels/

zmatrix prend quasiement 0% CPU sur mon bon vieux PIII-1Ghz donc c'est cool.
0
Utilisateur anonyme
19 déc. 2008 à 20:49
Je crois que tu as pas compris mon idée : écrire sur le fond du bureau comme tu le souhaites peut se faire via la méthode que je t'ai donné. Il suffit de ne pas déssiner dans les zones ou il  y a les fenetres et les icones non ? . Le tout est de déterminer la position des fenetres et des icones (Bon apres si tu bouges les fenetres et les icones c'est autre chose )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
20 déc. 2008 à 13:25
Salut,

@Francky: non non non ... c'est pas du tout le même principe !!

pour réaliser ce genre d'effet il faut passer par DirectDraw ... Normalement

 
@+
Cirec

<hr siz="" />
0
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014
20 déc. 2008 à 13:27
@Francky

Je ne pense pas que se soit la méthode utilisée par ce genre de porgramme parcque cela voudrait dire qu'ils travaillent à partir d'un masque qui est calculé en permanence sur la couleur de fond du bureau et si j'ai une fenêtre de la même couleur celle-ci reste entière.

Mais avec les deux sources que j'ai trouvé, la réponse ne saurait tarder ;-)
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
20 déc. 2008 à 14:13
@ Cirec
D'abord, salut !  J'ai cru un moment que tu avais déserté le forum. Mais me voilà rassuré  :)))

DirectDraw, dis-tu?
Donc DirectX.
Ce qui, si je ne me trompe pas, implique l'utilisation du C++ plutôt que le Pascal.

Dans ce cas, notre ami dodfr ne risque t-il pas de tomber sur un os ?
0
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014
20 déc. 2008 à 14:48
@caribensila

Après un premier coup d'oeil aux sources de zmatrix il ne semble pas qu'il soit fait usage de directX.

J'avais vu sur un forum un histoire de DirectX mais je pense que ça doit être comme pour toute appli qui a besoin d'afficher des trucs en 3D ou avec pas mal d'effets dont DirectX facilite la mise en oeuvre.

J'ai vu des fonds animés vraiment étonnants (même un aquarium très réaliste...en fond de bureau c'est plutôt sympa ;-). Il y a même un outil nommé screen2dream qui permet de lancer n'importe quel .scr d'économiseur d'écran sous forme de fond d'écran animé. Et sous vista les .scr peuvent être lancés en fond de bureau avec cette syntaxe : aurora.scr /p65552 et le fond apparaîtra au bout de quelques secondes.

"animated desktop" c'est le mot clé qui va bien pour que google me trouve enfin des choses avant je cherchait avec ActiveDesktop ou desktop background mais ça ne donnait rien de satisfaisant.
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
20 déc. 2008 à 15:35
Pour info, après qq recherches :




Les composants constituant DirectX sont, entre autres :

DirectX Graphics, lui-même constitué de plusieurs API
   DirectDraw : destiné aux graphismes en deux dimensions. Cette partie n’est plus mise à jour mais reste utilisé par un grand nombre de jeux. Cette librairie est considéré comme ‘deprecated’.
   Direct3D : Pour les graphismes 3D.

...

et plus particulièrement pour Francky  ;)  



 





DirectSound



 : permet de jouer et d’enregistrer des sons au format PCM. DirectSound3D (DS3D) : permet de jouer des sons positioné dans un espace 3D.
DirectMusic : pour jouer des morceaux produit à l’aide de l’outil DirectMusic Producer. 


Ca donne quand même envie de s'investir dans DirectX, non?
 

Reste à savoir si le Pascal est bien compatible avec tout ça   
0
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014
20 déc. 2008 à 15:46
Delphi peut parfaitement faire du DirectX/3D/Music... je crois que c'est le projet JEDI qui a traduit les API.
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
21 déc. 2008 à 10:58
Bonjour

Pour l'intégration du DirectX sous Delphi ou FreePascal, un lien incontournable : Clootie

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
0
Utilisateur anonyme
21 déc. 2008 à 11:32
DirectX : Vivement que Monsieur Débiar nous fasse un jeu de RPG sous direct X (Je verai bien un Final Fantasy ).

Sinon pour le son je trouve que les possibilités sont limitées d'autant plus qu'il faut installer la bonne version de DirectX.
0
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
21 déc. 2008 à 20:51
euh a tout hasard il n'existe pas qqch appelé DelphiX
0
Rejoignez-nous