begin process at 2012 05 27 15:14:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > CREATION TOOLBAR ET STATUSBAR EN WIN32 [VC++ 7.0]

CREATION TOOLBAR ET STATUSBAR EN WIN32 [VC++ 7.0]


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Initié Date de création :24/01/2002 Date de mise à jour :23/12/2002 23:44:53 Vu / téléchargé :16 057 / 913

Auteur : jcecchi

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Si la compilation ne marche pas, il faut rajouter "comctl32.lib" dans les options du linker pour pouvoir gerer les controles internet.
Il s'agit juste de la creation d'une barre d'etat et d'une barre d'outils dans une fenetre windows avec affichage et destruction.      

Source

  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <windows.h>
  • #include <commctrl.h>
  • #include "resource.h"
  • /* Identifiants */
  • #define ID_STATUSBAR 1
  • #define ID_TOOLBAR 2
  • /* Identifiants pour la barre d etat */
  • enum {
  • ID_STATUS_ZONE_1,
  • ID_STATUS_ZONE_2,
  • ID_STATUS_ZONE_3,
  • NB_STATUS_ZONE
  • };
  • /* Identifiant pour la barre d outils */
  • enum {
  • ID_TOOLBAR_BTN_1,
  • ID_TOOLBAR_BTN_2,
  • NB_TOOLBAR_BTN
  • };
  • /* Composition de la barre d outils */
  • static TBBUTTON tbbtn[]= {
  • {ID_TOOLBAR_BTN_1, ID_TOOLBAR_BTN_1, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
  • {ID_TOOLBAR_BTN_2, ID_TOOLBAR_BTN_2, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0}
  • };
  • HINSTANCE g_hInstance;
  • HWND CreateMainWindow(HINSTANCE hInstance);
  • HWND CreateStatusBar(HWND hParent);
  • HWND CreateToolBar(HWND hParent);
  • LRESULT APIENTRY MainWndProc(HWND hWnd, UINT iMsg, UINT wParam, LONG lParam);
  • int WINAPI WinMain(HINSTANCE hInstance,
  • HINSTANCE hPrevInstance,
  • LPSTR lpCmdLine,
  • int nCmdShow)
  • {
  • HWND hWnd;
  • MSG msg;
  • g_hInstance = hInstance;
  • /* Initialisation des controles */
  • InitCommonControls();
  • hWnd = CreateMainWindow(hInstance);
  • if(hWnd == NULL)
  • return EXIT_FAILURE;
  • ShowWindow(hWnd, SW_MAXIMIZE);
  • while(GetMessage(&msg,NULL,0,0))
  • {
  • TranslateMessage(&msg);
  • DispatchMessage(&msg);
  • }
  • return EXIT_SUCCESS;
  • }
  • HWND CreateMainWindow(HINSTANCE hInstance)
  • {
  • WNDCLASSEX wc;
  • HWND hWnd;
  • wc.cbSize = sizeof(WNDCLASSEX);
  • wc.style = CS_HREDRAW | CS_VREDRAW;
  • wc.lpfnWndProc = (WNDPROC)MainWndProc;
  • wc.cbClsExtra = 0;
  • wc.cbWndExtra = 0;
  • wc.hInstance = hInstance;
  • wc.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_MAIN));
  • wc.hCursor = LoadCursor(NULL,IDC_ARROW);
  • wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
  • wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);
  • wc.lpszClassName = "MainWnd";
  • wc.hIconSm = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_MAIN));
  • if(!RegisterClassEx(&wc))
  • {
  • MessageBox(NULL,
  • "Enregistrement classe de fenêtre",
  • "Erreur",
  • MB_OK | MB_ICONERROR);
  • return NULL;
  • }
  • hWnd = CreateWindowEx(WS_EX_CLIENTEDGE,
  • "MainWnd",
  • "Application avec Toolbar et Statusbar",
  • WS_OVERLAPPEDWINDOW,
  • 0,0,
  • 800,600,
  • NULL,
  • NULL,
  • hInstance,
  • NULL);
  • if(hWnd == NULL)
  • {
  • MessageBox(NULL,
  • "Création de la fenêtre",
  • "Erreur",
  • MB_OK | MB_ICONERROR);
  • return NULL;
  • }
  • return hWnd;
  • }
  • LRESULT APIENTRY MainWndProc(HWND hWnd, UINT iMsg, UINT wParam, LONG lParam)
  • {
  • static HWND hToolbar = NULL;
  • static HWND hStatusbar = NULL;
  • static UINT iClick1 = 0;
  • static UINT iClick2 = 0;
  • switch(iMsg)
  • {
  • case WM_DESTROY:
  • PostQuitMessage(EXIT_SUCCESS);
  • break;
  • /* Message recu lors du redimmensionnement de la fenetre */
  • case WM_WINDOWPOSCHANGED:
  • /* On repositionne la barre d etat */
  • SetWindowPos(hStatusbar,
  • NULL,
  • CW_USEDEFAULT,CW_USEDEFAULT,
  • CW_USEDEFAULT,CW_USEDEFAULT,
  • SWP_NOZORDER | SWP_NOMOVE);
  • /* et la barre d'outils */
  • SetWindowPos(hToolbar,
  • NULL,
  • CW_USEDEFAULT,CW_USEDEFAULT,
  • CW_USEDEFAULT,CW_USEDEFAULT,
  • SWP_NOZORDER | SWP_NOMOVE);
  • break;
  • case WM_CREATE:
  • /* Apres creation de la fenetre on ajoute la barre d etat */
  • /* et la barre d outil */
  • hStatusbar = CreateStatusBar(hWnd);
  • hToolbar = CreateToolBar(hWnd);
  • break;
  • case WM_COMMAND:
  • switch(LOWORD(wParam))
  • {
  • case IDM_QUITTER:
  • PostQuitMessage(EXIT_SUCCESS);
  • break;
  • /* Message du menu : bouton "Barre d'etat" */
  • case IDM_STATUS:
  • {
  • UINT iState;
  • /* On recupere l etat du bouton IDM_STATUS ("Barre d'etat") */
  • iState = GetMenuState(GetMenu(hWnd),
  • IDM_STATUS,
  • MF_BYCOMMAND);
  • if(iState == MF_CHECKED)
  • {
  • /* On vient de cocher le bouton */
  • CheckMenuItem(GetMenu(hWnd),
  • IDM_STATUS,
  • MF_BYCOMMAND | MF_UNCHECKED);
  • ShowWindow(hStatusbar, SW_HIDE);
  • }
  • else
  • {
  • /* On vient de decocher le bouton */
  • CheckMenuItem(GetMenu(hWnd),
  • IDM_STATUS,
  • MF_BYCOMMAND | MF_CHECKED);
  • ShowWindow(hStatusbar, SW_SHOW);
  • }
  • }
  • break;
  • /* Message du menu : bouton "Barre d'outils" */
  • case IDM_TOOLBAR:
  • {
  • UINT iState;
  • /* On recupere l etat du bouton IDM_TOOLBAR ("Barre d'outil") */
  • iState = GetMenuState(GetMenu(hWnd),
  • IDM_TOOLBAR,
  • MF_BYCOMMAND);
  • if(iState == MF_CHECKED)
  • {
  • /* On vient de cocher le bouton */
  • CheckMenuItem(GetMenu(hWnd),
  • IDM_TOOLBAR,
  • MF_BYCOMMAND | MF_UNCHECKED);
  • ShowWindow(hToolbar, SW_HIDE);
  • }
  • else
  • {
  • /* On vient de decocher le bouton */
  • CheckMenuItem(GetMenu(hWnd),
  • IDM_TOOLBAR,
  • MF_BYCOMMAND | MF_CHECKED);
  • ShowWindow(hToolbar, SW_SHOW);
  • }
  • }
  • break;
  • /* Message de la barre d'outils : Bouton 1 */
  • case ID_TOOLBAR_BTN_1:
  • {
  • char cMsg[50];
  • /* On increment le compteur de clic */
  • ++iClick1;
  • sprintf(cMsg, "Nombre de clics sur 1 : %d", iClick1);
  • /* On affiche le nombre de clic dans la barre d'etat */
  • SendMessage(hStatusbar,
  • SB_SETTEXT,
  • ID_STATUS_ZONE_1,
  • (LPARAM)(LPSTR)cMsg);
  • /* On affiche le dernier bouton clique dans la barre d'etat */
  • SendMessage(hStatusbar,
  • SB_SETTEXT,
  • ID_STATUS_ZONE_3,
  • (LPARAM)(LPSTR)"Dernier clic sur 1");
  • }
  • break;
  • /* Message de la barre d'outils : Bouton 2 */
  • case ID_TOOLBAR_BTN_2:
  • {
  • char cMsg[50];
  • /* On increment le compteur de clic */
  • ++iClick2;
  • sprintf(cMsg, "Nombre de clics sur 2 : %d", iClick2);
  • /* On affiche le nombre de clic dans la barre d'etat */
  • SendMessage(hStatusbar,
  • SB_SETTEXT,
  • ID_STATUS_ZONE_2,
  • (LPARAM)(LPSTR)cMsg);
  • /* On affiche le dernier bouton clique dans la barre d'etat */
  • SendMessage(hStatusbar,
  • SB_SETTEXT,
  • ID_STATUS_ZONE_3,
  • (LPARAM)(LPSTR)"Dernier clic sur 2");
  • }
  • break;
  • }
  • break;
  • default:
  • return DefWindowProc(hWnd, iMsg, wParam, lParam);
  • }
  • return FALSE;
  • }
  • HWND CreateStatusBar(HWND hParent)
  • {
  • HWND hStatusbar;
  • int iStatusPart[NB_STATUS_ZONE];
  • /* Creation de la barre d'etat */
  • hStatusbar = CreateStatusWindow(WS_CHILD | WS_BORDER | WS_VISIBLE,
  • NULL,
  • hParent,
  • ID_STATUSBAR);
  • if(hStatusbar == NULL)
  • {
  • /* Erreur, on quitte l'application */
  • MessageBox(hParent,
  • "Création de la barre d'état\n"
  • "L'application va se terminer",
  • "Erreur",
  • MB_OK | MB_ICONERROR);
  • PostQuitMessage(EXIT_FAILURE);
  • return NULL;
  • }
  • /* Definition des zones de la barre d'etat */
  • /* Zone 1 de taille 300 */
  • iStatusPart[ID_STATUS_ZONE_1] = 300;
  • /* Zone 2 de taille 300 */
  • iStatusPart[ID_STATUS_ZONE_2] = 600;
  • /* Zone 3 : -1 pour utiliser toute la place restante */
  • iStatusPart[ID_STATUS_ZONE_3] = -1;
  • /* Decoupage de la barre d'etat */
  • SendMessage(hStatusbar,
  • SB_SETPARTS,
  • (WPARAM)NB_STATUS_ZONE,
  • (LPARAM)&iStatusPart);
  • return hStatusbar;
  • }
  • HWND CreateToolBar(HWND hParent)
  • {
  • HWND hToolbar;
  • /* Creation de la barre d'outil */
  • hToolbar = CreateToolbarEx(hParent,
  • WS_CHILD | WS_VISIBLE,
  • ID_TOOLBAR,
  • NB_TOOLBAR_BTN,
  • g_hInstance,
  • IDB_BITMAP1,
  • (LPCTBBUTTON) &tbbtn,
  • NB_TOOLBAR_BTN,
  • 16,16,
  • 16,16,
  • sizeof(TBBUTTON));
  • if(hToolbar == NULL)
  • {
  • /* Erreur on quitte l'application */
  • MessageBox(hParent,
  • "Création de la barre d'outils\n"
  • "L'application va se terminer",
  • "Erreur",
  • MB_OK | MB_ICONERROR);
  • PostQuitMessage(EXIT_FAILURE);
  • return NULL;
  • }
  • return hToolbar;
  • }
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <commctrl.h>
#include "resource.h"

/* Identifiants */
#define ID_STATUSBAR	1
#define ID_TOOLBAR		2

/* Identifiants pour la barre d etat */
enum {
	ID_STATUS_ZONE_1,
	ID_STATUS_ZONE_2,
	ID_STATUS_ZONE_3,
	NB_STATUS_ZONE
};

/* Identifiant pour la barre d outils */
enum {
	ID_TOOLBAR_BTN_1,
	ID_TOOLBAR_BTN_2,
	NB_TOOLBAR_BTN
};

/* Composition de la barre d outils */
static TBBUTTON tbbtn[]= {
	{ID_TOOLBAR_BTN_1, ID_TOOLBAR_BTN_1, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ID_TOOLBAR_BTN_2, ID_TOOLBAR_BTN_2, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0}
};


HINSTANCE g_hInstance;
HWND CreateMainWindow(HINSTANCE hInstance);
HWND CreateStatusBar(HWND hParent);
HWND CreateToolBar(HWND hParent);
LRESULT APIENTRY MainWndProc(HWND hWnd, UINT iMsg, UINT wParam, LONG lParam);

int WINAPI WinMain(HINSTANCE hInstance,
				   HINSTANCE hPrevInstance,
				   LPSTR lpCmdLine,
				   int nCmdShow)
{
	HWND hWnd;
	MSG msg;

	g_hInstance = hInstance;

	/* Initialisation des controles */
	InitCommonControls();

	hWnd = CreateMainWindow(hInstance);

	if(hWnd == NULL)
		return EXIT_FAILURE;

	ShowWindow(hWnd, SW_MAXIMIZE);

	while(GetMessage(&msg,NULL,0,0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return EXIT_SUCCESS;
}

HWND CreateMainWindow(HINSTANCE hInstance)
{
	WNDCLASSEX wc;
	HWND hWnd;

	wc.cbSize		=	sizeof(WNDCLASSEX);
	wc.style		=	CS_HREDRAW | CS_VREDRAW;
	wc.lpfnWndProc	=	(WNDPROC)MainWndProc;
	wc.cbClsExtra	=	0;
	wc.cbWndExtra	=	0;
	wc.hInstance	=	hInstance;
	wc.hIcon		=	LoadIcon(hInstance,MAKEINTRESOURCE(IDI_MAIN));
	wc.hCursor		=	LoadCursor(NULL,IDC_ARROW);
	wc.hbrBackground	=	(HBRUSH)(COLOR_WINDOW+1);
	wc.lpszMenuName		=	MAKEINTRESOURCE(IDR_MENU1);
	wc.lpszClassName	=	"MainWnd";
	wc.hIconSm			=	LoadIcon(hInstance,MAKEINTRESOURCE(IDI_MAIN));

	if(!RegisterClassEx(&wc))
	{
		MessageBox(NULL,
			"Enregistrement classe de fenêtre",
			"Erreur",
			MB_OK | MB_ICONERROR);

		return NULL;
	}

	hWnd = CreateWindowEx(WS_EX_CLIENTEDGE,
		"MainWnd",
		"Application avec Toolbar et Statusbar",
		WS_OVERLAPPEDWINDOW,
		0,0,
		800,600,
		NULL,
		NULL,
		hInstance,
		NULL);

	if(hWnd == NULL)
	{
		MessageBox(NULL,
			"Création de la fenêtre",
			"Erreur",
			MB_OK | MB_ICONERROR);

		return NULL;
	}

	return hWnd;
}

LRESULT APIENTRY MainWndProc(HWND hWnd, UINT iMsg, UINT wParam, LONG lParam)
{
	static HWND hToolbar = NULL;
	static HWND hStatusbar = NULL;
	static UINT iClick1 = 0;
	static UINT iClick2 = 0;

	switch(iMsg)
	{
	case WM_DESTROY:
		PostQuitMessage(EXIT_SUCCESS);
		break;
	/* Message recu lors du redimmensionnement de la fenetre */
	case WM_WINDOWPOSCHANGED:
		/* On repositionne la barre d etat */
		SetWindowPos(hStatusbar,
			NULL,
			CW_USEDEFAULT,CW_USEDEFAULT,
			CW_USEDEFAULT,CW_USEDEFAULT,
			SWP_NOZORDER | SWP_NOMOVE);
		/* et la barre d'outils */
		SetWindowPos(hToolbar,
			NULL,
			CW_USEDEFAULT,CW_USEDEFAULT,
			CW_USEDEFAULT,CW_USEDEFAULT,
			SWP_NOZORDER | SWP_NOMOVE);
		break;
	case WM_CREATE:
		/* Apres creation de la fenetre on ajoute la barre d etat */
		/* et la barre d outil */
		hStatusbar = CreateStatusBar(hWnd);
		hToolbar = CreateToolBar(hWnd);
		break;
	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case IDM_QUITTER:
			PostQuitMessage(EXIT_SUCCESS);
			break;
		/* Message du menu : bouton "Barre d'etat" */
		case IDM_STATUS:
			{
				UINT iState;

				/* On recupere l etat du bouton IDM_STATUS ("Barre d'etat") */
				iState = GetMenuState(GetMenu(hWnd),
					IDM_STATUS,
					MF_BYCOMMAND);

				if(iState == MF_CHECKED)
				{
					/* On vient de cocher le bouton */
					CheckMenuItem(GetMenu(hWnd),
						IDM_STATUS,
						MF_BYCOMMAND | MF_UNCHECKED);
					ShowWindow(hStatusbar, SW_HIDE);
				}
				else
				{
					/* On vient de decocher le bouton */
					CheckMenuItem(GetMenu(hWnd),
						IDM_STATUS,
						MF_BYCOMMAND | MF_CHECKED);
					ShowWindow(hStatusbar, SW_SHOW);
				}
			}
			break;
		/* Message du menu : bouton "Barre d'outils" */
		case IDM_TOOLBAR:
			{
				UINT iState;

				/* On recupere l etat du bouton IDM_TOOLBAR ("Barre d'outil") */
				iState = GetMenuState(GetMenu(hWnd),
					IDM_TOOLBAR,
					MF_BYCOMMAND);
				if(iState == MF_CHECKED)
				{
					/* On vient de cocher le bouton */
					CheckMenuItem(GetMenu(hWnd),
						IDM_TOOLBAR,
						MF_BYCOMMAND | MF_UNCHECKED);
					ShowWindow(hToolbar, SW_HIDE);
				}
				else
				{
					/* On vient de decocher le bouton */
					CheckMenuItem(GetMenu(hWnd),
						IDM_TOOLBAR,
						MF_BYCOMMAND | MF_CHECKED);
					ShowWindow(hToolbar, SW_SHOW);
				}
			}
			break;
		/* Message de la barre d'outils : Bouton 1 */
		case ID_TOOLBAR_BTN_1:
			{
				char cMsg[50];

				/* On increment le compteur de clic */
				++iClick1;

				sprintf(cMsg, "Nombre de clics sur 1 : %d", iClick1);

				/* On affiche le nombre de clic dans la barre d'etat */
				SendMessage(hStatusbar,
					SB_SETTEXT,
					ID_STATUS_ZONE_1,
					(LPARAM)(LPSTR)cMsg);
				/* On affiche le dernier bouton clique dans la barre d'etat */
				SendMessage(hStatusbar,
					SB_SETTEXT,
					ID_STATUS_ZONE_3,
					(LPARAM)(LPSTR)"Dernier clic sur 1");
			}
			break;
		/* Message de la barre d'outils : Bouton 2 */
		case ID_TOOLBAR_BTN_2:
			{
				char cMsg[50];

				/* On increment le compteur de clic */
				++iClick2;

				sprintf(cMsg, "Nombre de clics sur 2 : %d", iClick2);

				/* On affiche le nombre de clic dans la barre d'etat */
				SendMessage(hStatusbar,
					SB_SETTEXT,
					ID_STATUS_ZONE_2,
					(LPARAM)(LPSTR)cMsg);
				/* On affiche le dernier bouton clique dans la barre d'etat */
				SendMessage(hStatusbar,
					SB_SETTEXT,
					ID_STATUS_ZONE_3,
					(LPARAM)(LPSTR)"Dernier clic sur 2");
			}
			break;
		}
		break;
	default:
		return DefWindowProc(hWnd, iMsg, wParam, lParam);
	}

	return FALSE;
}

HWND CreateStatusBar(HWND hParent)
{
	HWND hStatusbar;
	int iStatusPart[NB_STATUS_ZONE];

	/* Creation de la barre d'etat */
	hStatusbar = CreateStatusWindow(WS_CHILD | WS_BORDER | WS_VISIBLE,
		NULL,
		hParent,
		ID_STATUSBAR);

	if(hStatusbar == NULL)
	{
		/* Erreur, on quitte l'application */
		MessageBox(hParent,
			"Création de la barre d'état\n"
			"L'application va se terminer",
			"Erreur",
			MB_OK | MB_ICONERROR);

		PostQuitMessage(EXIT_FAILURE);

		return NULL;
	}

	/* Definition des zones de la barre d'etat */
	/* Zone 1 de taille 300 */
	iStatusPart[ID_STATUS_ZONE_1] = 300;
	/* Zone 2 de taille 300 */
	iStatusPart[ID_STATUS_ZONE_2] = 600;
	/* Zone 3 : -1 pour utiliser toute la place restante */
	iStatusPart[ID_STATUS_ZONE_3] = -1;

	/* Decoupage de la barre d'etat */
	SendMessage(hStatusbar,
		SB_SETPARTS,
		(WPARAM)NB_STATUS_ZONE,
		(LPARAM)&iStatusPart);

	return hStatusbar;
}

HWND CreateToolBar(HWND hParent)
{
	HWND hToolbar;

	/* Creation de la barre d'outil */
	hToolbar = CreateToolbarEx(hParent,
		WS_CHILD | WS_VISIBLE,
		ID_TOOLBAR,
		NB_TOOLBAR_BTN,
		g_hInstance,
		IDB_BITMAP1,
		(LPCTBBUTTON) &tbbtn,
		NB_TOOLBAR_BTN,
		16,16,
		16,16,
		sizeof(TBBUTTON));

	if(hToolbar == NULL)
	{
		/* Erreur on quitte l'application */
		MessageBox(hParent,
			"Création de la barre d'outils\n"
			"L'application va se terminer",
			"Erreur",
			MB_OK | MB_ICONERROR);

		PostQuitMessage(EXIT_FAILURE);

		return NULL;
	}

	return hToolbar;
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip SURVEILLANCE DES ALLOCATIONS MEMOIRE [C]
Source avec Zip DEFINITION DES OPERATEURS DANS UNE CLASSE (VC++)
Source avec Zip Source avec une capture CONVERTISSEUR EURO EN WIN32 (VC++)

 Sources de la même categorie

LISTER FICHIERS ET RÉPERTOIRES (MULTIPLATEFORME) par christophedlr
UTILISATION DES TYPELIST EN C++ par wyden
Source avec Zip Source avec une capture QCSSCOMPRESSOR par alphaone
AFFICHAGE D'UN TRIANGLE ISOCELE par nabche
Source avec Zip GESTION D'UNE BIBLOTHEQUE par leclerro19

Commentaires et avis

Commentaire de maya75 le 02/07/2002 03:16:29

pratique ! thx

Commentaire de Kephren le 06/12/2002 19:35:55

Ouais cool mais comment tu fais pour créer le bitmap avec les boutons ?
Je peine la dessus depuis 1 semaine. J'ai utilisé CreateWindowEx mais ToolbarEx c'est pareil, y a pas moyen que les images que j'ai crées se foutent sur les boutons. Je sais pas pkoi si tu pouvais m'expliquer !

Commentaire de jcecchi le 24/12/2002 00:10:26

Salut,

Ma barre d'outils utilise des boutons de 16x16, donc j'ai cree un bitmap de 32x16 (2 boutons) que j'ai importe dans le fichier ressource.
Ensuite tu definis le nombre de bouton avec la structure TBBUTTON et initialises tout ca dans CreateToolbarEx en specifiant bien la taille d'une image (16x16).

Voila.

Commentaire de BadFox le 14/02/2004 12:38:28

bonjour,
j'ai bien rajouté comctl32.lib comme c'est dit mais je n'arrive pas à compiler mon prog correctement, ça plante au linkage :

edit error LNK2019: symbole externe non résolu "struct HWND__ * __cdecl CreateStatusBar(struct HWND__ *)" (?CreateStatusBar@@YAPAUHWND__@@PAU1@@Z) référencé dans la fonction "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)

et je ne sais pas du tou comment résoudre ça. si qqun pouvait m'aider, ça fait trop lgtps que je galère là dessus, svp.
__________
BadFox

Commentaire de love_tatu le 09/08/2005 10:55:27

Bonjour,

je vient d'essaye ton code mais impossible de mettre le bitmap crée dans la toolbar
quand je lance mon log la toolbar reste vide juste les 8 bouton que je veut sans dessin a l'intérieure. Pourtant j'ai bien suivit tout ce qui est indiqué :(

Commentaire de CHli le 22/08/2005 15:20:14

Même problème pour moi, impossible d'avoir les images sur les boutons.

Quelqu'un aurait une solution ?

Commentaire de BruNews le 22/08/2005 15:58:24 administrateur CS

CreateToolbarEx est à oublier, obsolète.
Exemple ici: http://www.cppfrance.com/code.aspx?ID=33328

Commentaire de CHli le 23/08/2005 08:03:45

Merci ! Je vais jeter un coup d'oeil.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,421 sec (4)

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