Visual C++ : DialogBox et Bitmap
Résolu/Fermé
J'ai réalisé un programme en VisualC++ 6.0 comportant : une CDialog qui affiche des images bitmap (avec la classe CBitmap, CDC et CClientDC).
Mes problèmes sont les suivants :
1) lorsque j'affiche une image plus petite que la précédante, je m'aperçois que la précédante reste en dessous. Comment faire pour que l'image précédante disparaisse ? Quelles fonctions utiliser ?
2) lorsque je navigue entre mon application et une autre (comme VisualC++ par ex.) : l'image disparaît lorsque je reviens à mon application. Que dois-je faire, Quelles fonctions utiliser ?
Merci d'avance pour votre aide,
Virginie
Mes problèmes sont les suivants :
1) lorsque j'affiche une image plus petite que la précédante, je m'aperçois que la précédante reste en dessous. Comment faire pour que l'image précédante disparaisse ? Quelles fonctions utiliser ?
2) lorsque je navigue entre mon application et une autre (comme VisualC++ par ex.) : l'image disparaît lorsque je reviens à mon application. Que dois-je faire, Quelles fonctions utiliser ?
Merci d'avance pour votre aide,
Virginie
A voir également:
- Visual C++ : DialogBox et Bitmap
- Microsoft visual c++ runtime - Guide
- Visual petanque - Télécharger - Sport
- Visual paradigm - Télécharger - Gestion de données
- Visual basic - Télécharger - Langages
- Microsoft visual c++ c'est quoi - Forum C++
6 réponses
Salut! J'ai remarqué que tu sais associer des images bitmaps a une Cdialog, saurais-tu m'expliquer?
Merci,
Excuses-moi si cça ne répond pas à ton problème.
Sandrine
Merci,
Excuses-moi si cça ne répond pas à ton problème.
Sandrine
Lord Woden
Messages postés
89
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
19 janvier 2006
21
21 août 2003 à 15:41
21 août 2003 à 15:41
Salut Virginie,
en fait ton problème vient du fait que tu affiches tes images en faisant un Paint sur une zone de ta boîte de dialog.
Il faut en fait que tu ajoutes un Picture Control dans ta boite de dialogue et que tu associe cette image (SetImage je crois) a ce control une fois que tu as fait ton loadimage(). A ce moment la c'est le control picture qui s'assure de rafraichir les affichages de l'image que tu lui as associé.
@+ Lord Woden ;o)
en fait ton problème vient du fait que tu affiches tes images en faisant un Paint sur une zone de ta boîte de dialog.
Il faut en fait que tu ajoutes un Picture Control dans ta boite de dialogue et que tu associe cette image (SetImage je crois) a ce control une fois que tu as fait ton loadimage(). A ce moment la c'est le control picture qui s'assure de rafraichir les affichages de l'image que tu lui as associé.
@+ Lord Woden ;o)
Salut,
Merci pour ton aide, mais avec ce système, comment puis-je dynamiquement depuis mon application changer l'image à afficher.
Je m'explique : en fonction d'un critère introduit par l'utilisateur sur la boite de dialogue, l'image a afficher est différente (nom du fichier image stocké dans une database).
Si tu connais un moyen, quelles ont les commandes a utiliser dans le fichier xxDlg.cpp (comment faire référence au Picture Control introduit via le tab 'ResurceView')
Merci pour ton aide,
Virginie
Merci pour ton aide, mais avec ce système, comment puis-je dynamiquement depuis mon application changer l'image à afficher.
Je m'explique : en fonction d'un critère introduit par l'utilisateur sur la boite de dialogue, l'image a afficher est différente (nom du fichier image stocké dans une database).
Si tu connais un moyen, quelles ont les commandes a utiliser dans le fichier xxDlg.cpp (comment faire référence au Picture Control introduit via le tab 'ResurceView')
Merci pour ton aide,
Virginie
Lord Woden
Messages postés
89
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
19 janvier 2006
21
>
virginie
22 août 2003 à 10:04
22 août 2003 à 10:04
Salut Virginie,
Pour te montrer le comment, voici un extrait de code basé sur la technique que je t'ai donné. Dans ce cas, cette méthode ouvre une fenêtre standard d'ouverture de fichier et affiche le bitmap demandé dans le cadre défini par mon control picture. Si tu as besoin j'ai un exemple complet qui fonctionne que je peux te fournir.
void CMyMFCBmpViewerDlg::OnFileBitmapOpen()
{
// szFilters is a text string that includes two file name filters:
// "*.bmp" for "Bitmap Files" and "*.*' for "All Files."
char szFilters[]=
"MyType Files (*.bmp)|*.bmp|All Files (*.*)|*.*||";
// Create an Open dialog;
// the default file name extension is ".bmp".
CFileDialog fileDlg (TRUE, "", "*.bmp",
OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);
// Display the file dialog. When user clicks OK,
// Display the bitmap in picture control of my dialog box
if( fileDlg.DoModal ()==IDOK )
{
CString pathName = fileDlg.GetPathName();
// Implement opening and reading file in here.
// Get handle on picture control window
CWnd * hWndViewer = this->GetDlgItem(IDC_VIEWER);
// Load the bitmap
HBITMAP hBitmap = (HBITMAP) LoadImage( 0,
pathName.GetString(),
IMAGE_BITMAP,
0,0,
LR_LOADFROMFILE |
LR_LOADMAP3DCOLORS |
LR_SHARED );
// Associate picture to the control
hWndViewer->SendMessage( STM_SETIMAGE,
(WPARAM) IMAGE_BITMAP,
(LPARAM) hBitmap );
//Change the window's title to the opened file's title.
CString fileName = fileDlg.GetFileTitle ();
SetWindowText(fileName);
}
return;
}
@+ Lord Woden ;o)
Pour te montrer le comment, voici un extrait de code basé sur la technique que je t'ai donné. Dans ce cas, cette méthode ouvre une fenêtre standard d'ouverture de fichier et affiche le bitmap demandé dans le cadre défini par mon control picture. Si tu as besoin j'ai un exemple complet qui fonctionne que je peux te fournir.
void CMyMFCBmpViewerDlg::OnFileBitmapOpen()
{
// szFilters is a text string that includes two file name filters:
// "*.bmp" for "Bitmap Files" and "*.*' for "All Files."
char szFilters[]=
"MyType Files (*.bmp)|*.bmp|All Files (*.*)|*.*||";
// Create an Open dialog;
// the default file name extension is ".bmp".
CFileDialog fileDlg (TRUE, "", "*.bmp",
OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);
// Display the file dialog. When user clicks OK,
// Display the bitmap in picture control of my dialog box
if( fileDlg.DoModal ()==IDOK )
{
CString pathName = fileDlg.GetPathName();
// Implement opening and reading file in here.
// Get handle on picture control window
CWnd * hWndViewer = this->GetDlgItem(IDC_VIEWER);
// Load the bitmap
HBITMAP hBitmap = (HBITMAP) LoadImage( 0,
pathName.GetString(),
IMAGE_BITMAP,
0,0,
LR_LOADFROMFILE |
LR_LOADMAP3DCOLORS |
LR_SHARED );
// Associate picture to the control
hWndViewer->SendMessage( STM_SETIMAGE,
(WPARAM) IMAGE_BITMAP,
(LPARAM) hBitmap );
//Change the window's title to the opened file's title.
CString fileName = fileDlg.GetFileTitle ();
SetWindowText(fileName);
}
return;
}
@+ Lord Woden ;o)
virginie
>
Lord Woden
Messages postés
89
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
19 janvier 2006
28 août 2003 à 09:49
28 août 2003 à 09:49
Hello,
Sorry pour le délai ....
Pourrais tu en effet me faire parvenir tout le project complet (si je n'abuse pas trop) comme tu me le propose dans ta réponse précédant. Je n'arrive décidemment pas à ce que cela fonctionne.
Peut être pourrais tu me le faire parvenir sur mon e-mail.
Un tout grand merci pour ton aide,
Virginie
Sorry pour le délai ....
Pourrais tu en effet me faire parvenir tout le project complet (si je n'abuse pas trop) comme tu me le propose dans ta réponse précédant. Je n'arrive décidemment pas à ce que cela fonctionne.
Peut être pourrais tu me le faire parvenir sur mon e-mail.
Un tout grand merci pour ton aide,
Virginie
Lord Woden
Messages postés
89
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
19 janvier 2006
21
>
virginie
28 août 2003 à 11:53
28 août 2003 à 11:53
Salut,
je veux bien te l'envoyer sur ton mail, mais il me faudrait au moins l'adresse alors ... ;o)
@+ Lord Woden ;o)
je veux bien te l'envoyer sur ton mail, mais il me faudrait au moins l'adresse alors ... ;o)
@+ Lord Woden ;o)
virginie
>
Lord Woden
Messages postés
89
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
19 janvier 2006
28 août 2003 à 21:47
28 août 2003 à 21:47
Oups, oubli ...
Evidemment ... ce sera tout de suite plus facile : v_nyns@hotmail.com
Merci d'avance,
Virginie
Evidemment ... ce sera tout de suite plus facile : v_nyns@hotmail.com
Merci d'avance,
Virginie
Salut
J'ai le même problème que toi et comme tu as la solution maintenant.
Pourrais-tu m'envoyer le projet.
Ce serai extremement gentils
Merci
mon adresse email : albin.kury@bluewin.ch
J'ai le même problème que toi et comme tu as la solution maintenant.
Pourrais-tu m'envoyer le projet.
Ce serai extremement gentils
Merci
mon adresse email : albin.kury@bluewin.ch
salut tt le monde,
j'ai un problème d'affichage, j'ai fais un explorateur de fichier en visual c++.net mais le problème et que je n'arrive pas a afficher un bitmap dans mon control picturbox (je début et vc.6 et vc.net c assez différent je trouve), si quelq'un a une solution et pourrais me le faire parvenir ca serais super! source...
merci!
j'ai un problème d'affichage, j'ai fais un explorateur de fichier en visual c++.net mais le problème et que je n'arrive pas a afficher un bitmap dans mon control picturbox (je début et vc.6 et vc.net c assez différent je trouve), si quelq'un a une solution et pourrais me le faire parvenir ca serais super! source...
merci!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salem4
Messages postés
1
Date d'inscription
jeudi 3 mars 2005
Statut
Membre
Dernière intervention
3 mars 2005
3 mars 2005 à 08:16
3 mars 2005 à 08:16
Salut Lord Woden
Pourrais-tu m'envoyer le projet j'ai aussi le même problème que toi.
Ce serai extremement gentils
Voici mon adresse email : d.salem4@voila.fr
Merci d'avance
salem4
Pourrais-tu m'envoyer le projet j'ai aussi le même problème que toi.
Ce serai extremement gentils
Voici mon adresse email : d.salem4@voila.fr
Merci d'avance
salem4
nerser
Messages postés
39
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
27 juin 2007
2
2 avril 2005 à 19:29
2 avril 2005 à 19:29
salut virgine j'ai un probleme en visual c++ si tu peut m'aider .
je veut colorer un element dans une listbox comment je fait.
je les besoin avant le 5 avril pour reliser mon tp.
bye
je veut colorer un element dans une listbox comment je fait.
je les besoin avant le 5 avril pour reliser mon tp.
bye