> > Tiens, j'y pense. J'ai jamais essayé de subclasser le fenêtre du
bureau...
Vous n'auriez pas un cas d'utilisation ?
Non. c'était juste une idée comme ça. Un coup de SetWindowLong( GetDesktopWindow() ) et on devrait vitre être fixé.
-- Aurélien REGAT-BARREL
En fait, je veux dessiner sur le bureau, voir redessiner une partie du bureau.
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b43297$0$10044$
> Ben si je dessine sur la fenêtre, je dessine pas sur le bureau.
Quelque part, en dessinant sur une fenêtre (au fond transparent etc...)
qui
est sur le bureau, on dessine sur le bureau.
> Ce qui pose pas mal de problème pour la mise en premier plan.
Le bureau est en dernier plan non ? Le style TOPMOST sur la fenêtre
devrait
corriger le problème.
> Je vais voir du coté des hooks si je peux pas raffraichir ma fenêtre. > Mais je pensais qu'il existait un évènement de bureau type WM_Paint > que l'on pouvait utiliser pour redessiner.
Oui, évènement destiné au bureau. Tu ne le reçois pas au même titre que tu ne reçois pas le WM_PAINT des autres fenêtres.
Que veux-tu faire ? Dessiner directement sur l'écran ou sur le bureau ?
-- Aurélien REGAT-BARREL
En fait, je veux dessiner sur le bureau, voir redessiner une partie du
bureau.
"Aurélien REGAT-BARREL" <nospam-aregatba@yahoo.fr.invalid> a écrit dans le
message de news: 41b43297$0$10044$636a15ce@news.free.fr...
> Ben si je dessine sur la fenêtre, je dessine pas sur le bureau.
Quelque part, en dessinant sur une fenêtre (au fond transparent etc...)
qui
est sur le bureau, on dessine sur le bureau.
> Ce qui pose pas mal de problème pour la mise en premier plan.
Le bureau est en dernier plan non ? Le style TOPMOST sur la fenêtre
devrait
corriger le problème.
> Je vais voir du coté des hooks si je peux pas raffraichir ma fenêtre.
> Mais je pensais qu'il existait un évènement de bureau type WM_Paint
> que l'on pouvait utiliser pour redessiner.
Oui, évènement destiné au bureau. Tu ne le reçois pas au même titre que tu
ne reçois pas le WM_PAINT des autres fenêtres.
Que veux-tu faire ? Dessiner directement sur l'écran ou sur le bureau ?
En fait, je veux dessiner sur le bureau, voir redessiner une partie du bureau.
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b43297$0$10044$
> Ben si je dessine sur la fenêtre, je dessine pas sur le bureau.
Quelque part, en dessinant sur une fenêtre (au fond transparent etc...)
qui
est sur le bureau, on dessine sur le bureau.
> Ce qui pose pas mal de problème pour la mise en premier plan.
Le bureau est en dernier plan non ? Le style TOPMOST sur la fenêtre
devrait
corriger le problème.
> Je vais voir du coté des hooks si je peux pas raffraichir ma fenêtre. > Mais je pensais qu'il existait un évènement de bureau type WM_Paint > que l'on pouvait utiliser pour redessiner.
Oui, évènement destiné au bureau. Tu ne le reçois pas au même titre que tu ne reçois pas le WM_PAINT des autres fenêtres.
Que veux-tu faire ? Dessiner directement sur l'écran ou sur le bureau ?
-- Aurélien REGAT-BARREL
J'ai déjà le handle du desktop actif. Mais je sais pas comment m'abonner à wm_paint de celui ci
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b43371$0$10010$
> > Tiens, j'y pense. J'ai jamais essayé de subclasser le fenêtre du bureau...
> Vous n'auriez pas un cas d'utilisation ?
Non. c'était juste une idée comme ça. Un coup de SetWindowLong( GetDesktopWindow() ) et on devrait vitre être fixé.
-- Aurélien REGAT-BARREL
J'ai déjà le handle du desktop actif.
Mais je sais pas comment m'abonner à wm_paint de celui ci
"Aurélien REGAT-BARREL" <nospam-aregatba@yahoo.fr.invalid> a écrit dans le
message de news: 41b43371$0$10010$636a15ce@news.free.fr...
> > Tiens, j'y pense. J'ai jamais essayé de subclasser le fenêtre du
bureau...
> Vous n'auriez pas un cas d'utilisation ?
Non. c'était juste une idée comme ça. Un coup de SetWindowLong(
GetDesktopWindow() ) et on devrait vitre être fixé.
J'ai déjà le handle du desktop actif. Mais je sais pas comment m'abonner à wm_paint de celui ci
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b43371$0$10010$
> > Tiens, j'y pense. J'ai jamais essayé de subclasser le fenêtre du bureau...
> Vous n'auriez pas un cas d'utilisation ?
Non. c'était juste une idée comme ça. Un coup de SetWindowLong( GetDesktopWindow() ) et on devrait vitre être fixé.
-- Aurélien REGAT-BARREL
J'ai fait un test de ce type :
var uMSG : tagMSG; tlog : string; begin
While getmessage(uMSG, Cnv.Handle, WM_PAINT, WM_PAINT) Do Begin tlog:= tlog+ '0'; If Length(tlog) > 100 Then Begin Showmessage(tlog); Exit; End; End;
ça me permet de tester périodiquement, ici le plus vite possible jusqu'à 100 itérations si le message wm_paint est passé au handle sélectionné. Je suis sûr, qu'il y a moyen de faire plus popre.
Merci de vos suggestions.
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b43297$0$10044$
> Ben si je dessine sur la fenêtre, je dessine pas sur le bureau.
Quelque part, en dessinant sur une fenêtre (au fond transparent etc...)
qui
est sur le bureau, on dessine sur le bureau.
> Ce qui pose pas mal de problème pour la mise en premier plan.
Le bureau est en dernier plan non ? Le style TOPMOST sur la fenêtre
devrait
corriger le problème.
> Je vais voir du coté des hooks si je peux pas raffraichir ma fenêtre. > Mais je pensais qu'il existait un évènement de bureau type WM_Paint > que l'on pouvait utiliser pour redessiner.
Oui, évènement destiné au bureau. Tu ne le reçois pas au même titre que tu ne reçois pas le WM_PAINT des autres fenêtres.
Que veux-tu faire ? Dessiner directement sur l'écran ou sur le bureau ?
-- Aurélien REGAT-BARREL
J'ai fait un test de ce type :
var
uMSG : tagMSG;
tlog : string;
begin
While getmessage(uMSG, Cnv.Handle, WM_PAINT, WM_PAINT) Do
Begin
tlog:= tlog+ '0';
If Length(tlog) > 100 Then
Begin
Showmessage(tlog);
Exit;
End;
End;
ça me permet de tester périodiquement, ici le plus vite possible jusqu'à 100
itérations
si le message wm_paint est passé au handle sélectionné.
Je suis sûr, qu'il y a moyen de faire plus popre.
Merci de vos suggestions.
"Aurélien REGAT-BARREL" <nospam-aregatba@yahoo.fr.invalid> a écrit dans le
message de news: 41b43297$0$10044$636a15ce@news.free.fr...
> Ben si je dessine sur la fenêtre, je dessine pas sur le bureau.
Quelque part, en dessinant sur une fenêtre (au fond transparent etc...)
qui
est sur le bureau, on dessine sur le bureau.
> Ce qui pose pas mal de problème pour la mise en premier plan.
Le bureau est en dernier plan non ? Le style TOPMOST sur la fenêtre
devrait
corriger le problème.
> Je vais voir du coté des hooks si je peux pas raffraichir ma fenêtre.
> Mais je pensais qu'il existait un évènement de bureau type WM_Paint
> que l'on pouvait utiliser pour redessiner.
Oui, évènement destiné au bureau. Tu ne le reçois pas au même titre que tu
ne reçois pas le WM_PAINT des autres fenêtres.
Que veux-tu faire ? Dessiner directement sur l'écran ou sur le bureau ?
While getmessage(uMSG, Cnv.Handle, WM_PAINT, WM_PAINT) Do Begin tlog:= tlog+ '0'; If Length(tlog) > 100 Then Begin Showmessage(tlog); Exit; End; End;
ça me permet de tester périodiquement, ici le plus vite possible jusqu'à 100 itérations si le message wm_paint est passé au handle sélectionné. Je suis sûr, qu'il y a moyen de faire plus popre.
Merci de vos suggestions.
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b43297$0$10044$
> Ben si je dessine sur la fenêtre, je dessine pas sur le bureau.
Quelque part, en dessinant sur une fenêtre (au fond transparent etc...)
qui
est sur le bureau, on dessine sur le bureau.
> Ce qui pose pas mal de problème pour la mise en premier plan.
Le bureau est en dernier plan non ? Le style TOPMOST sur la fenêtre
devrait
corriger le problème.
> Je vais voir du coté des hooks si je peux pas raffraichir ma fenêtre. > Mais je pensais qu'il existait un évènement de bureau type WM_Paint > que l'on pouvait utiliser pour redessiner.
Oui, évènement destiné au bureau. Tu ne le reçois pas au même titre que tu ne reçois pas le WM_PAINT des autres fenêtres.
Que veux-tu faire ? Dessiner directement sur l'écran ou sur le bureau ?
-- Aurélien REGAT-BARREL
J'ai fait un test de ce type :
var uMSG : tagMSG; tlog : string; begin
While getmessage(uMSG, Cnv.Handle, WM_PAINT, WM_PAINT) Do Begin tlog:= tlog+ '0'; If Length(tlog) > 100 Then Begin Showmessage(tlog); Exit; End; End;
ça me permet de tester périodiquement, ici le plus vite possible jusqu'à 100 itérations si le message wm_paint est passé au handle sélectionné. Je suis sûr, qu'il y a moyen de faire plus popre.
Merci de vos suggestions.
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b43371$0$10010$
> > Tiens, j'y pense. J'ai jamais essayé de subclasser le fenêtre du bureau...
> Vous n'auriez pas un cas d'utilisation ?
Non. c'était juste une idée comme ça. Un coup de SetWindowLong( GetDesktopWindow() ) et on devrait vitre être fixé.
-- Aurélien REGAT-BARREL
J'ai fait un test de ce type :
var
uMSG : tagMSG;
tlog : string;
begin
While getmessage(uMSG, Cnv.Handle, WM_PAINT, WM_PAINT) Do
Begin
tlog:= tlog+ '0';
If Length(tlog) > 100 Then
Begin
Showmessage(tlog);
Exit;
End;
End;
ça me permet de tester périodiquement, ici le plus vite possible jusqu'à 100
itérations
si le message wm_paint est passé au handle sélectionné.
Je suis sûr, qu'il y a moyen de faire plus popre.
Merci de vos suggestions.
"Aurélien REGAT-BARREL" <nospam-aregatba@yahoo.fr.invalid> a écrit dans le
message de news: 41b43371$0$10010$636a15ce@news.free.fr...
> > Tiens, j'y pense. J'ai jamais essayé de subclasser le fenêtre du
bureau...
> Vous n'auriez pas un cas d'utilisation ?
Non. c'était juste une idée comme ça. Un coup de SetWindowLong(
GetDesktopWindow() ) et on devrait vitre être fixé.
While getmessage(uMSG, Cnv.Handle, WM_PAINT, WM_PAINT) Do Begin tlog:= tlog+ '0'; If Length(tlog) > 100 Then Begin Showmessage(tlog); Exit; End; End;
ça me permet de tester périodiquement, ici le plus vite possible jusqu'à 100 itérations si le message wm_paint est passé au handle sélectionné. Je suis sûr, qu'il y a moyen de faire plus popre.
Merci de vos suggestions.
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b43371$0$10010$
> > Tiens, j'y pense. J'ai jamais essayé de subclasser le fenêtre du bureau...
> Vous n'auriez pas un cas d'utilisation ?
Non. c'était juste une idée comme ça. Un coup de SetWindowLong( GetDesktopWindow() ) et on devrait vitre être fixé.
-- Aurélien REGAT-BARREL
Aurélien REGAT-BARREL
> En fait, je veux dessiner sur le bureau, voir redessiner une partie du bureau.
Il serait peut être bon alors de regarder du côté de Active Desktop (IActiveDesktop).
-- Aurélien REGAT-BARREL
> En fait, je veux dessiner sur le bureau, voir redessiner une partie du
bureau.
Il serait peut être bon alors de regarder du côté de Active Desktop
(IActiveDesktop).
"Aurélien REGAT-BARREL" a écrit dans le message de news: 41b45fe0$0$10045$
> En fait, je veux dessiner sur le bureau, voir redessiner une partie du > bureau.
Il serait peut être bon alors de regarder du côté de Active Desktop (IActiveDesktop).
-- Aurélien REGAT-BARREL
Aurelien REGAT-BARREL
> Rien trouvé. T'as une url ?
Ben c'est de la programmation COM. http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/ifaces/iactivedesktop/iactivedesktop.asp http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/activedesktop.asp
Mais j'ai jamais testé, ActiveDesktop faut l'activer et y'en a que ça gêne. Tu pourrais aussi regarder du côté des softs qui affichent des infos sur le bureau genre température du CPU, etc... Tiens, je viens de trouver ça: http://vapaa.dc.inet.fi/~rainy/index.php?pn=projects&project=rainlendar Ca a l'air d'être ce que tu cherches, et y'a le source...
-- Aurélien REGAT-BARREL
> Rien trouvé. T'as une url ?
Ben c'est de la programmation COM.
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/ifaces/iactivedesktop/iactivedesktop.asp
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/activedesktop.asp
Mais j'ai jamais testé, ActiveDesktop faut l'activer et y'en a que ça gêne.
Tu pourrais aussi regarder du côté des softs qui affichent des infos sur le
bureau genre température du CPU, etc...
Tiens, je viens de trouver ça:
http://vapaa.dc.inet.fi/~rainy/index.php?pn=projects&project=rainlendar
Ca a l'air d'être ce que tu cherches, et y'a le source...
Ben c'est de la programmation COM. http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/ifaces/iactivedesktop/iactivedesktop.asp http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/activedesktop.asp
Mais j'ai jamais testé, ActiveDesktop faut l'activer et y'en a que ça gêne. Tu pourrais aussi regarder du côté des softs qui affichent des infos sur le bureau genre température du CPU, etc... Tiens, je viens de trouver ça: http://vapaa.dc.inet.fi/~rainy/index.php?pn=projects&project=rainlendar Ca a l'air d'être ce que tu cherches, et y'a le source...
-- Aurélien REGAT-BARREL
Merci pour ces liens
"Aurelien REGAT-BARREL" a écrit dans le message de news: 41ba22ab$0$21373$
Mais j'ai jamais testé, ActiveDesktop faut l'activer et y'en a que ça
gêne.
Tu pourrais aussi regarder du côté des softs qui affichent des infos sur
le
bureau genre température du CPU, etc... Tiens, je viens de trouver ça: http://vapaa.dc.inet.fi/~rainy/index.php?pn=projects&project=rainlendar Ca a l'air d'être ce que tu cherches, et y'a le source...
-- Aurélien REGAT-BARREL
Merci pour ces liens
"Aurelien REGAT-BARREL" <nospam.aregatba@yahoo.fr.invalid> a écrit dans le
message de news: 41ba22ab$0$21373$626a14ce@news.free.fr...
Mais j'ai jamais testé, ActiveDesktop faut l'activer et y'en a que ça
gêne.
Tu pourrais aussi regarder du côté des softs qui affichent des infos sur
le
bureau genre température du CPU, etc...
Tiens, je viens de trouver ça:
http://vapaa.dc.inet.fi/~rainy/index.php?pn=projects&project=rainlendar
Ca a l'air d'être ce que tu cherches, et y'a le source...
Mais j'ai jamais testé, ActiveDesktop faut l'activer et y'en a que ça
gêne.
Tu pourrais aussi regarder du côté des softs qui affichent des infos sur
le
bureau genre température du CPU, etc... Tiens, je viens de trouver ça: http://vapaa.dc.inet.fi/~rainy/index.php?pn=projects&project=rainlendar Ca a l'air d'être ce que tu cherches, et y'a le source...