begin process at 2010 03 21 08:43:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Insertion d'image dans une boite de dialogue (MFC)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insertion d'image dans une boite de dialogue (MFC)

jeudi 9 février 2006 à 10:33:01 | Insertion d'image dans une boite de dialogue (MFC)

tigerskin

Bonjour !

Quelqu'un pourrait-il me dire quelle est la fonction qui permet d'insérer une image dans une boîte de dialogue, sachant que j'utilise les MFC ?

Merci d'avance !

Rq: Je programme sous Visual 6
jeudi 9 février 2006 à 13:35:49 | Re : Insertion d'image dans une boite de dialogue (MFC)

wxccxw

Membre Club
utilise une resource :)
jeudi 9 février 2006 à 13:59:18 | Re : Insertion d'image dans une boite de dialogue (MFC)

tigerskin

Le problème c'est que l'image ne sera pas fixe donc je ne peux pas utiliser de resource...

L'image sera un fichier JPEG qui changera selon les autres fichiers que je chargerai dans la boite de dialogue, parce qu'avec une seule image en statique c'est simple

Merci d'avance ! 
jeudi 9 février 2006 à 15:14:58 | Re : Insertion d'image dans une boite de dialogue (MFC)

wxccxw

Membre Club
oui c'est vrai que ce serait plus facile mais tu utilise un "parcourir" qui ouvre ton image ?
jeudi 9 février 2006 à 15:53:02 | Re : Insertion d'image dans une boite de dialogue (MFC)

tigerskin

Non en fait je la charge depuis une base de données...

La connexion se passe bien mais c'est juste l'affichage que je n'arrive pas à faire : je ne sais pas quelle fonction utiliser
jeudi 9 février 2006 à 19:18:16 | Re : Insertion d'image dans une boite de dialogue (MFC)

izou

Salut
j'ai une methode mais pour afficher une Bitmap a partir du fichier peut etre tu peu la faire pour une base de donées
je vais te donne un example et je croit qu'il va être utils
cree une variable mombre ici   m_bm  de type CBitmap
et une variable m_chemin de type CString
et met un bouton dans la dialog qui va nous permetre de selectionné le fichier
et attache cette procedure a l'événement ON_CLICK

void CBitmapDlg::OnBmpOpen()
{
 // TODO: Add your command handler code here
 
 static char BASED_CODE szFilter[] ="Fichier Bitmap (*.bmp)|*.bmp||";

 //Crée une boite de dialogue
 CFileDialog m_DialFile(TRUE,".bmp",m_Chemin,
   OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);

 //On affiche la boite de dialoque "Ouvrire"
 if(m_DialFile.DoModal()==IDOK)
 {

 //Récupére le nom de l'image
  m_Chemin=m_DialFile.GetPathName();

  //CHARGER L 'IMAGE SELECTIONNEE
  HBITMAP hBitmap =(HBITMAP)::LoadImage(AfxGetInstanceHandle(),m_Chemin,IMAGE_BITMAP,
   0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);

  //Si le handel est valide
  if(hBitmap)
  {
   //Suprime le bitmap courant
   if(m_Bm.DeleteObject())
   //SI IL EXISTE UNE IMAGE LA DETACHER
   m_Bm.Detach();

   m_Bm.Attach(hBitmap);
  };
  Invalidate();
 }
 
}

et crée une autre procédure qui affiche le bitmap
void CBitmapDlg::AfficheBmp(CDC *pdc)
{

  BITMAP bm;            
  m_Bm.GetBitmap(&bm);           //On récupère l'image chargée
  CDC mdc;
  mdc.CreateCompatibleDC(pdc);  
  
  //Sélectionne le bitmap dans un DC compatible
  CBitmap * lOldBitmap = (CBitmap*) mdc.SelectObject(m_Bm);

  // Calcule des coordonées
  CRect lRect;
  GetClientRect(lRect);
  lRect.NormalizeRect();

  //Copie le bitmap dans la fenêtre et le redimensionne

  pdc->SetStretchBltMode(COLORONCOLOR);   //Pour avoir une meilleur qualite
  pdc->StretchBlt(10,10,lRect.Width()-20,lRect.Height()-20,&mdc,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
     
  }

puis dans la fonction OnPaint tu fait appelle a la fonction AfficheBmp

void CBitmapDlg::OnPaint()
{
 if (IsIconic())
 {
  CPaintDC dc(this); // device context for painting

  SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

  // Center icon in client rectangle
  int cxIcon = GetSystemMetrics(SM_CXICON);
  int cyIcon = GetSystemMetrics(SM_CYICON);
  CRect rect;
  GetClientRect(&rect);
  int x = (rect.Width() - cxIcon + 1) / 2;
  int y = (rect.Height() - cyIcon + 1) / 2;

  // Draw the icon
  dc.DrawIcon(x, y, m_hIcon);
 }
 else
 {
    if(m_Chemin!="")
    {
  CPaintDC dc(this);
  AfficheBmp(&dc);
    };
  CDialog::OnPaint();
 }
}



vendredi 10 février 2006 à 14:55:33 | Re : Insertion d'image dans une boite de dialogue (MFC)

tigerskin

Ok j'ai enregistré ton exemple ça m'a l'air assez simple...

Je te remercie je pense que ça va beaucoup m'aider !

vendredi 10 février 2006 à 21:00:37 | Re : Insertion d'image dans une boite de dialogue (MFC)


Cette discussion est classée dans : image, boite, insertion, mfc, dialogue


Répondre à ce message

Sujets en rapport avec ce message

Image de fond Boite de dialogue MFC [ par Caleos ] Bonjour, voilà j'ai remarqué que beaucoup de sujet a propos de mon probleme ont été posé mais aucun d'eux ( ou je n'ai vraiment pas fait attention) ne Afficher mon image ds ma boite de dialogue [ par moumoucha ] Bonsoir;est ce ke kelk'un a une idée sur comment afficher une image dans une boite de dialogueSVP,j'ai besoin d'un code en c++.Je suis vrmnt blokée ;a rafraichir boite de dialogue au focus perdu MFC [ par Loki6 ] Salut à tousj'ai une tite question au sujet d'un programme de type dialog based en MFC (et pour les puristes : oui je sais!) donc le principe de cette réduction dans le systray d'une appli MFC Boite de dialogue [ par matt22 ] Bonjour à tous et d'avance merci pour votre aide. Je suis pas très doué en C++ et j'ai un petit soft a faire absolument. j'ai fais un petit programme Image de fond [ par majestic3 ] salut a tous, j'ai un probleme d'affichage avec une boite de dialogue. En effet lorsque j'insere une image de fond sur une boite de dialogude l'image MFC et boite de dialogue Dossier [ par jpeg ] Je programme actuellement une petite app windows avec MFC et j'aimerai pouvoir sélectionner un dossier. Le problème, c'est qu'en MFC, il y a bien une Boite de dialogue MFC [ par julok2 ] Peut-on indiquer l'endroit sur l'écran où l'on souhaite que la boite de dialogue (avec MFC) s'affiche ?Merci Boite de dialogue MFC [ par julok2 ] Salut,j'écris actuellement un programme dans lequel j'ouvre des boites de dialogue. J'ai donc créé des fonctions OnBouton dans une autre classe où j'u Affichage d'une image de fond dans une boite de dialogue [ par Calimero150 ] Coucou tout le monde!Je cherche un moyen d'afficher une image de fond dans une boite de dialogue donc si quelqu'un peut m'aider, qu'il n'hésite pas! M dessiner dans une boite de dialogue MFC [ par tiger3550 ] Qqn pourrait m'aider (adresse web, infos, code...) a dessiner dans une boite de dialogue en MFC? Je dois faire apparaitre un histogramme dans cette bo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales