Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2930 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  API AnimateWindows( ) affiche en noir.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

API AnimateWindows( ) affiche en noir.

n°2192209
HERIBERT
Posté le 30-05-2013 à 11:25:09  profilanswer
 

Bonjour à tous :)
 
J'ai un petit bug à corriger, mais j'ignore d'où il vient. Ce code fonctionnerait parfaitement :  
 

Code :
  1. procedure TForm1.FormShow(Sender: TObject);
  2. begin
  3.       FormCenter;
  4.       AnimateWindow(Handle, 250, SW_SHOWMINNOACTIVE or AW_ACTIVATE);
  5.       Form1.Show;
  6.       Form1.Repaint;
  7. end;


 
s'il ne m'affichait pas le bord de la fenêtre en noir, durant le déploiement ! Et ça, je n'arrive pas à le copier en photo-écran.  
 
Où se situe mon bug ?  
 
Merci :hello:
 

mood
Publicité
Posté le 30-05-2013 à 11:25:09  profilanswer
 

n°2192259
tpierron
Posté le 30-05-2013 à 15:52:41  profilanswer
 

HERIBERT a écrit :

Bonjour à tous :)
J'ai un petit bug à corriger, mais j'ignore d'où il vient. Ce code fonctionnerait parfaitement :  

Code :
  1. procedure TForm1.FormShow(Sender: TObject);
  2. begin
  3.       FormCenter;
  4.       AnimateWindow(Handle, 250, SW_SHOWMINNOACTIVE or AW_ACTIVATE);
  5.       Form1.Show;
  6.       Form1.Repaint;
  7. end;




Purée, 20 minutes pour comprendre que cette fonction n'aimait pas le style WS_EX_COMPOSITED (sans rapport avec ton problème cela dit). Tu as du te gourer dans les flags passés en 3ème paramètre à la fonction AnimateWindow(). SW_SHOWMINNOACTIVE est un flag propre à ShowWindow(), les flags propres à AnimateWindow() sont listés ici :
 
http://msdn.microsoft.com/en-us/li [...] 85%29.aspx

n°2192269
HERIBERT
Posté le 30-05-2013 à 16:06:33  profilanswer
 

OK ;) Merci pour tout : je vais voir ça :heink:

n°2192275
HERIBERT
Posté le 30-05-2013 à 16:33:11  profilanswer
 

tpierron a écrit :


Purée, 20 minutes pour comprendre que cette fonction n'aimait pas le style WS_EX_COMPOSITED (sans rapport avec ton problème cela dit). Tu as du te gourer dans les flags passés en 3ème paramètre à la fonction AnimateWindow(). SW_SHOWMINNOACTIVE est un flag propre à ShowWindow(), les flags propres à AnimateWindow() sont listés ici :
 
http://msdn.microsoft.com/en-us/li [...] 85%29.aspx


 
Ca reste noir sur les bords. Cette fois, avec une bidouille sur les paramètres, j'ai pu fixer la fenêtre avec ses bords noirs, pour la prendre en photo :  
 
http://hfr-rehost.net/self/b95f109fc038838edf7d0fed56c61b5cecfb44a5.png
 
 
Le problème, c'est qu'il y a tant de paramètres que, même en traduisant en français, pas évident de savoir lequel rajouter. Par empirisme, j'en ajoute un peu bau hasard... Il doit bien y avoir des milliers de combinaisons  :pt1cable:  

n°2192281
tpierron
Posté le 30-05-2013 à 16:52:45  profilanswer
 

HERIBERT a écrit :

Le problème, c'est qu'il y a tant de paramètres que, même en traduisant en français, pas évident de savoir lequel rajouter. Par empirisme, j'en ajoute un peu bau hasard... Il doit bien y avoir des milliers de combinaisons  :pt1cable:  


Hmm, il n'y a pas tant de combinaison que ça. En général un fond noir, c'est parce que un WM_PAINT ou WM_ERASEBKGND a été mal géré (genre absense de HBRUSH sur la classe de la fenêtre (WNDCLASS.hbrBackground)).

n°2192287
HERIBERT
Posté le 30-05-2013 à 17:27:34  profilanswer
 

Bizarre. C'est la classe TFom, sans modification. Et la propriété HBRUSH ou .hbrbackground est sans doute définie dans le source-même des TForm Delphi ?  
 
On peut modifier ça sur une Form, sans détraquer quoi que ce soit ?  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  API AnimateWindows( ) affiche en noir.

 

Sujets relatifs
Utilisation Google Email Setting APIAPI google Maps (StreetViewPanorama) [RESOLU]
Highcharts : gauge ne s'affiche pasOutlook 2010- Affiche le serveur expediteur (Ret.path et From OK)
Comment créer une page web qui affiche tout les images d'un fichier ?form1 ne s'affiche pas depuis form2
nav déclaré dans header s'affiche en dehors...[FB]appli Facebook et https
Problème d'affiche de flux TwittterAPI web service
Plus de sujets relatifs à : API AnimateWindows( ) affiche en noir.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR