Problème de GROS débutant : DeviceContext et dessin...
tempirate
Messages postés5Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention10 octobre 2003
-
6 oct. 2003 à 21:02
tempirate
Messages postés5Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention10 octobre 2003
-
10 oct. 2003 à 19:12
Je débute en visual c++ (amateurisme total) et j'ai commencé par faire un tout ptit logiciel de dessin..mais je n'arrive pas à trouver une fonction qui effacerait la fenêtre... DeleteDC je pense, mais si c'est ca je n'arrive pas à l'utiliser car ca n'a aucun effet.
char lsChar; //La touche de caractère qui est appuyée
HCURSOR lhCursor; //Handle sur le curseur à afficher
//Convertit la valeur de la touche appuiée en un caractère
lsChar = char(nChar);
//Caractère "A"
if(lsChar == 'A')
{
//Arrete le timer
KillTimer(ID_SIZE_TIMER);
//affiche la fenetre de messages et récupere le résultat
if(m_dCtmDlg.DoModal() == IDOK)
{
m_iBlue=m_dCtmDlg.m_iBlueValue;
m_iGreen=m_dCtmDlg.m_iGreenValue;
m_iRed=m_dCtmDlg.m_iRedValue;
//OK cliqué, on récupère donc les valeurs
switch (m_dCtmDlg.m_iOption) {
case 0:
m_iPvalue = 1;
SetTimer(ID_SIZE_TIMER,m_iInterval,NULL);
break;
case 1:
m_iPvalue = 2;
break;
case 2:
m_iPvalue = 3;
break;
case 3:
m_iPvalue = 4;
break;
case 4:
m_iPvalue = 5;
break;
case 5:
m_iPvalue = 10;
break;
case 6:
m_iPvalue = 15;
break;
case 7:
m_iPvalue = 20;
break;
default:
m_iPvalue = 2;
break;
}
}
}
//Caractère "X"
if(lsChar == 'X')
{
//Charge le curseur de type flèche
lhCursor = AfxGetApp() -> LoadStandardCursor(IDC_ARROW);
//Affiche le curseur à l'écran
SetCursor(lhCursor);
//Quitte l'application
OnOK();
}
//Caractere C
if(lsChar == 'C')
{
CClientDC dc(this);
ReleaseDC(this,dc);
}
//FIN DE MON CODE
CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
-------------------------------------------------------
La fenetre enfant n'a pas de code, juste des variables membres pour les controles
Comme vous pouvez voir c'est plus que basique... et histoire de tirer sur la corde, si vous pouviez me dire mes erreurs stupides, ou les barbarismes que j'ai pu faire...
merci ! (et bravo pour ce gros site qui m'a bien aidé)
A voir également:
Problème de GROS débutant : DeviceContext et dessin...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 6 oct. 2003 à 21:38
DeleteDC n'est a employer que pour liberer un DC alloue par CreateDC ou CreateCompatibleDC.
InvalidateRect peut te servir pour ton background.
BruNews, ciao...
tempirate
Messages postés5Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention10 octobre 2003 7 oct. 2003 à 18:30
sinon petite question en passant : comment je supprime l'objet dc que j'ai crée ? et cela-va-til réinitialiser ma fenetre de dessin ? ca serait plus simple que de tout refaire.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 oct. 2003 à 18:42
DeleteDC ou ReleaseDC suivant la fonction employee pour obtenir le DC. Le liberer n'a rien a voir avec l'erase background.
Tu devrais prendre ce bouquin sur:
http://perso.wanadoo.fr/persans-brunews/ CP5.zip et CP5Sources.zip
Tu y trouveras tout ce dont tu as besoin.
BruNews, ciao...
Vous n’avez pas trouvé la réponse que vous recherchez ?