Bonjour à tous !
Je developpe actuellement un controle activex qui contient une boite de dialogue contenant un bouton Cancel et une progressBar, cette boite dialogue permet de suivre le cours d'un téléchargement.
Mon problème vient du fait que je crée ma boite de dialogue en faisant :
Dans mon object CProgressBar, j'ai deux objets un CProgressCtrl et un Button. Voici son constructeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void CTransfer::ShowDialog() { myProgrBar = new CProgressBar(); if(myProgrBar != NULL) { BOOL ret = myProgrBar ->Create(IDD_PROGRESSBAR); if(!ret) AfxMessageBox("Error creating Dialog"); myProgrBar->ShowWindow(SW_SHOW); } }
Mon problème c'est que j'ai l'impression de ne pas avoir la main pour pouvoir appuyer sur le bouton Cancel, il y a même des fois où le bouton n'apparait pas. Je pense qu'il faudrait faire l'équivalent du "DoEvent" en VB pour que tout rentre dans l'ordre mais je ne sais pas si c possible avec VC++. Si vous avez des idées pour résoudre mon problème n'hesitez pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 BOOL CProgressBar::OnInitDialog() { m_buttonCancel = new CButton(); m_buttonCancel->Create("Cancel",WS_VISIBLE|BS_PUSHBUTTON, CRect(149,62,249,90), this, 1); m_progrCtrl = new CProgressCtrl(); m_progrCtrl->Create(WS_VISIBLE|PBS_SMOOTH, CRect(7,20,540,60), this, 1); m_progrCtrl->SetStep(8); return TRUE; }
Merci d'avance
Partager