cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 11 juil. 2007 à 15:07
Salut,
Si tu tiens réellement à utiliser la MsgBox originale, tu dois pouvoir passer par du CreateWindow pour rajouter la checkbox... Mais tu risques d'en baver 100 fois plus que de faire une bête form comme le propose Renfield...
Y a tout ce qu'il faut dans les propriétés de la form pour la faire passer pour un MessageBox.
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 12 juil. 2007 à 13:26
"et, en prime, celui de mémoriser quelque part que ce choix a été fait !"
en fait pas du tout ...
quand tu créé un formulaire et que tu le lance avec le .ShowDialog() et non pas le .Show() si tu appelles pas le Destructeur de la classe en question (.Dispose()) les controle gardent leur valeurs en l'occurence ici la checkbox ne sera pas detruite et on pourra savoir si elle est coché ou non
il te suffit de créé un form avec les bouton que tu veux en reglant leur propriété "DialogResult" pour indique si il s'agit de Ok, Cancel, yes, no, abort ect ....
de mettre un label avec lequel tu peux modifié le texte .... enfin tu regle tout
et pour remplacer le messagebox.show() tu a 2 choix :
soit :
dim MaMsgbox as new SuperMsgBox("Mon texte" .... <enfin tte les info par exemple>)
select case MaMsgBox.Showdialog()
case ok
if mamsgbox.chk.Checked then
si oui ...
else
si non ....
end if
case ...
end select
(et pensez a afire un .dispose et =nothing)
sinon dans ta classe de supermsgbox tu rajoute un membre static qui ressemblerait a ca :
prublic/friend structure supermsgboxresult
dim result as dialogresult
dim checked as boolean
(autre info de retour)
end structure
public/Friend static function Show(texte as string ... <tous les membre des param>) as supermsgboxresult
dim toto as supermsgbox(<les info comme il faut>)
dim tata as supermsgboxresult
tata.result = toto.ShowDialog()
tata.checked = toto.chk.Checked
(autre info a recup, pensez a verifié selon les cas si le dialog result est bien le bon car il peut y avoir des contrainte)