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

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Win32 boutons image et image de fond

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Win32 boutons image et image de fond

n°566713
Piemur2000
Posté le 14-11-2003 à 14:22:10  profilanswer
 

Bonjour,
 
J'ai plusieurs questions concernant un projet réalisé avec Visual C++ a partir d'une boite de dialoque. Je cherche a inserer une image comme fond de ma boite de dialogue. Y a t'il un moyen de le faire directement ou est ce qu'il faut placer un objet picture? La qualité de l'image est dégradée pk'elle passe en 256 couleurs. Y a t'il un moyen d'utiliser des images en couleur vraie?
 
Je voudrais aussi inserer des images dans mes boutons. Comme faut t'il s'y prendre?
 
Merci d'avances pour vos reponses.

mood
Publicité
Posté le 14-11-2003 à 14:22:10  profilanswer
 

n°566745
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-11-2003 à 14:47:03  profilanswer
 

Tu places un CBitmapButton sur ta Dialog, dans la fonction OnInitDialg() de ta Dialog tu appelles la fonction LoadBitmaps() de ton CBitmapButton avec l'image que tu veux afficher, et tu appelles ensuite la fonction SizeToContent() du CBitmapButton pour que l'image remplisse le bouton.

n°566752
Piemur2000
Posté le 14-11-2003 à 14:50:56  profilanswer
 

C pas du MFC ca??? J'aimerais bien faire du win 32 basique...


Message édité par Piemur2000 le 14-11-2003 à 14:51:23
n°566796
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-11-2003 à 15:30:29  profilanswer
 

Tu insères ton image dans un fichier de ressources (rc), tu utilises ensuite LoadBitmap() pour charger ton image à partir de ton fichier de ressources et tu envoies un message BM_SETIMAGE au bouton.
 
Exemple :

Code :
  1. image = LoadBitmap(hInstance,"ID_BOUTON" );
  2. SendMessage(hBouton, BM_SETIMAGE, 0 (LPARAM) (HANDLE) image);


ou "hBouton" est le handle de ton bouton.

n°566907
Konar
Posté le 14-11-2003 à 16:51:53  profilanswer
 

et pour l'image de fond, en général je rajoutes un truc de ce genre dans le handler WM_PAINT :
 

Code :
  1. PAINTSTRUCT ps;
  2. BeginPaint(&ps);
  3. HDC hdcMem = CreateCompatibleDC(ps.hdc);
  4. HBITMAP OldBitmap = (HBITMAP)SelectObject(hdcMem, hBmpDeTonImage);
  5. BitBlt(ps.hdc,
  6.  ps.rcPaint.left,
  7.  ps.rcPaint.top,
  8.  ps.rcPaint.right - ps.rcPaint.left,
  9.  ps.rcPaint.bottom - ps.rcPaint.top,
  10.  hdcMem,
  11.  ps.rcPaint.left, ps.rcPaint.top,
  12.  SRCCOPY);
  13. if (OldBitmap)
  14. SelectObject(hdcMem, OldBitmap);
  15. DeleteDC(hdcMem);
  16. EndPaint(&ps);
  17. return ::DefWindowProc(m_hWnd, uMsg, wParam, lParam);

n°568318
Piemur2000
Posté le 16-11-2003 à 20:02:45  profilanswer
 

Le code pour la fenetre fonctionne tres bien merci. Mais j'ai essayé pour le boutton et g un petit probleme : comment on fait pour recuperer le hbutton?


Message édité par Piemur2000 le 16-11-2003 à 20:06:19
n°568404
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-11-2003 à 21:54:18  profilanswer
 

GetDlgItem()


---------------
J'ai un string dans l'array (Paris Hilton)
n°568442
Piemur2000
Posté le 16-11-2003 à 22:44:35  profilanswer
 

Merci c bon ca finctionne.  :jap:  :jap:  
 
Au fait y'a pas moyen de mettre une image autre que en 256 couleurs? Pke la c vraiment pas super bo...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Win32 boutons image et image de fond

 

Sujets relatifs
[win32] fenêtre transparente ET clickableComment mettre un fond sur un checkbox et un radio ?
comment integrer cette image(speciale) dans un formupload image sans utiliser balise input file
COMMENT GÉNÉRER UNE MINIATURE CONFORME À UN FICHIER IMAGE INITIAL ?2 questions PHP : Créer une mini-image / comment faire une redirection
(HTML) Comment faire pour que l'image de fond ne se répète pas?Meilleur format image pour un site web
[PHP] Afficher la valeur des boutons radio 
Plus de sujets relatifs à : [C++] Win32 boutons image et image de fond


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR