begin process at 2012 05 30 14:43:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

recherche sources C++


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

recherche sources C++

vendredi 5 novembre 2004 à 09:41:27 | recherche sources C++

yerosnimus

Bonjour,

J'ai quelques problèmes pour comprendre le fonctionnement des menus, je recherche donc des sources en C++ (si possible développée avec Dev-C++) utilisant :

- un fichier rsrc.rc pour créer les menus
- une application ayant au moins un début d'aide en ligne (puisque c'et ça qui me bloque).

Et si possible une petite application, ça serait le bonheur :-)

Merci de votre aide

Jerome
vendredi 5 novembre 2004 à 11:41:51 | Re : recherche sources C++

racpp

Administrateur CodeS-SourceS
Salut,
Pour mieux comprendre le fonctionnement des menus, je pense qu'il est préférable d'utiliser les API directement sans passer par les fichiers ressources. Voici des fonctions pour les menus:
CreateMenu()
CreatePopupMenu()
AppendMenu()
InsertMenuItem()
SetMenu()
DestroyMenu()
Etc..

Ce ne sont que des exemples de fonctions API. Leur utilisation n'est pas compliquée et présente aussi l'avantage d'être compatible avec tous les compilateurs sous Windows. Cela permet également de changer les menus pendant l'exécution du programme. Voici la liste complète des fonction:

MSDN : Les menus
vendredi 5 novembre 2004 à 11:49:14 | Re : recherche sources C++

yerosnimus

Bonjour,

en fait je me suis mal exprimé, mon problème c'est de créer une deuxième fenêtre sans que ma fenêtre principale soit détruite.

Ma deuxième fenêtre est appelée par le menu AIDE de ma fenêtre principale.

Merci en tout cas de votre réponse précédente et peut êter de vos réponses futures :-)

Jerome
vendredi 5 novembre 2004 à 12:57:15 | Re : recherche sources C++

racpp

Administrateur CodeS-SourceS
Pour cela, il y'a plusieurs solutions. Ca dépend de la nature de cette deuxième fenêtre. Tu peux créer cette deuxième fenêtre exactement de la même façon que la première. Après avoir défini tous les membres de la classe de cette fenêtre, tu appelles la fonction CreateWindowEx() avec le style WS_CHILD. Cet appel peut se faire suite au clic sur AIDE. Il peut aussi se faire pendant le lancement de la première fenêtre dans le traitement du message WM_CREATE. Dans ce cas la deuxième fenêtre ne doit pas avoir le style WS_VISIBLE. Elle restera invisible tant qu'on n'a pas fait ShowWindow(hwnd2, SW_SHOW). Cette fonction sera donc appelée suite au clic sur AIDE. Pour la cacher de nouveau on fait ShowWindow(hwnd2,SW_HIDE). A toi de voir ce qui te convient.
vendredi 5 novembre 2004 à 14:53:53 | Re : recherche sources C++

yerosnimus

C'est la première solution que j'ai choisie mais quand je clique sur "AIDE" rien ne se passe. Je pense que j'utilise mal cette fonction CreateWindowsEx().
Voici ce que j'ai fait (en résumé) :

#include <windows.h>
using namespace std;

/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */

/* The Window structure */
...
}
/* This function is called by the Windows function DispatchMessage( ) */
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_COMMAND:
{
case 104:
{
HINSTANCE hInstance;
HWND hwnd2; /* This is the handle for our window */
WNDCLASSEX wincl2; /* Data structure for the windowclass */

/* The Window structure */
wincl2.hInstance = hInstance;
wincl2.lpszClassName = szClassName;
wincl2.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl2.style = CS_DBLCLKS; /* Catch double-clicks */
wincl2.cbSize = sizeof(WNDCLASSEX);

/* Register the window class, if fail quit the program */
if(!RegisterClassEx(&wincl2)) return 0;

/* The class is registered, let's create the program*/
hwnd2 = CreateWindowEx(
WS_EX_CLIENTEDGE, /* Extended possibilites for variation */
szClassName, /* Classname */
"Présentation", /* Title Text */
WS_CHILD,
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
544, /* The programs width */
375, /* and height in pixels */
HWND_DESKTOP,
NULL, /* No menu */
hInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);

ShowWindow(hwnd2, SW_SHOW);
WinHelp (hwnd2,"D:\\Data\\C++\\MesProjets\\Projet1\\HLP32\\GENXMLAIDE.HLP>Présentation",HELP_CONTENTS,0);
break;
}
} // fin du switch pour la gestion du menu

} // fin du WM_COMMAND
}
vendredi 5 novembre 2004 à 19:20:50 | Re : recherche sources C++

racpp

Administrateur CodeS-SourceS
Si tu veux utiliser la fonction WinHelp() tu n'as pas besoin de créer une deuxième fenêtre car cette fonction la crée automatiquement. Si tu veux que ta 2ème fenêtre ressemble à celle de WinHelp alors là il faut faire attention à plusieurs choses.
- Si les 2 fenêtres sont de la même classe, RegisterClassEx() ne doit être appelée qu'une seule fois.
- La 2ème fenêtre ne doit pas être créée avec le style WS_CHILD afin qu'elle soit indépendante.
- La 2ème fenêtre doit avoir sa propre procédure de gestion des messages.
- Etc...

Si tu as un fichier HLP, je pense qu'il est préférable d'utiliser la fonction WinHelp(). Pour cela il te suffira d'appeler cette fonction à la suite du clic sur AIDE. C'est beaucoup plus facile et pratique.



Cette discussion est classée dans : application, possible, recherche, sources, menus


Répondre à ce message

Sujets en rapport avec ce message

AU SECOUR !!! Recherche sources othello d'urgence [ par merryl ] bouc_sindinQui pourrais me donner les sources de l'othello en pASCAL ou simplement les algo d'urgence...SVPbouc_sindin@voila.fr recherche sources [ par odan71 ] slt à tous,je travaille sur la base de registre et j'aurais besoin des sources de regmon ou d'une ame charitable pour m'expliquer comment savoir qu'un Arbre de fichiers [ par doggyk ] Salut à tous! Voilà, je souhaiterais créer une interface possédant un arbre de fichiers sur la gauche sur le même principe que Visual C++, c'est-à-dir Recherche sources !!! URGENT [ par cloogy ] Bonjour, je cherche les sources d'un programme modélisant un moulin à vent ou un moteur à explosion :-)Merci a tous !!!!! Application SDI VC++ [ par dokoeur ] bonjour,Voila j'aurais une question a vous poser. J'ai fait une appli SDI sous VC++ et j'aimerai savoir s'il était possible de changer la form du main shellExecute [ par vincelefou ] Bonjour, J’aimerai faire un petit programme (en C + API) permettant de lancer une application en lui transmettant des paramètres. C’est possible avec Recherche des sources et tutoriaux pour apprendre la programmation Windows en C++ [ par ndubien ] Salut, Je recherche des sources et tutoriaux pour apprendre la programmation Windows en C++< recherche du dossier application data [ par fuliculi ] Bonjour à tous,je cherche le répertoire "application data" de la session en court pour y retrouver des fichiers de flash *.sol (shared object) histoir Menus pour ecran LCD [ par vavav ] Bonjour a tous,Je cherche, dans le cadre d'une application embarquée codée en C, à piloter un petit ecran LCD de quelques lignes, sur lequel on ne peu recherche de codes sources [ par badou621 ] je cherche une programme de gestion d'etudiant rédigé en C


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

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