begin process at 2012 05 30 17:47:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Base de données

 > 

SQL

 > 

souci C++


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

souci C++

mardi 2 mars 2010 à 02:05:25 | souci C++

Tom56340

je me présente tom

voila je suis pas non plus implacable sur l'informatique cependant je touche a tout et est un niveau satisfaisant qui me vaut de me déplacer pour des dépannage informatique ou même

des mise en réseaux pour cyber café avec Shiva et plein d'autre chose sur tous se qui touche la sécurités de site web

se pendant je ne c'est pas tous voici mon problème


j'ai fait une petite fenêtre Windows dans cette fenêtre j'aimerais faire un bouton

qui me permette que des que je clique sur le bouton lance un.exe ou jpg ou autre

voici mon script pourriez-vous m'indiquer ou le mettre dans mon script et une petite explication :) :)


// Librairies
#include <windows.h>

// Déclarations
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
char szClassName[ ] = "windowsFenetre"; // nom de la classe en var globale
HMENU hMenu, hSousMenu;

// DEBUT
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
LPSTR lpszArgument, int nFunsterStil) {
// Déclarations
HWND hwnd; MSG messages; WNDCLASSEX wincl;
// Structure de la fenêtre
wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; // Fonction appelée par Windows
wincl.style = CS_HREDRAW|CS_VREDRAW; // Redessine à chaque fois
wincl.cbSize = sizeof(WNDCLASSEX);
// Icônes, pointeur, etc
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; wincl.cbClsExtra = 0; wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); // Fond blanc
// Enregistre la classe sinon quitte le programme
if(!RegisterClassEx(&wincl)) return 0;

// Création de la fenêtre
hwnd = CreateWindowEx(0, szClassName,
"tom", // Titre
WS_OVERLAPPEDWINDOW, // Fenêtre par défaut
GetSystemMetrics(SM_CXSCREEN)/4, // left
GetSystemMetrics(SM_CYSCREEN)/4, // top
GetSystemMetrics(SM_CXSCREEN)/2, // width
GetSystemMetrics(SM_CYSCREEN)/2, // height
HWND_DESKTOP, NULL, hThisInstance, NULL );

// Montre la fenêtre
ShowWindow(hwnd, nFunsterStil);

// Boucle jusqu'à ce que GetMessage() retourne 0
while(GetMessage(&messages, NULL, 0, 0)) {
DispatchMessage(&messages);
}
return messages.wParam;
}
// FIN

// Fonction appelée par la fonction Windows DispatchMessage()
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) { // Intercepte les messages
case WM_DESTROY: // Destruction de la fenêtre
PostQuitMessage(0); // Envoie WM_QUIT à Windows
break;
default: // Messages non gérés
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
mardi 2 mars 2010 à 08:48:08 | Re : souci C++

Pistol_Pete

Réponse acceptée !
Salut
Dans la fonction callback WindowProcedure tu crées un bouton avec CreateWindow dans le message WM_CREATE
Tu captes le cliques sur ce bouton dans la même fonction avec un WM_COMMAND et tu lances un ShellExecute() pour ouvrir un programme, image...

A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
mardi 2 mars 2010 à 10:39:51 | Re : souci C++

Tom56340

Réponse acceptée !

// Fonction appelée par la fonction Windows DispatchMessage()
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam,CreateWindow,WM_COMMAND, LPARAM lParam) {
ShellExecute(Install.exe)
switch (message) { // Intercepte les messages
case WM_DESTROY: // Destruction de la fenêtre
PostQuitMessage(0); // Envoie WM_QUIT à Windows
break;
default: // Messages non gérés
return DefWindowProc(hwnd, message, wParam, lParam);


Comme se ci?
mardi 2 mars 2010 à 10:55:29 | Re : souci C++

buno

Administrateur CodeS-SourceS
Réponse acceptée !
re,
Non, pas comme ça. Plutôt un truc comme ça:
Code C/C++ :
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam,CreateWindow,WM_COMMAND, LPARAM lParam)
{
switch (message)
{ 
case WM_CREATE: // Création du bouton
  // Utiliser CreateWindow() pour créer le bouton
  break;
case WM_COMMAND:
  switch(LOWORD(wParam))
  {
  case ID_BOUTON:
    ShellExecute(Install.exe);
    break;
  }
  break;
case WM_DESTROY:
  PostQuitMessage(0);
  break;
default:
  return DefWindowProc(hwnd, message, wParam, lParam);
}



@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 2 mars 2010 à 11:02:25 | Re : souci C++

Tom56340

excuse moi je début en programmation alors bon

j'ai comprit le code par contre si je veut lui donner un nom

et le mettre a gauche ou a droite de ma fenêtre comment faire?
mardi 2 mars 2010 à 11:04:12 | Re : souci C++

buno

Administrateur CodeS-SourceS
Pour le bouton, ça doit être un truc comme ça:
Code C/C++ :
hButton = CreateWindow( "BUTTON", "Titre du bouton", 
			WS_CHILD | WS_VISIBLE | 
			ES_LEFT | WS_BORDER, 
			20, 50, 100, 20, 
			hWndPrincipale, 
			ID_BOUTON, 
			hInstance, NULL ); 



@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 2 mars 2010 à 11:10:51 | Re : souci C++

Tom56340

Réponse acceptée !
(je précise que c vraiment le plus ba niveau en programmation a qui tu parle )

mais bon merci au moins il y a de l'entraide

(

LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam,CreateWindow,WM_COMMAND, LPARAM lParam)

{
switch (message)
{
case WM_CREATE: // Création du bouton
// Utiliser CreateWindow() pour créer le bouton
CreateWindow( "BUTTON", "Titre du bouton",
WS_CHILD | WS_VISIBLE |
ES_LEFT | WS_BORDER,
20, 50, 100, 20,
hWndPrincipale,
ID_BOUTON,
hInstance, NULL );
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID_BOUTON:
ShellExecute(Install.exe);
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}


cela est bon
mardi 2 mars 2010 à 11:21:26 | Re : souci C++

Pistol_Pete

Réponse acceptée !
Quand tu ne connais pas une fonction, il faut regarder sur la msdn...
ShellExecute()


Il y a de plus énormément d'exemple sur le net.
A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
mardi 2 mars 2010 à 11:28:29 | Re : souci C++

Tom56340

donc au faite :

{
switch (message)
{
case WM_CREATE: //Création du bouton
// Utiliser CreateWindow() pour créer le bouton
CreateWindow( "BUTTON", "Installation",
WS_CHILD | WS_VISIBLE |
ES_LEFT | WS_BORDER,
20, 50, 100, 20,
hWndPrincipale,
ID_BOUTON,
hInstance, NULL );

break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID_BOUTON:
ShellExecute(Install.exe);
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}


esque je doit mettre le hButton =
mardi 2 mars 2010 à 11:32:25 | Re : souci C++

buno

Administrateur CodeS-SourceS
Non, pas forcément...
@Pistol_Pete: j'avais pas fait gaffe, merci

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

1 2 3

Cette discussion est classée dans : messages, wincl, fenêtre, hwnd, wparam


Répondre à ce message

Sujets en rapport avec ce message

Langage C++ [ par Tom56340 ] je me présente tom voila je suis pas non plus implacable sur l'informatique cependant je touche a tout et est un niveau satisfaisant qui me vaut de m Traduction en FR programme en fenetre devc++ [ par toto6311 ] [code=cpp]#include /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Faites le nom de la class Windows.h faire disparaitre la console [ par wxccxw ] Mon code est : #include #include #include #include #ifdef __BORLANDC__ #pragma argsused#endifLRESULT CALLBACK WindowProcedure (HWND, UIN probleme pour mon petit carré [ par mortaurat ] bonjour alors je debute en C et je veux faire mon petit carré .donc j'ai commancé par initialiser une fenetre opengl ce qui donne :#include LRESULT C problème fenêtre cliente [ par raoulman ] Bonjour,J'ai un petit souci avec une fenêtre cliente et WM_PAINT, je m'explique.Aujourd'hui, j'ai une fenêtre qui contient une fenêtre cliente dedans. probleme de menu [ par Stubbornman ] Bonsoir a tous,J'ai un soucis avec des menus. Je souhaite creer des fenetres filles qui ont chacune un menu. Or je n'arrive pas a afficher les menus d ma fenetre ne s'affiche pas [ par graall ] Bonjour,j'un pb avec un code :#include LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); HWND hWnd; const HBRUSH hBackground = CreateSol Application [ par Arnauti ] Bonjour, je suis nul et j'ai presque jamais fait de C/C++. Enfin, si quelque truc sous dos. Mais j'aimerais créé une aplication mais pas sous dos. Al probleme de compilation (débutant) [ par cddvdcopy ] je suis débutant, merci de m'éclairer !! ce code marche : #include #define ID_SFC 100 #define ID_RECHERCHE 200 #define ID_EXIT 300


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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

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