begin process at 2012 05 30 16:59:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Savoir quand on clique sur un bouton


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

Savoir quand on clique sur un bouton

dimanche 8 février 2004 à 18:23:44 | Savoir quand on clique sur un bouton

cyberlewis

Slt à tous,

Voilà j'ai un code que j'ai fait, et normalement si on cliques sur les boutons, ça lance la fonction Encode() ou Decode() en fonction du bouton cliqué ...


En revanche, le code ne fonctionne pas, j'arrive par contre à gérer les clics sur les boutons sur la fenêtre, sur les boutons aussi (mais pas sur un en particulier) ...


Pouvez-vous m'aider à trouver l'erreur svp ???


#include "windows.h"



#define IDC_EDIT_SRC_FILE 0x01
#define IDC_EDIT_DEST_FILE 0x02
#define IDC_BUTTON_ENCODE 0x03
#define IDC_BUTTON_DECODE 0x04

static HWND hEdit_Src_File = NULL;
static HWND hEdit_Dest_File = NULL;
static HWND hButton_Src_File = NULL;
static HWND hButton_Dest_File = NULL;



HWND hWnd;
HINSTANCE hInst;



int Encode()
{
MessageBox(hWnd, "TEST", "TEST", MB_OK);
return 0;
}

int Decode()
{
MessageBox(hWnd, "TEST2", "TEST2", MB_OK);
return 0;
}



Code:
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch(message)
{
case WM_COMMAND :
if ((LOWORD(wParam) == IDC_BUTTON_ENCODE) && (HIWORD(wParam) == BN_CLICKED))
{
Encode();
}
else if ((LOWORD(wParam) == IDC_BUTTON_DECODE) && (HIWORD(wParam) == BN_CLICKED))
{
Decode();
}
break;

case WM_CREATE :

hEdit_Src_File = CreateWindow( "EDIT", "",
WS_CHILD | WS_VISIBLE |
ES_LEFT | WS_BORDER,
20, 8, 100, 20,
hWnd,
NULL,
hInst, NULL );

hEdit_Dest_File = CreateWindow( "EDIT", "",
WS_CHILD | WS_VISIBLE |
ES_LEFT | WS_BORDER,
20, 30, 100, 20,
hWnd,
NULL,
hInst, NULL );

hButton_Src_File = CreateWindow( "BUTTON", "Encoder",
WS_CHILD | WS_VISIBLE |
ES_LEFT | WS_BORDER,
20, 50, 100, 20,
hWnd,
NULL,
hInst, NULL );

hButton_Dest_File = CreateWindow( "BUTTON", "Décoder",
WS_CHILD | WS_VISIBLE |
ES_LEFT | WS_BORDER,
140, 50, 100, 20,
hWnd,
NULL,
hInst, NULL );

break;

case WM_DESTROY :

PostQuitMessage(0);

break;

case WM_PAINT :
{

PAINTSTRUCT PaintStruct;

HDC PaintDC=BeginPaint( hWnd, &PaintStruct );

EndPaint( hWnd, &PaintStruct );
}
break;
}
return DefWindowProc( hWnd, message, wParam, lParam );
}



int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpszCmpParam,int nCmdShow)
{
WNDCLASS W;
HWND hWnd;
LPSTR Name = "Fenêtre Windows";
MSG msg;

memset( &W, 0, sizeof(WNDCLASS) );

W.style = CS_HREDRAW | CS_VREDRAW;
W.hInstance = hInst;
W.lpszClassName = Name;
W.hbrBackground =(HBRUSH) COLOR_WINDOW;
W.lpfnWndProc = WndProc;

RegisterClass( &W );

hWnd = CreateWindowEx( 0, Name, Name, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX, 0, 0, 300, 300,
NULL, NULL, hInst, NULL );

ShowWindow( hWnd, nCmdShow );
UpdateWindow( hWnd );




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

}



@+ Merci d'avance ...

http://www.realtuning.online.fr
dimanche 8 février 2004 à 19:56:53 | Re : Savoir quand on clique sur un bouton

Arnotic

Administrateur CodeS-SourceS
Bonjour,

Il suffit de :

(LOWORD(wParam) == IDC_BUTTON_ENCODE)




@+
Arnotic
Admin CS, MVP Visual C++
dimanche 8 février 2004 à 23:25:05 | Re : Savoir quand on clique sur un bouton

ymca2003

lors de la création de tes boutons, il faut leur donner l'Id de commande dans le paramètres HMENU :


hButton_Src_File = CreateWindow( "BUTTON", "Encoder",
WS_CHILD | WS_VISIBLE |
ES_LEFT | WS_BORDER,
20, 50, 100, 20,
hWnd,
(HMENU)IDC_BUTTON_ENCODE ,
hInst, NULL );


lundi 9 février 2004 à 20:46:53 | Re : Savoir quand on clique sur un bouton

Matt67

Bonsoir,

Rien a voir avec le sujet mais pourquoi declares tu les handles de tes controles en static si tu les declares en globales ??? C'est bon si tu les declarais dans ta WindowProc.

Matt...


Cette discussion est classée dans : file, hwnd, ws, wparam, hinst


Répondre à ce message

Sujets en rapport avec ce message

Edit Control [ par cybermatthieu ] Bonjours,Je suis en Train d'apprendre comment progrmmer en Win32 avec la Class Windows.h. Ce petit programme ne fait q'afficher des caracter mais j'ai Creer un controle standard API Win32 [ par Kazuya ] Bojour,Alors voila, j'essaie de me mettre aux API win32 et la j'ai un petit probleme, lorsque j'affiche un controle dans ma feuille principale, il sci Où passent mes tabulations... [ par Nebula ] Bonjour, En utilisant des richedits dans une fenêtre créée avec CreateWindowEx et dont les messages sont traités avec IsDialogMessage, je me suis ape pb affichage ComboBox dans Dialog [ par Guillemouze ] Salut tout le monde,j'ai un souci d'affichage de mon combo dans un dialog. Quand je click sur la fleche pour afficher la liste, il ne m'affiche rien!P Win32 problème. [ par TeniX ] Salut, Voila j'ai crée de maniere simple une source qui exprime mon problème , je trouve pas la source du problème , enfaite quand les fenêtres sont l Combox me bloquant l'appli [ par SnOOpss ] Bonjour j'ai essayé de simplifier au maximum mon code mais meme codé comme cela j'ai le meme probleme. Tant que je clique par sur le comboBox tout est Probeme avec "CreateWindow" ! [ par ElectricalMan ] Bjr, J'ai l'impression que j'ai un probleme avec Create PB avec CreateWindow ?! [ par ElectricalMan ] Bjr, J'ai l'impression que j'ai un probleme avec CreateWindow, car je n'arrive pas à afficher dans la fenêtre principale un objet "edit", "bouton" et petit problème de saisie [ par snpier wolf ] Bonjours ou bon soir à tous,voila j'ais fait un bou de code en win32 et il marche.il marche ?non.il y a un petit  truc qui ne marche pas, quand je m'e contrôle EDIT retour à la ligne forcé [ par paramotdam ] Bonjour,J'ai créer une fenêtre (un peu comme msn) et j'ai créer un EDIT :hEdit[0]=CreateWindow("EDIT", "", WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_W


Nos sponsors


Sondage...

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

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