begin process at 2012 05 30 04:19:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Menu dans dialogbox


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

Menu dans dialogbox

mardi 19 juillet 2005 à 00:36:14 | Menu dans dialogbox

algori

Bonjour,
Voila, je cherche à mettre un menu dans ma dialog box du type Fichier   Edition ...
J'ai vu des exemples sur codes sources mais c'était sur des fenetres normales et non des dialog box.
J'aimerai donc savoir si c'est le même code pour un menu dans une dialog box ou si c'est un code différent ?
Je travaille sous Dev C++ mais les exemples étaient faits sous VS C++. Est ce que la syntaxe est différente dans le fichier ressource .rc ou dans le code ?
Etant débutant en Win32, j'ai un peu de mal à m'y faire (mais j'espère que ça viendra).
Merci pour vos futures réponses.
@++
mardi 19 juillet 2005 à 08:46:30 | Re : Menu dans dialogbox

AlexMAN

Membre Club
Je ne sais pas comment tu vas pouvoir faire avec Dev-C++, mais pour ajouter un menu à une dialog box, il te suffit de créer un menu et de le notifier dans la propriété 'Menu' de ta dialog.

+2(p - n)
mardi 19 juillet 2005 à 12:38:44 | Re : Menu dans dialogbox

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
LoadMenu() et SetMenu() par exemple.
Va sans dire que pour une dialog, il est nettement préférable et plus rapide en chargement de passer par une ressource en rc.

ciao...
BruNews, MVP VC++
mardi 19 juillet 2005 à 13:16:47 | Re : Menu dans dialogbox

algori

Bien sûr c'est ce que je vais faire.
mardi 19 juillet 2005 à 16:38:29 | Re : Menu dans dialogbox

Joky

Membre Club
C'est sur que faire des Menu avec DevC++ c'est po facile lol
Télécharge ResHacker et regarde des exemples de Menu ça aide bien beaucoup :)

void Aurevoir( void ); //Bonne journée

mardi 19 juillet 2005 à 18:15:42 | Re : Menu dans dialogbox

algori

Salut Joky,
Peux-tu me donner le lien de ResHacker ?
Merci sinon.
@++
mardi 19 juillet 2005 à 18:59:13 | Re : Menu dans dialogbox

algori

Bon, ok pour ResHacker. Mais le seul truc qui me dérange, c'est que je ne sais pas comment l'écrire dans le code. Je dois m'y prendre comme un pied mais c'est pour le code que je bloque (je sais comme l'a dit Brunews qu'il faut utiliser LoadMenu et SetMenu mais je ne trouve des exemples que pour des fenetres classiques et pas des dialog box. Peut être avez vous des exemples de menus dans des dialogbox avec Dev C++). Sinon, pas le choix, je me rabattrai sur des fenetres classiques.
@++ 

mardi 19 juillet 2005 à 19:24:24 | Re : Menu dans dialogbox

Joky

Membre Club
Réponse acceptée !
Bé tu donnes la main à ta dialogbox avec DialogBox( )...
Tu traites les messages avec une procédure du type : LRESULT CALLBACK DlgProc( HWND, UINT, WPARAM, LPARAM);

et donc dans le message WM_INITDIALOG:
tu fais un HMENU hMenu = LoadMenu( hInst, MAKEINTRESOURCE(IDM_MENU));
apres tu testes, si marches, tu fais un SetMenu(hWnd, hMenu);
et tu retournes 1 pke c WM_INITDIALOG

void Aurevoir( void ); //Bonne journée

mardi 19 juillet 2005 à 20:17:13 | Re : Menu dans dialogbox

algori

Voici le code, ça va être plus simple :
dans fenetre.cpp :
#include <windows.h>
#include "ressource.h"

HINSTANCE hInst;

BOOL CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam,LPARAM lParam)
{

     switch (message)
  {
            case WM_INITDIALOG:
            {
                 HMENU hMenu = LoadMenu( hInst, MAKEINTRESOURCE(IDM_MENU));
                 SetMenu(hDlg, hMenu);
                 return 1;
            }


            case WM_COMMAND:// Action sur l'un des controles
      {
            break;
            }

            case WM_CLOSE:
            {
                  EndDialog(hDlg,0);
                  return 1;
            }

            default:
            break;
            }

return 0;
}

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{

    hInst = hInstance;

    LPDLGTEMPLATE lpdt = ( LPDLGTEMPLATE) GlobalAlloc(GPTR, 512);

    if (!lpdt) return 1;

    lpdt->style = DS_CENTER | WS_POPUP | WS_SYSMENU | DS_MODALFRAME | WS_CAPTION | WS_MINIMIZEBOX;
    lpdt->x = lpdt->y  = 0;  lpdt->cx = 313; lpdt->cy = 180;

    DialogBoxIndirect(hInstance,lpdt,NULL,(DLGPROC)DialogProc);

    GlobalFree((HGLOBAL)lpdt);

 return 0;
}

dans ressource.h :
#define CM_FILE_SAVEAS  100
#define CM_FILE_EXIT 101
#define CM_FILE_OPEN    102
#define CM_ABOUT        103
#define IDM_MENU        200  //j'étais obligé de le définir car une erreur apparaissait sinon

dans rsrc.rc :
500 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "C:/Dev-C++/Icon/MAINICON.ICO"
#include "ressource.h"

IDM_MENU MENU
{
 POPUP "&File"
 {
  MENUITEM "&Open...", CM_FILE_OPEN
  MENUITEM "Save &As...", CM_FILE_SAVEAS
  MENUITEM SEPARATOR
  MENUITEM "E&xit", CM_FILE_EXIT
 }

 POPUP "&Help"
 {
  MENUITEM "&About", CM_ABOUT
 }

}

Voila ! Peut être qu'il y a une erreur où un oubli ???
@++

mardi 19 juillet 2005 à 20:25:45 | Re : Menu dans dialogbox

algori

Réponse acceptée !
Erreur trouvée !
C'est :
500 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "C:/Dev-C++/Icon/MAINICON.ICO"
#include "ressource.h"

IDM_MENU MENU
{
 POPUP "File"
 {
  MENUITEM "Open...", CM_FILE_OPEN
  MENUITEM "Save As...", CM_FILE_SAVEAS
  MENUITEM SEPARATOR
  MENUITEM "Exit", CM_FILE_EXIT
 }

 POPUP "Help"
 {
  MENUITEM "&About", CM_ABOUT
 }

}
et non :
500 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "C:/Dev-C++/Icon/MAINICON.ICO"
#include "ressource.h"

IDM_MENU MENU
{
 POPUP "&File"
 {
  MENUITEM "&Open...", CM_FILE_OPEN
  MENUITEM "Save &As...", CM_FILE_SAVEAS
  MENUITEM SEPARATOR
  MENUITEM "E&xit", CM_FILE_EXIT
 }

 POPUP "&Help"
 {
  MENUITEM "&About", CM_ABOUT
 }

}
Merci beaucoup à tous.
@++


1 2

Cette discussion est classée dans : menu, code, box, dialog, dialogbox


Répondre à ce message

Sujets en rapport avec ce message

directdraw et dialog box [ par mannix ] Salut à tous, je débute en c++ et j'ai un peu de mal à comprendre tous les mecanismes qui permettent de manipuler facilement le fenetres. Je voudrais ouvrir une dialog box d'apres un sous menu [ par skouby ] bonjours, simple d'apparence pour moi c'est le case-tete   j,ai fais un MFC App simple document avec menu , maintenant je voudrais que lorsque je Tab control [ par Makaviel ] Bonjour,Je travaille sous EVC++( avec les MFC) et j'ai un petit problème.J'ai créé une dialog box, un tab control.Je voudrais lors de l'appui d'un ong [C++ Win32] un menu avec une fenêtre Dialog [ par F0ra ] Je n'arrive pas à afficher un menu avec une fenêtre Dialog en C++ Win32Comme ceci :http://pages.cpsc.ucalgary.ca/~carman/481/examples/vb.net/menus.2.j Ouvrir une dialog box au démarrage [ par genetin ] Bonjour,Je voudrais qu'au démarrage de mon application, la fenêtre principale soit affichée, de même qu'une dialog box (qui serait active).J'ai essayé scroll bar dialog box [ par eklouste ] Bonjour,  Je suis entrain de développer une petite application à base de boites de dialog sous windows XP,visual .NET, en utilisant les MFC. J'affiche Codeur \ Décodeur du code MORSE [ par lamone4 ] Bon voila , j'ai un mini projet en langage C dont le but est de réaliser un codeur\décodeur du code MORSE avec interface graphique en utilisant GTK+ c Appeler du code après que la Dialog soit chargée [ par Nixeus ] Bonjour à tous, Cela fais deux ans que je n'ai pas repratiqué de C++ en MFC? et j'ai beaucoup perdu. Je souhaite appeller du code une fois que me D lien entre classes... [ par djbneben ] salut tout le monde, en ce moment je programme un menu, qui sera utiliser dasn mes futurs jeux! donc je vous décris ce que je me suis dis : j'ai crée comment mettre un menu dans un cadre à l'aide de gotoxy en c? et les couleurs à des endroits choisi alors? [ par karol8 ] [b]Slt à tous! je voudrais savoir si l'interface d'un projet pour un menu de code d'un programme en c se fait dans le même fichier que le code source,


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

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