GESTIONNAIRE DE RÉSOLUTION PAR SESSION [XP]

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 - 9 août 2004 à 18:43
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 - 24 mai 2006 à 17:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/25288-gestionnaire-de-resolution-par-session-xp

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
24 mai 2006 à 17:52
pas résolu uniquement pour des raisons de compilateurs....
jai installé VS2005 et jai un peu peur de toucher a cette source avec :(
jai trouvé la solution entre tps mais je lai pas update dans le code, si jai le courage je my collerais (a moins que le projet soit ouvrable sans probleme sous VS2005 et que je trouve comment gérer tout ca en restant en code non managé, etc...)
merci en tous cas ;)
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 mai 2006 à 10:04
Bon apparemment tu ne l'as pas résolu :)...
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 mai 2006 à 10:01
T'as résolu le problème de systray lors du crash de l'explorer ???
J'ai pas tout suivi lol
En tout cas j'ai pas vu de mise à jour à ce propos

Sinon :

UINT WM_TASKBARCREATED = RegisterWindowMessage("TaskBarCreated");
Et après suffit de traiter le message WM_TASKBARCREATED mais en dehors de ton switch de traitement de message...

J'ai pas regardé le code désolé, j'suis en cours là lol :)
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
20 sept. 2004 à 10:52
je post juste pour ceux qui voudraient des nouvelles du soft (bon ok, on peut tjs rever, cest bien de se faire des illusions), voila une version quasi sans bugs....reste juste le pb de redessinement en cas de plantage dexplorer.....mais bon cest pas dramatique...voila. merci a tous ceux qui m'ont aidé
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
31 août 2004 à 16:30
voit mon tut sur les .inf

++
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
31 août 2004 à 16:03
comment ca desinstallation? moi je veux bien.....mais si tu m'explique
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
31 août 2004 à 15:32
ben désinstalllation

t'aurais po un esprit d'escalier toi?
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
31 août 2004 à 15:21
ah et aussi faudriat ke je pense a faire une fonction pr supprimer ttes les traces du prog (les 2 fichiers de config, et la clé de registre) au cas ou qqun qui a pas le source ou ki le comprend pas puisse effacer les traces, mais avant de le faire faut ke je réfléchisse comment proposer cette option de maniere intelligente.....
si vous avez une idée pour ca faites men part
(un bouton ds mon dialog serait pas super, et une option ds mon menu pop-up, chui pas sur ke ca soit top non plus......)
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
31 août 2004 à 13:58
si aussi vous pouviez me donner un estimation de ce que vous pensez que ce prog devrait consommer comme ressources, pour vous, que j'arrive a visualiser un peu mieux......ke je voie, paske j'ai l'impression ke ca prend bcp (et on me l'a dit aussi), mais j'aimerais avoir un pt de repère...
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
31 août 2004 à 12:45
bon dc pr ke mon prog soit réellement fini, il manque quelques détails, j'attend dc votre aide :
-enlever ce putain d'icone de alt-tab
-informer windows que la résolution a été changée pour éviter un certain nombre de bugs par la suite
-intercepter le message de windows qui dit qu'il faut redessiner la systray (paske en cas de plantage d'explorer, mon icone se remet pas ds la systray et mon prog est plus accessible).
voila, j'attend vos solutions a ces petits pbs, et apres on pourra dire que mon programme n'est plus buggé (du moins je crois), il ne manquera plus qu'a rendre le code plus propre (et potentiellement trouver pk il prend autant de ressources)
merci d'avance a ceux qui m'aideront (et merci a tous ceux qui m'ont deja bien aidé)
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
30 août 2004 à 09:43
mdr...

Ds MP: qd j'active le module traduction & que je suis ds des sous boites de question...
Je disparais du alktTab alors que je suis 2* ds la barre des taches

...

C l'histoire du fou qui s'accroche a son pinceau...
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
29 août 2004 à 12:57
AlexMAN > tu me repasse le lien stp? je vais récup ta source et revérififer......mais la ca me gave. en attebdat d'avoir une illumination, je resoud les autres bugs ki restent.....lol. des ke tu me repost le lien je m'y attaque
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
29 août 2004 à 12:15
leprov > Kler ke tu dois devenir fou ! perso, ca marche kan je mets ds le systray ma dialog, jt'avais donné un lien vers ma source pour les fonctions systray, verifie au param pres, paske c bizar kan mm ;)
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
28 août 2004 à 16:01
Moi ça marche pour mes fenetres mais je programme jamais ou pratiquement jamais en dialog.

PS : J'ai pas Visual mais Dev !!!
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
28 août 2004 à 13:18
putain je me rend fou avec ce truc!!!! bon résumons. j'appelle ma dialogbox en dialogboxparam et je la rend invisible et la met ds la systray, mais elle est quand meme ds le alt-tab......y'a pas une autre solution, une feinte a la con????
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 19:27
bé non ca marche pas : cf mon post précédent, ca me lance la dialogbox que jai créé en ressource qui est incontrolable (et je sais pas pk ca me la lance), aucun des controles est vérifié puisque la proc est pas appelé, alors je sais pas pk ca me la lance, et de plus je l'ai tjs ds alt tab....une idée de ce qui se passe, ou une autre idée a proposer pour ca?
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
27 août 2004 à 17:31
po bete...

ça marche?
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 17:26
si je fais ca ca fait strictement nimporte koi : ca laisse ds alt tab, et ca me lance une instance de ma fenetre des propriétés ki est en ressources ki est incontrolable (forcement).............
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
27 août 2004 à 17:16
Tu me remplace :
// on rend invisible le dialog
WINDOWPLACEMENT My_Hwnd;
My_Hwnd.length = sizeof(WINDOWPLACEMENT);
My_Hwnd.showCmd = SW_HIDE;
SetWindowPlacement(hWnd,&My_Hwnd);
break;
par :
ShowWindow(hWnd,SW_HIDE);
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 17:13
BOOL CALLBACK MainDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
// initialisation de la boite de dialogue (on ajoute le prog a la systray)
case WM_INITDIALOG:
HwndSys = hWnd;
SetClassLong(hWnd, GCL_HICON, (long)LoadIcon(hInst, (LPCTSTR)IDI_ICONE));
AddIcone(hInst, hWnd, 2, MAKEINTRESOURCE(IDI_ICONE), "Gestionnaire de Résolution");

// on rend invisible le dialog
WINDOWPLACEMENT My_Hwnd;
My_Hwnd.length = sizeof(WINDOWPLACEMENT);
My_Hwnd.showCmd = SW_HIDE;
SetWindowPlacement(hWnd,&My_Hwnd);
break;
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
27 août 2004 à 17:12
oui HIDE au niveau de quand rien doit apparaître dans alt-tab
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 17:03
euh...deja ca serait plutot SW_HIDE si je me trompe pas, et puis.......a quel niveau?
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
27 août 2004 à 16:59
Je veux dire que pour pas que l'icone apparaisse dans alt-tab fait comme ce que je t'ai dit
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 16:55
????????keske tas voulu dire par la?
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
27 août 2004 à 16:50
Quand il doit pas être visible essai de faire un ShowWindow(hwnd,SW_SHOW);
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 16:43
bon voila reste plus que le bug du alt tab et le fait que ca prenne beaucoup de ressources, pour le reste, pas de bugs connus, en attendant qu'on m'aide a ce propos, je prépare une mise a jour qui permettra d'exploiter les résolutions: je m'explique: si la résolution de votre session est supérieure aux autres, vous etes obligés de garder vos icones ds la position de la résolution inférieure si vous voulez pas que votre bureau devienne bordélique, je vais donc voir pour sauvegarder/restaurer les positions des icones.....mais faut ke je potasse ca pr ke ca soit fait de maniere "intelligente"
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
18 août 2004 à 12:47
justement nono, si jai bien compris ce que tu viens de raconter on a le meme probleme. moi lance mon prog, sans lancer la fenetre des propriétés, et fait alt-tab, tu verras que mon prog apparait, aloors qu'il n'y a aucune fenetre, juste mon prog dans la systray. oui j'ai bien créé une dialogbox, mais je lai enlevé de la taskbar, alors a partir du moment ou elle est pas dans la taskbar, pourquoi elle est quand meme dans lat tab?????ca me semble assez obscur tt de meme
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
18 août 2004 à 09:57
victor
nan, a priori, C po ça....
G des boites de dialog qui sont bien ds le ctrl tab

il me semble que pr etre ds le tab ctrl , il faut etre ds la barre des taches...

et G d'ailleurs le soucis inverse de leProv

ds MP
G importé une boite créée pr un autre prj
et meme si je l'implémente en tant que boite modale, elle laisse crée une nvelle entrée ds la liste des taches et ds tab ctrl
[vs pouvez constatez ce pb en lançant le module traduction de MP !]

G po encore trouver le flag/les inst qui a permis d'activer tt ça...

++
Nono.
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
18 août 2004 à 09:50
C'est parceque tu a créé une boite de dialogue !

Perso je sais pas à quoi elle sert vu que j'ai pas tt compris au source du prog
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
17 août 2004 à 23:16
eh oui nono, un peu d'influence, en fait je savais pas que les exe etaient tolérés finalement, donc jai mis le .b a la fin, juste paske je lavais vu sur une de tes sources, dc ca ma inspiré.
victorcoasne, merci pour le 10/10, mais ya encore quelques trucs a faire sur le prog. a ma connaissance, le seul bug restant (j'en ai deja corrigé un paquet) est que le prog apparait dans le alt-tab....et je vois pas comment corriger ca (si vous avez des idées suis preneur), et je voudrais l'updater pour que ca sauvegarde-restaure les icones du bureau, bien pratique quand les autres sessions sont dans une résolution inférieure............
je corrigerais ca plus tard...bon j'update pour le .b, j'enleve ca de suite.
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
17 août 2004 à 17:52
.exe.b !!!! mdr !!!!!!!! excellent, je ne saV po que j'aV autant d'influence !!!!

bon, C po grav, il mettra a jour

si G eu fait ça, C qu'il fut un temps ou les exe n'étaient vraiement pas acceptés à l'upload...

maintenant, mm s'il est spécifié que C interdit, tt le monde le fait & ça fonctionne très bien

Magicalement mdr
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
17 août 2004 à 17:48
Je demande la Release parce que je suis fénéant et que j'ai pas Visual C++

PQ fénéant ? Parceque il faut l'adapter pour Dev


La release nickel (à part que au lieu de mettre ".exe" tu a mis ".exe.b") allez 10/10 !
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
17 août 2004 à 12:54
bon bah jai mis lexe en renommant l'extension et jai ^compilé en release, voila....
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
17 août 2004 à 12:42
lol......pk dl plus rapide? puisqu'on peux pas mettre l'exe et que dans mon zip jai pas mis le dossier debug, ya aucun des fichier intermediaires de la compil.....la moi pas comprendre
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
17 août 2004 à 12:41
Sont pas patients ces programmeurs..
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
17 août 2004 à 12:40
ben reduction de la taille du zip ! telechargement plus rapide !
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
17 août 2004 à 12:39
euh, question, dans le fait de poster ici en release, ca va changer quoi?
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
17 août 2004 à 12:36
ok, merci beaucoup
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
17 août 2004 à 12:35
ben en mode debug, le compilo inclut des "symbole de debuggage" ki vont aider ...au debuggage bien sur ! Donc l'exe au final est plus gros, en mode release, gain de taille, c tt.
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
17 août 2004 à 12:33
ok, mais ca va faire quoi exactement? c'est quoi le but, et ca va changer quoi? merci d'avance
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
16 août 2004 à 14:11
build -> set active config -> release
++
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
16 août 2004 à 11:58
euh............c'est a dire? dsl je maitrise pas encore trop visual....qu'est ce qu'il faudrait que je fasse? et dans quel but exact? merci d'avance de vos réponses
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
16 août 2004 à 11:39
Victorcoasne désirerait ke tu compil en mode release, pas en mode debug..
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
16 août 2004 à 11:22
release?
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
16 août 2004 à 09:51
Release SVP !
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
15 août 2004 à 12:52
sniff personne pour m'aider a ameliorer un peu le code? je voudrais juste comprendre pourquoi il prend autant de ressources, et savoir comment faire pour pas qu'il aparraisse dans le alt tab.....pour l'instant ca serait pas mal. apres a voir pour qu'il n'y ait qu'une seule instance possible pour mon prog, mais jai pas bien capté la source de brunews, et en plus de ca en la copiant collant comme un bourrin ca marche pas...help plz
brenntengel Messages postés 49 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 6 mai 2006
13 août 2004 à 19:57
Merci pour l'explication j'attend le UPDATE !!!

Allez A+ et Merci encore ;-)
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
13 août 2004 à 16:52
pour mettre l'icone ds la systray tu veux dire? bah si tu veux je fais une update du code avec un peu plus de commentaires des que j'ai le temps pour que tu vois. le seul truc, c'est que y'a un bug a ce propos dans mon prog, le prog est dans la systray, mais il apparait dans alt tab (cest dailleurs le bug qui me fait le plus chier et que j'aimerais resoudre assez vite....). je te fais ca des que j'ai le temps, sinon cherche dans les sources contenant "systray", y'en a un pacquet
brenntengel Messages postés 49 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 6 mai 2006
13 août 2004 à 16:43
Salut

Bahh moi je trouve ton travaille assez interessant
j'ai juste une question :

Comment inserer une icone dans la zone de notification
( celle ou il y'a le temps ...)

Merci !!
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
13 août 2004 à 12:37
quelqu'un sait pourquoi mon prog pompe autant de ressources???? moi en voyant mon prog, les seules ressources que j'ai l'impression de devoir pomper, c'est le chargement de l'icone de la systray dans un buffer, mes quelques variables globales, et l'auditeur d'évènement......alors pourquoi ca prend autant????la j'arrive pas a comprendre....merci d'avance
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
12 août 2004 à 07:45
le pb la est que jai pas la moindre idée dou peuvent venir mes conneries.....bon a part pr quelques trucs genre le prog peut etre lancé plusieurs fois pas de pbs, mais apres.....
comment faire pr pas ke mon prog apparaisse ds le alt-tab?
et surtt pk il prend autant de ressources, et pk il a tendance a lagger comme ca? il fait pas grd chose prtt?? cest paske jai craqué sur les ressources? mon code a pas lair trop lourd, alors je vois pas vraiment.....
ds un premier tps j'acheve de le rendre fonctionnel, afin de savoir ou je vais, apres je reprendrais le code de 0 pour le rendre performant....si vous trouvez des bugs que jai pas vu profitez en pr men faire part.
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
11 août 2004 à 12:27
ago => algo

généraliser pr créer ces propres biblis...
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
11 août 2004 à 12:22
parfaitement d'accord, mais ne js oublier l'obj n°1 : arriver à un résultat

ensuite bien commenter

puis refaire le code rien qu'avec les commentaires (ago...)

ça, C une méthode éprouvée

et au passage, ds la réécriture: généraliser créer ses propres bibli ...

Voila
++
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
11 août 2004 à 12:16
Parfois vaut mieux reprendre tout a zéro que de chercher l'erreur.
Surtout que les erreurs n'ont pas formcément une seule cause possible.

Shell
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
11 août 2004 à 12:11
bé le C/C++ ca va, le pb cest api et mfc, la ca va pas du tt..........cest vai kil est salement lent et kil prend masse de ressources, mais le truc cest que jen avais besoin, dc la cest fait, maintenant faut que je reprenne et que jameliore. je sais ke la prog cest pas de lintuitif, la le but etait ds un premier tps ke ca marche pr k;il soit utilisable, meme ds des conditions pas top. maintenant faut reprendre, mais la ca devient difficile avec mes connaissances....
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
11 août 2004 à 10:19
Oulalala,
Il est vraiment très lent ton programme pour se charger.
Et en plus de ca il bouffe pas mal de ressources pour ce que c'est!!!
Il lag tout seul sans que l'utilisateur n'est effectué de commande quelconque!

Ya vraiment pas mal de truc a revoir.

A mon avis mieux vaut tout reprendre depuis le départ et surtout apprendre C/C++ avant de te lancer la dedans.
La programmation c'est pas du pif ou de l'intuitif comme tu le dis.
Commence par comprendre les choses qur tu fais et peut etre que tout marchera ensuite comme tu le souhaites!

Shell
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
11 août 2004 à 10:13
réponse à une question posée 2* sur msn concernant l'utilisation et la construction des macros :

le fait de les entourer d'un "do{...}while(0)"
permet de les utiliser comme des instruction simple.
et d'imposer le ':' apres
autement, jamais ceci ne fonctionnerait

if(titre=="")
MACRO_INIT_TITRE("IDD_DQUESTION_TXT");
else
SetWindowText(titre);

++
Nono.
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
11 août 2004 à 09:37
extraction de réponse:

[MFC]
SetWindowText (msg);

[Win32]
SetWindowText(hwnd, szText);

no comment
en plus, récupérer le handle peut prendre du tps selon la maniere de s'y prendre....
(ex: utilisation de : GetDlgItem(ID) )


PS: l'utilisation de la macro permettait principalement les textes mis en formes (tabulations...)
avec l'utilisation de BString::convertTxtMisEnForme

et d'avoir un usage simple pour tout initialiser : tooltips, éléments de menus, noms des éléments des boites de dialogues & titre des fenetres.

Magicalement.
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
11 août 2004 à 07:45
il me semble que une fonction mise ds le header est comme une fonction inline => tu confondrais pas avec les définitions de fonctions membres dans les déclarations de classes en C++ des fois ?




#define MACRO_INIT_TITRE(STR_ID) do{\
BString msg;\
MACRO_GET_TXT_LANGUE(msg,STR_ID,false);\
SetWindowText (msg);\
}while(0)

ou

SetWindowText(hwnd, szText);

C moi qui suis complexe a présent => no comment ......
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
10 août 2004 à 19:57
bah disons que je compte le faire....je voulais apprendre sans mfc pr commencer, je sus contre le travail tout fait sans comprendre comment ca marche, mais la jen ai mis paske cest plus facile. le but etait pas "faire un prog tt beau tt propre", cetait lutilité qu'il avait chez moi, et ensuite par soucis de propreté, je cherche a le faire marcher correctement, apres je my met pr de vrai, la cest......disons un peu faire le prog dont jai besoin, pas forcement apprendre...mais c'est en projet....en attendant....si quelqu'un peut m'aider je suis toujours preneur....
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 août 2004 à 19:25
Faut commencer par le debut, apprendre a faire une dialog, une fenetre, etc... faire des tests et encore des tests mais ne pas vouloir pondre un prog complet au 1er coup, c'est bon en vb cela mais en C, pas question.
Lis Petzold et suis bien tous les chapitres sinon tu perdras du temps.
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
10 août 2004 à 19:16
bah je sais pas trop, disons ke jai pas forcement compris vraiment tou mon code.....ya des trucs qui sont plus intuitifs qu'autre chose....ya pas mal de portions de codes qui sont du copier coller modifié, dc tt est pas tres clair ds ma tete....a la rigueur regarde la sourcesi tas un peu de tps pr maider...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 août 2004 à 19:10
T'aurait pas une fenetre de demarrage non affichee ?
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
10 août 2004 à 19:00
thx jessaierais.....jai un pti bug aussi.......le prog apparait pas ds la taskbar, mais si je fais alt tab je le vois.....je vois pas dou ca viens.....quelqu'un a une idée?
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
10 août 2004 à 17:53
a mon avis, windows memorise ses changements, car il les stock en simultamné qqpart ds la BdR

test simple à faire : lance regedit & fait une sav totale
change la résol par une des 2 meth
resauve (ss un autre nom)

prend un outil bien (type UltraEdit & compare les 2 fic)
[si t'as po ça y en a un en std livré avec visual (WinDiff)]


recommence eventuellt avec l'autre meth...
++
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
10 août 2004 à 17:22
pour l'instant je blinde de protection mon programme pour pas que ca plante, je rendrais le code propre apres.
pour mon blocage jai compris ce qui se passait sans comprendre pourquoi. en fait mon prog modifie la résolution jusqu'au redemarrage de l'ordi, et a ce moment windows remet le résolution par défaut (sans utilisation du programme)....je sais pas pourquoi, mais en fait windows ne memorise pas le dernier reglage apres fermeture du programme, il ne mémorise que ceux qui sont éfféctués sans utlisation de mon prog....pourquoi j'en sais rien, mais c'est comme ca.
en ce qui concerne la mise a jour, je progresse lentement mais surement, deja deux updates mineures, avec correction de quelques bugs mineurs et quelques améliorations de présentation....la suite a venir, faut encore que je potasse tout ca vu que je débute...j'ai pas vu de commentaires en negatif, cest paske cest pas mal, ou paske pas assez de mode a regardé? les critiques minteressent, ca me permettra de progresser...merci d'avance
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
10 août 2004 à 14:37
pr ton pb de mails, regarde ptet les options de ton compte...

pour ton bloquage, je C po
sans lancer de sessions => sans lancer de session Windows, de session utilisateur, de ton appli ?????

be more specific !

autrement, la majorité des srces sont a poster ainsi, au niveau débutant... même si cela semble parfois évolué...

pour aider encore plus les novices, tu peut voir la norme de prog que j'ai produit ds ces pages (MétaProg)
et meme generer la doc

autrement, tu sais ou récupérer tes sources mis en forme & commenté dc j'espere que tu ns mettra prochainement a jours tout ça...

++
Nono.
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
10 août 2004 à 11:53
euh.........maintenant jai mon ecran ki est bloqué sur 1024*768 a force que jai fait mumuse avec le prog (je met en 800*600, je reboot, et ca se remet en 1024 tout seul, sans lancer de sessions, quelqu'un comprend????)
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
10 août 2004 à 03:22
au fait, je savais pas si je devais le poster en debutant. vous pensez ke j'ai eu raison ou que je sous estime le niveau de mon programme? et non je recois pas de mail kan ya des reponses (ou alors ca a du mal a transiter, mais pr le reste du site ca transit nickel...............mouais, et la marmotte......)
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 20:46
lol

CT pr élever subtilement le débat

(comprenne qui pourra car ce n'est certainement pas la bonne maniere....)
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 20:38
lol

C moi qui suis complexe a présent

C vrai, rien n'oblige les macros....

pour ceux qui veullent suivre
ce magnifique débat :
http://www.cppfrance.com/forum.v2.aspx?ID=273470&post=ok

++
magicalement....
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 août 2004 à 20:17
Pourquoi tu veux l'embrouiller avec des macros et des trucs mystiques ??? vraiment je ne pige pas.
SetWindowText(hwnd, szText);
voila c'est change, y pas besoin de tout un cirque pour cela.
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 19:47
rep HS : attd que ça transite... lol

MP : cf mes sources : MétaProg !!!! En gros, ton srce a été reformaté et commenté correctement en 15 secondes

j'essaierai... pr le inline

ceci dit , (la je dis ptet une betise), il me semble que une fonction mise ds le header est comme une fonction inline


voici les cas ou on ne pe po utiliser inline


You cannot force the compiler to inline a function when conditions other than cost/benefit analysis prevent it. You cannot inline a function if:

-The function or its caller is compiled with /Ob0 (the default option for debug builds).

-The function and the caller use different types of exception handling (C++ exception handling in one, structured exception handling in the other).

-The function has a variable argument list.

-The function uses inline assembly and is not compiled with /Og, /Ox, /O1, or /O2).

-Function returns an unwindable object by value and is not compiled with /GX, /EHs, or /EHa).

-The function receives a copy-constructed object passed by value, when compiled with /GX, /EHs,, or /EHa.

-The function is recursive and is not accompanied by #pragma(inline_recursion, on). With the pragma, recursive functions can be inlined to a default depth of eight calls. To change the inlining depth, use #pragma(inline_depth, n).
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 19:37
ah et non, ca marche pas un corp de fonction inline dans un cpp. essaie, tu verras. prend mon projet, passe les inline dans le cpp et enleve linclusion du hpp, tu verras la compilation, erreur a l'edition de liens...

(hors sujet, pk chui pas averti par mail alors que jai pas decoché??????)
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 19:34
ds mp? cest koi mp?
et jai toujours mis if!defined.......cest koi le pb avec cette macro?

et oui ca fonctionne tres bien les corps ds un .h, mais a la bvase le h ne sert qu'a mettre les proto, pas les corps, afin que l'utilisateur puisse les trouver facilement, les corps il s'en tape. c'est juste un principe§. et si je ne m'abuse, certains compilateurs ne laissent pas passer les corps dans le .h

et c'est quoi la metaprog? et pk faut ke je tenvoie un mail???je capte pas. precise ce que tu voulais dire stp.
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 19:20
mdr tu me leve une exception ds MP (une de sécu....)

#if!defined

j'étais js tombé dessus encore....

en général on utilise ifdef ifndef ...
cool, MP sera encore plus blindé, merci à toi pour cette fantaisie....
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 19:15
le mm proto voulais-je dire


y me semble avoir vu ce genre de choses sur le forum....

sinon, y en a qui ont fait des gestionnaires de taches ...

Communique moi un mail (par la messagerie de ce site!)
et je te rends ton code commenté par MétaProg

++
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 19:12
G trouvé ça ds le .h !!!!

//les fonctions inline sont ds le hpp:
//jamais de corps de fonction dans un h
//des inline ds un cpp, ca marchera pas
#include "CDev.hpp"

C faux, ça fonctionne très bien....

y suffit de bien mettre tjs le mm com....
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 19:12
le .h est le header, seulement j'ai des fonctions inline, donc je ne peux les mettres dans le cpp, sinon l'edition de liens ne passe pas, le programme ne trouve pas le corps des fonctions. hors, par principe, on ne met pas de code dans un fichier .h, donc on feinte en créant un "mix" entre h et cpp, le hpp
le h est donc le header du cpp, et aussi du hpp. je sais pas si c'est tres clair. le code est réparti dans le cpp pour les fonctions "normales", et dans un hpp on met toutes les fonctions génériques ou inline. voila

ps : autre bug, si on lance le programme 2 fois, ca fait tout marcher de travers, a corriger tout ca.......faudrait eviter de pouvoir le lancer 2 fois
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 19:07
surprenant, je note la présence de 2 fichiers : CDev.hpp & CDev.h

lequel est réellement le header de CDev.cpp

CDev.h d'après le include ?

mais....
C plus sur que tu réponde toi mm à cette question....
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 18:50
merci pour ce conseil deja.
autre update prevue que j'avais oubliée : détecter le nom d'utilisateur et l'ecrire aussi dans le fichier de config afin que ce programme puisse etre utilisé de plusieurs manieres différentes dans differentes sessions.
mais tout ca ca sera kan jaurais trouvé comment faire.
encore merci pour la contrib, et merci d'avance pour vos futurs commentaires, ca m'aidera a avancer et a savoir ou me situer
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 18:43
une contrib deja....

G po regardé le srce, mais ça devrait aller :

pr changer le titre de la fenetre : SetWindowText (leTitre);


personnellement, je n'utilise que cette macro :

/// --------------------------------------------------------
/// ---------------- MACRO : MACRO_INIT_TITRE ---------------
/// --------------------------------------------------------
/// ----- Objectif : initialise le nom de la fenetre
/// ----- Auteur(s) : Bruno CELLE 12/10/03
/// ----- PreCond : infos ds FICHIER_INI
/// ----- PostCond : /
/// ----- Etat : 1 (-1<0<1<2)
/// ----- Nota : info langue dans le fichier ini: ['param']'Langue' puis [langue choisie]
/// --------------------------------------------------------
/// ----- BString STR_ID : intitulé ds le fichier ini
/// --------------------------------------------------------
#define MACRO_INIT_TITRE(STR_ID) do{\
BString msg;\
MACRO_GET_TXT_LANGUE(msg,STR_ID,false);\
SetWindowText (msg);\
}while(0)

sachant que MACRO_GET_TXT_LANGUE a déjà été présentée sous le nom : GET_TXT_LANGUE du projet Traduction dans mes sources


++
Magicalement, Nono.

PS : j'attend des contrib pour le projet interface commune....
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 18:43
juste une petite précision sur le code :
si je recalcule a chaque ouverture de fenetre toutes les résolutions prises en charges par l'écran, c'est juste que ces calculs sont tres courts, j'avais le choix entre le calculer une bonne fois pour toutes et bouffer pendant toute la session une quantité de mémoire ridicule (12 octets pour le vector [4 octets pour le pointeur, + 4 octets pour la taille + 4 octets pour la capacité] + 3 * 4 octets par case du tableau [largeur+longueur+nombre de bits] * 12 (chez moi), soit un total de 156 octets....c'est ridicule comme place mais le temps de calcul de tout ca est ridicule aussi, donc a choisir, j'ai préféré refaire les calculs a chaque fois, dites moi ce que vous en pensez, j'attends vos commentaires et conseils.
Rejoignez-nous