Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3059 connectés 

 


Dernière réponse
Sujet : bitmap et dialog box en VC++????
Carbon_14 Une DialogBox, je pense que c'est une feuille modale servant au dialogue..
 
Elle est créée, je suppose, par  
     #ifndef __FLAT__ // 16 bits, Win 3.11 (<= j'en suis fana)
     {
       DLGPROC lpProc;
       lpProc = (DLGPROC)MakeProcInstance((FARPROC)lpInfoSpctr, hInst);
       DialogBox(hInst, MAKEINTRESOURCE(INFOSPECTRE), hWnd, lpProc);
       FreeProcInstance((FARPROC)lpProc);
     }
     #else  // 32 bits Win 95,98,NT, ? 2000
     DialogBox(hInst, MAKEINTRESOURCE(INFOSPECTRE), hWnd, lpInfoSpctr);
     #endif
 
Le dessin de boutons Up/Down que j'avais fait charge le BitMap dans la section
   switch (message)
   {
     case WM_INITDIALOG:
       hFond = LoadBitmap (hInstance, "Fond" );
 
et on trace les boutons dans le WM_PAINT.
Le hInstance est celui de la feuille principale (l'application qui charge cette feuille) à mettre en "global".
 
Quand on quitte, on fait un  
      DeleteObject(BitMap);
      EndDialog(hDlg, FALSE);
      return TRUE;
 
pour libérer la mémoire occupée par le bitmap.
Si c'et une image qui sert ailleurs, elle peut être chargée dans le prog ppal, et dessinée sur chaque feuille où il y en a besoin.
Le DeleteObject() se fera lors du Quit du ppal.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Carbon_14 Une DialogBox, je pense que c'est une feuille modale servant au dialogue..
 
Elle est créée, je suppose, par  
     #ifndef __FLAT__ // 16 bits, Win 3.11 (<= j'en suis fana)
     {
       DLGPROC lpProc;
       lpProc = (DLGPROC)MakeProcInstance((FARPROC)lpInfoSpctr, hInst);
       DialogBox(hInst, MAKEINTRESOURCE(INFOSPECTRE), hWnd, lpProc);
       FreeProcInstance((FARPROC)lpProc);
     }
     #else  // 32 bits Win 95,98,NT, ? 2000
     DialogBox(hInst, MAKEINTRESOURCE(INFOSPECTRE), hWnd, lpInfoSpctr);
     #endif
 
Le dessin de boutons Up/Down que j'avais fait charge le BitMap dans la section
   switch (message)
   {
     case WM_INITDIALOG:
       hFond = LoadBitmap (hInstance, "Fond" );
 
et on trace les boutons dans le WM_PAINT.
Le hInstance est celui de la feuille principale (l'application qui charge cette feuille) à mettre en "global".
 
Quand on quitte, on fait un  
      DeleteObject(BitMap);
      EndDialog(hDlg, FALSE);
      return TRUE;
 
pour libérer la mémoire occupée par le bitmap.
Si c'et une image qui sert ailleurs, elle peut être chargée dans le prog ppal, et dessinée sur chaque feuille où il y en a besoin.
Le DeleteObject() se fera lors du Quit du ppal.
Raoul salut
je repost ici un msg mais en + detaillé
j'arrive parfaitement a afficher une bitmap sur ma fenetre principale avec le code suivant appelé ds WM_PAINT
  HBITMAP  hFond;
  HBITMAP  hBlanc;
  HBITMAP  hNoir;
  HDC hDcMem;
  hFond = LoadBitmap (hInstance, "Fond" );
  hBlanc = LoadBitmap (hInstance, cBlanc);
  hNoir = LoadBitmap (hInstance, cNoir);
  hDcMem = CreateCompatibleDC(hdc);
 
  SelectObject(hDcMem,hFond);
  BitBlt(hdc,20,10,60,60,hDcMem,0,0,SRCCOPY);
DeleteDC(hDcMem);
 
mais ds une dialog box j'y arrive pas, je pensais faire pareil, le prob c que j'arrive pas a recuperer le hInstance, c plante des que j'essaye.
Si vs avez la soluce?
MErci
a+

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)