Visual C++ : DialogBox et Bitmap
Résolu
Virginie
-
didi -
didi -
A voir également:
- Visual C++ : DialogBox et Bitmap
- Visual c++ 2019 - Guide
- Visual petanque - Télécharger - Sport
- Visual paradigm - Télécharger - Gestion de données
- Visual watermark - Télécharger - Photo & Graphisme
- Visual basic - Télécharger - Langages
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
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
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)
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
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