Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : WindowState [ Divers / Débutant(e) ] (OcHre)

samedi 16 décembre 2006 à 15:10:45 | WindowState

OcHre

Salut, je poste ce message parceque j'ai quelques problemes concernant WindowState à savoir que ma Form principale renvoie toujours wsNormal meme lorsque celle-ci est couchée...Voila mon code qui devrait s'executer:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if form1.windowstate=wsMinimized then
begin
flashwindow(application.handle,true);
exit;
end;
timer1.enabled:=false;
end;

Sauf que rien ne se passe, à l'inverse si j'essaye avec:

if form1.windowstate=wsNormal then

alors le code s'execute (sachant que le timer est activé une fois ma fenetre couchée)...
J'espère avoir été assez clair et remercie par avance ceux qui pourront m'aider (pour info je suis sur Delphi 7).

samedi 16 décembre 2006 à 17:20:36 | Re : WindowState

bv94

Bonsoir, mis à part le exit qui n'est pas très propre (utilise un simple else), le code devrait fonctionner. Ton soucis est ailleurs...

BV94

samedi 16 décembre 2006 à 17:34:43 | Re : WindowState

OcHre

Merci de ta reponse mais je ne pense pas que le probleme soit ailleurs, j'ai essayé ca :

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if form1.windowstate=wsNormal then
begin
showmessage('Normale');
end;
if form1.windowstate=wsMinimized then
begin
showmessage('Couchée');
end;
end;

Or il m'affiche quand meme le message Normale meme quand ma fenetre est couchée :/

samedi 16 décembre 2006 à 17:55:37 | Re : WindowState

florenth

Membre Club
Réponse acceptée !
Salut,

Ceci est du à un petit problème dans la conception de Delphi.
En fait, si tu réduis la fenetre principale de l'application, les propriétés WindowState de toutes les fiches reste nt inchangées.

Je ne sais pas ce que tu comptes faire avec cette propriété, mais à ma connaissance, le seul moyen est de répondre à l'évenement OnMinimize et OnRestore d'un TApplicationEvents (palette "supplément") et donc de maintenir une variable Boolean pour savoir si la fenêtre principale est minimisée ou non.

Bonne chance,
Flo

PS: Même s'il est vrai qu'ici, le "exit" est un peu crade, il ne faut pas non plus chercher à l'éviter à tout prix. Il y a des fois où c'est réellement utile.


samedi 16 décembre 2006 à 18:27:26 | Re : WindowState

OcHre

Merci pour ta réponse je commencais à devenir nutz....
En l'occurence ici c'est juste pour faire clignoter la fenetre principale quand on recoit un message privé et que celle-ce est couchée (je code un client IRC basique).
Sinon je ne savais pas qu'exit était particulierement crade, j'essairais de l'utiliser avec parcimonie.
Merci encore.

lundi 18 décembre 2006 à 09:11:50 | Re : WindowState

Loda

Membre Club
sans vouloir rentrez dans un débat, "exit" n'est pas "crade". mais certains personnes, l'utilisent dans certain cas ou c'est pas très propre. Cela ne veut pas dire qu'il ne faut pas s'en servire. ça veux juste dire, qu'il faut s'en servir correctement. (comme toute les autre fonction d'ailleur)

Par exemple, cela reste un function que j'utilise beuacoup pour gerer des cas particulier/d'erreur, surtout dans des traitement complexe.

bon code,

Loda

Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.

lundi 18 décembre 2006 à 18:41:55 | Re : WindowState

florenth

Membre Club
Tout à fait d'accord avec Loda sur l'emploi du *exit* Cela reste, ni plus ni moins qu'une instruction, tout comme *break* ou *continue* et qui ne sont absolument pas crades à l'emploi dans la majeure partie des cas. C'est même plutôt le contraire puisqu'ils améliorent la lisibilité.

Il est particulièrement pratique lorsqu'il évite de longues contitions if...then qui prendraient toute la procédure. Surtout quand il est utlisé conjointement à des blocs try...finally.

Par contre, dans certains cas, son usage est un peu abusé (voir le premier code de OcHre), surtout lorsqu'on peut facilement le remplacer par des if...then...else if...then...else.

Par contre, et rien à voir, l'utilisation des *labels* et *goto* est complètement obsolète.

++




Cette discussion est classé dans : code, begin, windowstate, wsnormal, couchée


Répondre à ce message

Sujets en rapport avec ce message

Pb fermeture d'une appli ouverte à partir d'une autre [ par Sandrine ] Bonjour,J'ai une application qui possède un bouton permettant d'ouvrir une deuxième application (qui ne possède qu'une fenêtre affichant du texte cont .... TTreeView(2) [ par MAsterC ] Ok Merci ! Mais sa ne marche pas avec le "Selected" et avec le "Itemindex".Regarder ce code... :beginIf View.Items = 'Sons' then begin Form10.Tables.A cacher, hide, process, application, xp [ par Den ] voici un code trouvé sur le web, il devrait permettre de cacher le processus du gestionnaire des taches de XP, je ne sait pas l'utiliseret j'ai déposé Modifier des données dans un endroit precis dans un txt [ par nebularis ] Salut a tous,Je cherches un moyen de modifier des données dans un fichier TXT, ci-dessous c est ce j utiliser pour afficher les données qui se trouve pb sur delphi a la compilation need help !!! [ par shark1664 ] voila mon code c'est une requete qui récupère dans une table une ligne compète quand le code est pareil que ce que l'utilisateur a siasie et au niveau Tquery et code [ par bilou2000 ] bonjourj'ai une requete sql pour filtrer les affichage:SELECT *FROM basepicto01WHERE categorie IN ('N ')oK ca marche.seulement lorsque que je veux l' Y'a t'il un Bug ?! Car c'est vraiment bizarre - (Un Composant) [ par glt0732 ] Voila j'ai un gros big probléme, j'ai créer un composant qui fonctionne assez bien je doit dire, mais il se passe quelque chose de bizarre, Alors je v glut : redimensionement fenetre [ par stick059 ] Bonjour tout le monde !Voila, j'ai un petit problème avec le code suivant :program Template;uses Windows, Messages, glut, OpenGL Composant et Message Windows - Comment ? [ par glt0732 ] Voila j'ai un gros probléme, et même l'aide de Delphi ne m'a pas donnée la réponse, enfin si, mais ça marche pas ! Alors s'il vous plait Aidez-Moi. Un AND [ par sheorogath ] pourquoi ca marche pas if f=e AND Length(Form2.Edit1.Text)>6?"n'est pas mort ce qui semble a jamais dormir et en d'etrange t


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.