Progress bars [MFC C++] - C++ - Programmation
Marsh Posté le 07-04-2003 à 17:30:54
MSDN est dispo en ligne : http://msdn.microsoft.com
Sinon t'as CodeProject et CodeGuru qui sont très bien. Par exemple : http://www.codeproject.com/miscctrl/#Progress Controls
Edit: les signets avec les espaces, c'est mal
Marsh Posté le 07-04-2003 à 17:37:09
Citation : for (cpt = 0; cpt == i; cpt++) |
Qu'est ce que c'est que ces conditions d'arret ?
Marsh Posté le 07-04-2003 à 17:39:36
chrisbk a écrit :
|
+1
Code :
|
est juste.
Marsh Posté le 07-04-2003 à 17:41:52
Mais....
pourquoi ?
...
on la refait ?
d'abord, faut que je me tape un peu
Après, heu.... ben, faut les changer ces conditions d'arret pardi...
Code :
|
c'est mieux ?
Marsh Posté le 07-04-2003 à 17:43:11
c'est juste. les conditions d'arrêt des boucles for sont des conditions "tant que"
Marsh Posté le 07-04-2003 à 17:43:14
ah ben g été un peu long...
Harkonnen programme plus vite que son ombre...
Dis moi harkonnen, je t'ai vu poster sur à peu près tous les langages.. tu fais quoi dans la vie ? reclu dans une cave avec une connexion au net ou un vrai métier ?
Marsh Posté le 07-04-2003 à 17:46:43
backdafuckup a écrit : ah ben g été un peu long... |
je fais partie des ces galériens des temps modernes que l'on appelle "analystes programmeurs" ou encore "développeurs"... à coté de ce boulot, les vassaux du moyen age étaient des seigneurs...
Marsh Posté le 07-04-2003 à 17:48:06
ne me dis pas ca... je sors d'iut....
je suis sensé en etre un moi aussi...
Apparement, on a pas appris les memes choses, ou alors g vraiment rien retenu moi....
IUT !!!
T'as fait quoi comme formation toi ?
Marsh Posté le 07-04-2003 à 17:49:37
Harkonnen a écrit : |
quequette ils avaient pas le net eux
Pis l'IUT C tres bien, jamais autant glander de ma vie
Marsh Posté le 07-04-2003 à 17:54:26
c clair....
Tain il est pourrave ce bouquin de mfc...
chui allé voir sur msdn, au lieu de trimer à faire des for pour incrémenter ta barre de 1 à chaque fois, tu fais SetPos(int indice);
quel con ce mike blaszczak...
Marsh Posté le 07-04-2003 à 17:57:31
tain... on peut pas changer le texte d'un controle statique (moi chui un gars qui aime le vb, donc je dirais un label...) ?
Marsh Posté le 07-04-2003 à 17:59:07
backdafuckup a écrit : tain... on peut pas changer le texte d'un controle statique (moi chui un gars qui aime le vb, donc je dirais un label...) ? |
label.Text = "texte"
(ou label.Caption, j'ai un doute la...)
Marsh Posté le 07-04-2003 à 18:00:19
oui, mais c en C++ que je voulais moi... vb c acquis déjà....
enfin, en mfc, je voulais dire...
Marsh Posté le 07-04-2003 à 18:00:29
backdafuckup a écrit : ne me dis pas ca... je sors d'iut.... |
Pareil que toi, mais j'y ai strictement rien appris. Ce que je savais, je l'ai appris en pur autodidacte. L'IUT m'a juste permis d'avoir ce que les décideurs adorent, souvent au détriment des réélles compétences : le diplôme.
Marsh Posté le 07-04-2003 à 18:00:59
chrisbk a écrit : |
+1
Marsh Posté le 07-04-2003 à 18:01:51
Harkonnen a écrit : label.Text = "texte" |
...pas très objet tout ça.
Et label.SetWindowText("ton titre de label" );
c pas mieux !?
Marsh Posté le 07-04-2003 à 18:02:50
l'iut, après deux ans, je trouve que ca ressemble plus à une grande blague.. Je suis en train de faire mon stage (pour la validation du diplome of course) au cnrs (enfin au cemes, c un labo antenne) le tout en c++. Je trime comme c pas permis parce que les cours de c++ de l'iut ne m'ont rien appris...
Par contre chuis fort en cobol... (et encore)
Marsh Posté le 07-04-2003 à 18:05:10
backdafuckup a écrit : oui, mais c en C++ que je voulais moi... vb c acquis déjà.... |
CStatic hérite de CWnd, donc tu peux utiliser la méthode SetWindowText de CWnd pour changer le texte de ton static
edit: grilled
Marsh Posté le 07-04-2003 à 18:05:56
El_gringo a écrit : |
En fait, c'est du VB, j'ai cru qu'il le voulait en VB
Marsh Posté le 07-04-2003 à 18:08:22
oui... mais je t'explique, je voudrais que mon statique affiche la position de ma progress bar de tout à l'heure (je sais c chiant...).
Donc j'ai :
MonStatic->SetWindowText() qui attend un string...
Moi je veux afficher MaPBar->GetPos() qui renvoie un int...
Comment on cast d'un int à un CString ??
Marsh Posté le 07-04-2003 à 18:10:28
backdafuckup a écrit : oui... mais je t'explique, je voudrais que mon statique affiche la position de ma progress bar de tout à l'heure (je sais c chiant...). |
i = MaPBar->GetPos();
CString.format("%d", i);
Marsh Posté le 07-04-2003 à 18:15:59
t'as corrigé enfoiré....
t'avais mis %i au départ... je comprenais pas..
Mais il me dit kan meme qu'il me mank un ';' avant '.' du format...
je v réessayer...
Marsh Posté le 07-04-2003 à 18:17:07
et en plus quand je fais mon setwindowtext(i), il me dit qu'il peut pas le convertir de int à char *....
Marsh Posté le 07-04-2003 à 18:37:55
ben convertis ton int en char *
y'a pas SetDlgItemInt ou un truc du gout ?
Marsh Posté le 07-04-2003 à 22:46:36
backdafuckup a écrit : ca marche paaaaaaaaaaaaaaaaaaaa |
attends, quand je marque
Code :
|
CString fait référence à l'instance de CString utilisée pour le SetWindowText !!
Donc, tu dois taper ceci :
Code :
|
Marsh Posté le 08-04-2003 à 08:44:01
ah ben vu comme ca....
Bon, ben la oui, ca doit marcher, forcément...
Et oublie pas de regarder tes mails...
++ merci encore
Marsh Posté le 08-04-2003 à 14:23:06
harkonnen, si tu es la, as tu recu mon projet, et si oui, par le plus grand des hasards, y as tu jeté un oeil ? (pas trop fort kan meme, ca peut faire mal...)
Marsh Posté le 08-04-2003 à 14:25:56
backdafuckup a écrit : harkonnen, si tu es la, as tu recu mon projet, et si oui, par le plus grand des hasards, y as tu jeté un oeil ? (pas trop fort kan meme, ca peut faire mal...) |
nan je l'ai pas reçu ! il fait plus de 3 Mo et mon compte est limité à 2 Mo ! tu y a mis quoi dedans ? je n'ai besoin que des sources, pas des binaires !
Marsh Posté le 08-04-2003 à 14:35:40
ah ben moi g mis tout mon dossier..... j'ai pas cherché à comprendre désolé... bon, je te remaile tout ca.
Marsh Posté le 08-04-2003 à 21:14:12
Voila. J'ai pas testé car tu m'as pas envoyé le fichier de ressources. Mes commentaires sont dans ton source
Code :
|
Marsh Posté le 09-04-2003 à 10:43:13
Je me permets, par les droits qui me sont conférés, d'être chiant une fois de plus. C cool, merci harkonnen pour ces précisions
Mais ca me dit toujours pas comment faire marcher mon popupmenu avec le click droit...
Parce que le double click gauche lui marche.
Quand je lance l'appli, il n'apparait pas, quand je clique sur minimize il apparait et la fenetre n'est pas dans la barre des taches, et quand je double clique sur l'icone, la fenetre réapparait (et l'icone disparait).
Certes, quand la fenetre réapparait, elle n'est pas active, mais tout de meme... ca ca marche.... Mais ce que je souhaite surtout, c faire marcher mon menu !!!
Marsh Posté le 09-04-2003 à 10:53:25
Je t'explique le cast que j'ai fait sur la ligne du Shell_NotifyIcon()...
J'ai fait ce que tu m'as écrit
Code :
|
et il m'affiche l'erreur suivante :
E:\GRISTI\PremiereAppli\PremiereAppliDlg.cpp(256) : error C2664: 'Shell_NotifyIconA' : cannot convert parameter 2 from 'struct CPremiereAppliDlg::_NOTIFYICONDATA *' to 'struct _NOTIFYICONDATAA *'
donc j'avais fait un cast... et avec ce cast ca marchait.
(l'erreur est la même avec ta syntaxe comme avec la mienne d'ailleurs...)...
Marsh Posté le 09-04-2003 à 11:02:42
Je t'explique le cast que j'ai fait sur la ligne du Shell_NotifyIcon()...
J'ai fait ce que tu m'as écrit
Code :
|
et il m'affiche l'erreur suivante :
E:\GRISTI\PremiereAppli\PremiereAppliDlg.cpp(256) : error C2664: 'Shell_NotifyIconA' : cannot convert parameter 2 from 'struct CPremiereAppliDlg::_NOTIFYICONDATA *' to 'struct _NOTIFYICONDATAA *'
donc j'avais fait un cast... et avec ce cast ca marchait.
(l'erreur est la même avec ta syntaxe comme avec la mienne d'ailleurs...)...
Marsh Posté le 09-04-2003 à 11:38:46
Bon, je regarderais ce soir
Marsh Posté le 07-04-2003 à 17:27:50
Quelqu'un connait il la manière dont on se sert des progress bars, qui apparement sont hyper simples à utiliser, mais moi j'y arrive pas...
J'ai les trois fonctions :
CProgressCtrl::SetRange();
CProgressCtrl::SetStep();
CProgressCtrl::StepIt();
mais je ne connais pas la syntaxe exacte (je n'ai pas msdn)
voici ce que j'ai fait :
PS : si jamais c débile, tapez moi