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

  FORUM HardWare.fr
  Programmation
  C++

  Progress bars [MFC C++]

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Progress bars [MFC C++]

n°355011
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 17:27:50  profilanswer
 

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 :  

Code :
  1. //dans la fonction OnInitDialog()
  2. CProgressCtrl *Temp1;
  3. CProgressCtrl *Temp2;
  4. Temp1 = (CProgressCtrl *) GetDlgItem(IDC_ECHTEMP);
  5. Temp2 = (CProgressCtrl *) GetDlgItem(IDC_DFTEMP);
  6. Temp1->SetRange(0,60);
  7. Temp1->SetStep(1);
  8. Temp2->SetRange(0,60);
  9. Temp2->SetStep(1);
  10. //Dans une fonction qui gère le click sur un bouton
  11. int i,j;
  12. int cpt;
  13. i = 25;
  14. j = 30;
  15. CProgressCtrl *Temp1;
  16. CProgressCtrl *Temp2;
  17. Temp1 = (CProgressCtrl *) GetDlgItem(IDC_ECHTEMP);
  18. Temp2 = (CProgressCtrl *) GetDlgItem(IDC_DFTEMP);
  19. /*Temp1->SetRange(-60,0);
  20. Temp1->SetStep(1);
  21. Temp2->SetRange(-60,0);
  22. Temp2->SetStep(1);*/
  23. for (cpt = 0; cpt == i; cpt++)
  24. {
  25.  Temp1->StepIt();
  26. }
  27. for (cpt = 0; cpt == j; cpt++)
  28. {
  29.  Temp2->StepIt();
  30. }


 
 
PS : si jamais c débile, tapez moi [:lorill]
 

mood
Publicité
Posté le 07-04-2003 à 17:27:50  profilanswer
 

n°355016
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 17:30:54  profilanswer
 

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 :fou:


Message édité par Harkonnen le 07-04-2003 à 17:33:33

---------------
J'ai un string dans l'array (Paris Hilton)
n°355018
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 17:31:33  profilanswer
 

[:flclsd]

n°355026
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 17:36:44  profilanswer
 

mais pourquoi ca marche pas mon truc ?

n°355028
chrisbk
-
Posté le 07-04-2003 à 17:37:09  profilanswer
 

Citation :

 for (cpt = 0; cpt == i; cpt++)


Qu'est ce que c'est que ces conditions d'arret ? [:mlc]

n°355035
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 17:39:36  profilanswer
 

chrisbk a écrit :

Citation :

 for (cpt = 0; cpt == i; cpt++)


Qu'est ce que c'est que ces conditions d'arret ? [:mlc]
 


+1
 

Code :
  1. for (cpt=0; cpt <= i; cpt++)


 
est juste.


---------------
J'ai un string dans l'array (Paris Hilton)
n°355040
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 17:41:52  profilanswer
 

:??:  
Mais....
pourquoi ?
...
on la refait ?
d'abord, faut que je me tape un peu  [:lorill]  [:lorill]  
Après, heu.... ben, faut les changer ces conditions d'arret pardi...
 

Code :
  1. for (int i = 0 ; i <= ...
  2. //put1, g un gros trou de mémoire.... dans les for, c une  
  3. //condition d'arret "tant que" ou "jusqu'à ce que"...
  4. ...
  5. for (int cpt = 0 ; cpt <= i ; cpt++)


c'est mieux ? :D

n°355043
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 17:43:11  profilanswer
 

c'est juste. les conditions d'arrêt des boucles for sont des conditions "tant que"


---------------
J'ai un string dans l'array (Paris Hilton)
n°355045
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 17:43:14  profilanswer
 

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 ?

n°355046
chrisbk
-
Posté le 07-04-2003 à 17:43:17  profilanswer
 

tant que vrai tu fais la boucle

mood
Publicité
Posté le 07-04-2003 à 17:43:17  profilanswer
 

n°355053
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 17:46:43  profilanswer
 

backdafuckup a écrit :

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 ?


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...


---------------
J'ai un string dans l'array (Paris Hilton)
n°355056
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 17:48:06  profilanswer
 

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....
 [:synth] IUT !!!
T'as fait quoi comme formation toi ?

n°355061
chrisbk
-
Posté le 07-04-2003 à 17:49:37  profilanswer
 

Harkonnen a écrit :


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...


 
quequette ils avaient pas le net eux
 
Pis l'IUT C tres bien, jamais autant glander de ma vie [:ddr555]

n°355069
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 17:54:26  profilanswer
 

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...

n°355075
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 17:57:31  profilanswer
 

tain... on peut pas changer le texte d'un controle statique (moi chui un gars qui aime le vb, donc je dirais un label...) ?

n°355079
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 17:59:07  profilanswer
 

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...)


---------------
J'ai un string dans l'array (Paris Hilton)
n°355081
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 18:00:19  profilanswer
 

oui, mais c en C++ que je voulais moi... vb c acquis déjà.... :sarcastic:
 
enfin, en mfc, je voulais dire...


Message édité par backdafuckup le 07-04-2003 à 18:00:43
n°355083
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 18:00:29  profilanswer
 

backdafuckup a écrit :

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....
 [:synth] IUT !!!
T'as fait quoi comme formation toi ?


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.


---------------
J'ai un string dans l'array (Paris Hilton)
n°355085
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 18:00:59  profilanswer
 

chrisbk a écrit :


Pis l'IUT C tres bien, jamais autant glander de ma vie [:ddr555]


+1 :/


---------------
J'ai un string dans l'array (Paris Hilton)
n°355087
El_gringo
Posté le 07-04-2003 à 18:01:51  profilanswer
 

Harkonnen a écrit :

label.Text = "texte"
(ou label.Caption, j'ai un doute la...)


 
...pas très objet tout ça.
Et label.SetWindowText("ton titre de label" );
c pas mieux !?

n°355088
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 18:02:50  profilanswer
 

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)

n°355094
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 18:05:10  profilanswer
 

backdafuckup a écrit :

oui, mais c en C++ que je voulais moi... vb c acquis déjà.... :sarcastic:
 
enfin, en mfc, je voulais dire...


CStatic hérite de CWnd, donc tu peux utiliser la méthode SetWindowText de CWnd pour changer le texte de ton static
 
edit: grilled


Message édité par Harkonnen le 07-04-2003 à 18:06:16

---------------
J'ai un string dans l'array (Paris Hilton)
n°355097
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 18:05:56  profilanswer
 

El_gringo a écrit :


 
...pas très objet tout ça.
Et label.SetWindowText("ton titre de label" );
c pas mieux !?


En fait, c'est du VB, j'ai cru qu'il le voulait en VB :d


---------------
J'ai un string dans l'array (Paris Hilton)
n°355102
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 18:08:22  profilanswer
 

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 ??  :(

n°355103
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 18:10:28  profilanswer
 

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...).
 
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 ??  :(  


i = MaPBar->GetPos();
CString.format("%d", i);


Message édité par Harkonnen le 07-04-2003 à 18:11:16

---------------
J'ai un string dans l'array (Paris Hilton)
n°355106
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 18:15:59  profilanswer
 

t'as corrigé enfoiré....
 :fou:  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...

n°355108
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 18:17:07  profilanswer
 

et en plus quand je fais mon setwindowtext(i), il me dit qu'il peut pas le convertir de int à char *....

n°355111
backdafuck​up
Back to da old skool
Posté le 07-04-2003 à 18:19:02  profilanswer
 

:cry: ca marche paaaaaaaaaaaaaaaaaaaa  :cry:

n°355117
chrisbk
-
Posté le 07-04-2003 à 18:37:55  profilanswer
 

ben convertis ton int en char *
y'a pas SetDlgItemInt ou un truc du gout ?

n°355264
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-04-2003 à 22:46:36  profilanswer
 

backdafuckup a écrit :

:cry: ca marche paaaaaaaaaaaaaaaaaaaa  :cry:  


attends, quand je marque  
 

Code :
  1. CString.format("%d",i);


 
CString fait référence à l'instance de CString utilisée pour le SetWindowText !!
 
Donc, tu dois taper ceci :
 

Code :
  1. CString caption;
  2. CStatic label;
  3. int pos;
  4. pos = MaPBar->GetPos();
  5. caption.Format("%d", pos);
  6. label.SetWindowText(caption);


---------------
J'ai un string dans l'array (Paris Hilton)
n°355382
backdafuck​up
Back to da old skool
Posté le 08-04-2003 à 08:44:01  profilanswer
 

ah ben vu comme ca....
Bon, ben la oui, ca doit marcher, forcément...
Et oublie pas de regarder tes mails...
++ merci encore

n°355748
backdafuck​up
Back to da old skool
Posté le 08-04-2003 à 14:23:06  profilanswer
 

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...) [:tekways]

n°355752
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-04-2003 à 14:25:56  profilanswer
 

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...) [:tekways]  


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 !


---------------
J'ai un string dans l'array (Paris Hilton)
n°355772
backdafuck​up
Back to da old skool
Posté le 08-04-2003 à 14:35:40  profilanswer
 

ah ben moi g mis tout mon dossier..... j'ai pas cherché à comprendre désolé... bon, je te remaile tout ca. [:lorill]

n°355777
backdafuck​up
Back to da old skool
Posté le 08-04-2003 à 14:42:29  profilanswer
 

voila c mailé

n°356109
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-04-2003 à 21:14:12  profilanswer
 

Voila. J'ai pas testé car tu m'as pas envoyé le fichier de ressources. Mes commentaires sont dans ton source
 

Code :
  1. void CPremiereAppliDlg::OnSize(UINT nType, int cx, int cy)
  2. {
  3. CDialog::OnSize(nType, cx, cy);
  4. // TODO: Add your message handler code here
  5. // si le type de redimensionnement est une minimisation, on masque la fenêtre
  6. // et affiche l'icone dans le SysTray
  7. if (nType == SIZE_MINIMIZED) {
  8.  ShowWindow(SW_HIDE);
  9.  NOTIFYICONDATA nid;
  10.       nid.cbSize = sizeof(NOTIFYICONDATA);
  11.  //nid.hWnd = m_hWnd; FAUX !!!!
  12.  nid.hWnd = GetSafeHwnd(); // Juste !
  13.  //nid.uID = IDD_PREMIEREAPPLI_DIALOG; // tu sors ça d'ou ?  
  14.  nid.uID = 1; // c'est un identifiant d'icone qu'il faut mettre ici
  15.  nid.uFlags = NIF_ICON | NIF_MESSAGE;
  16.  strcpy(nid.szTip,"Chargement en cours..." );
  17.  nid.uCallbackMessage = WM_TRAYMESSAGE;
  18.  // nid.hIcon = m_hIcon; // FAUX !!!!
  19.  nid.hIcon = (HICON) AfxGetApp()->LoadIcon(IDR_MAINFRAME); // Juste !
  20.  // Shell_NotifyIcon(NIM_ADD,(_NOTIFYICONDATAA *)&nid); c'est quoi ce cast ??
  21.  VERIFY (TRUE == Shell_NotifyIcon(NIM_ADD, &nid); // plus simple, non ?
  22. }
  23. // c'est préférable d'effacer l'icone du SysTray en réponse au double clic sur l'icone !
  24. }


Message édité par Harkonnen le 08-04-2003 à 21:18:21

---------------
J'ai un string dans l'array (Paris Hilton)
n°356410
backdafuck​up
Back to da old skool
Posté le 09-04-2003 à 10:43:13  profilanswer
 

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  [:flclsd]  
Mais ca me dit toujours pas comment faire marcher mon popupmenu avec le click droit...  :pfff:  
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 !!! [:aras qui rit]

n°356419
backdafuck​up
Back to da old skool
Posté le 09-04-2003 à 10:53:25  profilanswer
 

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 :
  1. VERIFY(TRUE == Shell_NotifyIcon(NIM_ADD, &nid));


 
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...)...

n°356424
backdafuck​up
Back to da old skool
Posté le 09-04-2003 à 11:02:42  profilanswer
 

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 :
  1. VERIFY(TRUE == Shell_NotifyIcon(NIM_ADD, &nid));


 
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...)...

n°356451
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 09-04-2003 à 11:38:46  profilanswer
 

Bon, je regarderais ce soir


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Progress bars [MFC C++]

 

Sujets relatifs
Probleme fichier + MFCMFC appli qui plante
Faire fonctionner un programme MFC/C++ dans la zone de notificationMFC (C++)
[MFC] CList et class helpersou faire l'initialisation ? (MFC inside)
les evenements en MFCEvenement cliqué sur un bouton créé par programme (MFC) ?
[MFC VC6] Controle de rendu graphiqueCréation de fenêtre MFC...
Plus de sujets relatifs à : Progress bars [MFC C++]


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