Salut à tous... Quelqu'un peut il me dire si ce code fonctionne bien car quand je mets ce code en route l'ordinateur plante:
Il y a beaucoup d'occasions où il est agréable d'avoir une fenêtre popup qui montre le progrès d'une longue opération. L'incorporation d'une ressource de dialogue avec un progrès contrôle et un bouton annuler, reliant alors les messages de contrôle pour chaque projet vous povez voir que la fenêtre de progrès peut devenir monotone et malpropre. La classe CProgressWnd est une goutte simple dans la fenêtre qui contient un contrôle de progrès, un bouton s'annulant et un secteur de texte pour des messages. Le secteur de texte peut montrer 4 lignes de texte comme le défaut, bien que cela puisse être changé employant CProgressWnd :: SetWindowSize () (ci-dessous)
La construction se fait via le constructeur ou un processus à deux pas l'employant le constructeur et la fonction "OnCreate". "PParent" est le parent de la fenêtre de progrès, "strTitle" est le titre de titre de fenêtre. "BSmooth" seront seulement efficace si vous avez les fichiers de coup de tête(chute,en-tête) et commctrl32.dll de C'EST-À-DIRE 3.0 ou ci-dessus (aucuns problèmes pour Mme VC 5.0). Il indique(spécifie) si la barre(bar) de progrès sera lisse ou trapue.
int SetPos(int nPos); // Same as CProgressCtrl int OffsetPos(int nPos); // Same as CProgressCtrl int SetStep(int nStep); // Same as CProgressCtrl int StepIt(); // Same as CProgressCtrl void SetRange(int nLower, int nUpper, int nStep = 1); // Set min, max and step size
void Hide(); // Hide the window void Show(); // Show the window void Clear(); // Clear the text and reset the progress bar void SetText(LPCTSTR fmt, ...); // Set the text in the text area
BOOL Cancelled() // Has the cancel button been pressed?
void SetWindowSize(int nNumTextLines, int nWindowWidth = 390); // Sets the size of the window according to // the number of text lines specifed and the // desired window size in pixels.
void PeekAndPump(BOOL bCancelOnESCkey = TRUE); // Message pumping, with options of allowing // Cancel on ESC key.
La fonction de PeekAndPump permet aux messages d'être pompée pendant les longues opérations. Le premier paramètre permet à la fenêtre d'être annulé en appuyant la clef ESC. Vous pouvez aussi faire la fenêtre modale en créant la fenêtre et appelant GoModal (). Cela mettra hors de service la fenêtre principale et re-permettra la fenêtre principale quand cette fenêtre est détruite. Voir que l'appendice de démonstration code par exemple . La fenêtre stockera aussi et reconstituera(rétablira) sa position à et de l'enregistrement entre des incantations. Employer la fenêtre, font juste quelque chose dans le genre de : CProgressWnd wndProgress(this, "Progress" );
wndProgress.GoModal(); // Call this if you want a modal window wndProgress.SetRange(0,5000); wndProgress.SetText("Processing..." );
for (int i = 0; i < 5000; i++) { wndProgress.StepIt(); wndProgress.PeekAndPump();
if (wndProgress.Cancelled()) { MessageBox("Progress Cancelled" ); break; } }
Ou il peut être fait deux étape comme :
CProgressWnd wndProgress;
if (!wndProgress.Create(this, "Progress" )) return;
Mais au fait, je fais comment pour inclure commctrl32.dll car si je clique sur projectAddFiles to Folder et que j'aille chercher le dit fichier et que quand il est inclus dans le projet et que je clique dessus,cela fais comme si il n'y avait rien d'ecris....
D'ou viens l'erreur?? (Je suis sceptique quand j'ai entendu certains de mes camarades me dire que cela venait de la version edition du C++ que je possède)
VEUILLEZ EXCUSER LES PARLOTES EN FRANCAIS TOUT AU LONG DU TOPIC MAIS C'EST DE L'ANGLAIS TRADUIT , AUSSI ATTENTION
[edtdd]--Message édité par The Boss--[/edtdd]
--------------- A déserter sans risque, on périt sans gloire
Marsh Posté le 03-12-2001 à 16:08:07
Salut à tous...
Quelqu'un peut il me dire si ce code fonctionne bien car quand je mets ce code en route l'ordinateur plante:
Il y a beaucoup d'occasions où il est agréable d'avoir une fenêtre popup qui montre le progrès d'une longue opération. L'incorporation d'une ressource de dialogue avec un progrès contrôle et un bouton annuler, reliant alors les messages de contrôle pour chaque projet vous povez voir que la fenêtre de progrès peut devenir monotone et malpropre. La classe CProgressWnd est une goutte simple dans la fenêtre qui contient un contrôle de progrès, un bouton s'annulant et un secteur de texte pour des messages. Le secteur de texte peut montrer 4 lignes de texte comme le défaut, bien que cela puisse être changé employant CProgressWnd :: SetWindowSize () (ci-dessous)
Construction
CProgressWnd();
CProgressWnd(CWnd* pParent, LPCTSTR strTitle, BOOL bSmooth=FALSE);
BOOL Create(CWnd* pParent, LPCTSTR strTitle, BOOL bSmooth=FALSE);
La construction se fait via le constructeur ou un processus à deux pas l'employant le constructeur et la fonction "OnCreate". "PParent" est le parent de la fenêtre de progrès, "strTitle" est le titre de titre de fenêtre. "BSmooth" seront seulement efficace si vous avez les fichiers de coup de tête(chute,en-tête) et commctrl32.dll de C'EST-À-DIRE 3.0 ou ci-dessus (aucuns problèmes pour Mme VC 5.0). Il indique(spécifie) si la barre(bar) de progrès sera lisse ou trapue.
Operations
BOOL GoModal(LPCTSTR strTitle = _T("Progress" ), BOOL bSmooth=FALSE); // Make window modal
int SetPos(int nPos); // Same as CProgressCtrl
int OffsetPos(int nPos); // Same as CProgressCtrl
int SetStep(int nStep); // Same as CProgressCtrl
int StepIt(); // Same as CProgressCtrl
void SetRange(int nLower, int nUpper, int nStep = 1);
// Set min, max and step size
void Hide(); // Hide the window
void Show(); // Show the window
void Clear(); // Clear the text and reset the progress bar
void SetText(LPCTSTR fmt, ...); // Set the text in the text area
BOOL Cancelled() // Has the cancel button been pressed?
void SetWindowSize(int nNumTextLines, int nWindowWidth = 390);
// Sets the size of the window according to
// the number of text lines specifed and the
// desired window size in pixels.
void PeekAndPump(BOOL bCancelOnESCkey = TRUE);
// Message pumping, with options of allowing
// Cancel on ESC key.
La fonction de PeekAndPump permet aux messages d'être pompée pendant les longues opérations. Le premier paramètre permet à la fenêtre d'être annulé en appuyant la clef ESC. Vous pouvez aussi faire la fenêtre modale en créant la fenêtre et appelant GoModal (). Cela mettra hors de service la fenêtre principale et re-permettra la fenêtre principale quand cette fenêtre est détruite. Voir que l'appendice de démonstration code par exemple . La fenêtre stockera aussi et reconstituera(rétablira) sa position à et de l'enregistrement entre des incantations. Employer la fenêtre, font juste quelque chose dans le genre de :
CProgressWnd wndProgress(this, "Progress" );
wndProgress.GoModal(); // Call this if you want a modal window
wndProgress.SetRange(0,5000);
wndProgress.SetText("Processing..." );
for (int i = 0; i < 5000; i++) {
wndProgress.StepIt();
wndProgress.PeekAndPump();
if (wndProgress.Cancelled()) {
MessageBox("Progress Cancelled" );
break;
}
}
Ou il peut être fait deux étape comme :
CProgressWnd wndProgress;
if (!wndProgress.Create(this, "Progress" ))
return;
wndProgress.SetRange(0,5000);
wndProgress.SetText("Processing..." );
Peut-être parce que ils ont oublié un truc ...
Mais au fait, je fais comment pour inclure commctrl32.dll car si je clique sur project AddFiles to Folder et que j'aille chercher le dit fichier et que quand il est inclus dans le projet et que je clique dessus,cela fais comme si il n'y avait rien d'ecris....
D'ou viens l'erreur??
(Je suis sceptique quand j'ai entendu certains de mes camarades me dire que cela venait de la version edition du C++ que je possède)
VEUILLEZ EXCUSER LES PARLOTES EN FRANCAIS TOUT AU LONG DU TOPIC MAIS C'EST DE L'ANGLAIS TRADUIT , AUSSI ATTENTION
[edtdd]--Message édité par The Boss--[/edtdd]
---------------
A déserter sans risque, on périt sans gloire