begin process at 2012 02 12 13:35:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Classe et fenêtre


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

Classe et fenêtre

jeudi 1 juin 2006 à 16:45:27 | Classe et fenêtre

DMK04

Bonjour,

Je voudrais savoir s'il est possible de créer une fenêtre depuis une classe, et si oui comment faut-il procéder ??

Merci,

A+
jeudi 1 juin 2006 à 16:46:38 | Re : Classe et fenêtre

Joky

Membre Club
Oui c'est possible
Ne pas oublier de mettre la procédure de message en static pour un bon fonctionnement

if(!Meilleur("Joky")) return ERREUR;<

jeudi 1 juin 2006 à 17:05:23 | Re : Classe et fenêtre

DMK04

Ok, merci, mais je ne vois pas comment appeler cette fonction depuis mon constructeur ?

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE PrevhInst, LPSTR lpszArgument, int nFunsterStil)

je pense qu'il faut lui changer le nom d'abord, mais après ?

Merci


jeudi 1 juin 2006 à 17:13:38 | Re : Classe et fenêtre

Zootella

WinMain est la première fonction appelé au lancement de ton programme.
jeudi 1 juin 2006 à 17:16:10 | Re : Classe et fenêtre

DMK04

Oui je sais, mais moi je ne veux pa créer la fenêtre au lancement du programme...
jeudi 1 juin 2006 à 17:51:50 | Re : Classe et fenêtre

Joky

Membre Club
Ben imaginons que tu réussisses à créer ta classe...

int __stdcall WinMain(..)
{
    WINDOW myWnd;

    myWnd.Show();
    return 0;
}
un truc dans le genre quoi...

if(!Meilleur("Joky")) return ERREUR;<

jeudi 1 juin 2006 à 18:02:23 | Re : Classe et fenêtre

DMK04

Désolé mais je ne vois pas...

Je veux faire une classe graphe pour tracer un graphique dans uen fenêtre, et je veux que quand dans mon programme principal je fais un "graphe * leGraphe = new graphe()" ca me crée uen fenêtre...

Merci
vendredi 2 juin 2006 à 09:43:08 | Re : Classe et fenêtre

ymca2003

Met le CreateWindow dans le constructeur de la classe.
dimanche 4 juin 2006 à 14:54:17 | Re : Classe et fenêtre

DMK04

Salut,

Merci pour votre aide,

j'ai essayé, mais après j'ai 1 erreur :

error C2440: '=' : cannot convert from 'long (__stdcall grapheGDI::*)(struct HWND__ *,unsigned int,unsigned int,long)' to 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)'

c'est lors de l'initialisation de la WNDCLASS

int grapheGDI::creerFenetre()
{
    HINSTANCE hInst = /*AfxGetResourceHandle()*/ GetModuleHandle(NULL);
    int nFunsterStil = SW_SHOWDEFAULT;

    init();
    MSG Messages;
    WNDCLASS wc;
   
     wc.style = 0;
     wc.lpfnWndProc = FenetreProc;
     wc.cbClsExtra = 0;
     wc.cbWndExtra = 0;
     wc.hInstance = hInst;
     wc.hIcon = LoadIcon(hInst, "A");
     wc.hCursor = LoadCursor(NULL, IDC_ARROW);
     wc.hbrBackground = CreateSolidBrush (0x909090);
     wc.lpszMenuName = "ID_MENU";
     wc.lpszClassName = "AppWnd";
     if (!RegisterClass(&wc))
         return -1;
....
}

LRESULT CALLBACK grapheGDI::FenetreProc(HWND frmhWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{.....}


Il n'arrive pas a convertir parce que "FenetreProc" fait partie de ma classe ??? J'ai essayé de rajouter "grapheGDI::" devant "FenetreProc" mais ça ne marche pas...

Quelqu'un aurait-il une idée ?

Merci,

A+
lundi 5 juin 2006 à 09:00:46 | Re : Classe et fenêtre

ymca2003

Réponse acceptée !
la WndPrpc doit être déclaré static.
POur avoir accees aux membres de la classe depuis la WndProc, passer this en dernier param de CreateWindow
at voir les post au sujet de SetWindowLong et WndProc en méthode static de class (j'ai déjçà répondu à plusiaurs questin s de ce type sur le fotum)

1 2

Cette discussion est classée dans : classe, fenêtre


Répondre à ce message

Sujets en rapport avec ce message

ClassName [ par garslouche ] Bonjour à tous,quand j'utilise Spy++ sur des fenêtres de programmes qui ne sont pas de moi, il donne le texte de la fenêtre et le nom de la classe. Co [API][WIN32] Enregistrement de classe de fenêtre [ par Jeffray ] Bonjour,J'ai un problème pour enregistrer une classe de fenêtre.J'utilise GetClassInfoEx() pour extraire les infos de la classe EDIT créée par Windows Threads 2, le retour! [ par goondy ] Bon, grace a vecchio56, j'ai pu claquer mon thread comme il fallait (cf http://cppfrance.com/forum.v2.aspx?ID=349494&nb=9).J'explique le truc : j'ai u Problème d’accès au contrôle d’une fenêtre. [ par Superweight ] Bonjour a tous,Mon problème est le suivant: lorsque que je crée une nouvelle classe sous un projet SDI, je souhaite pourvoir contrôler les contrôles d FindWindow et nom de classe ? [ par italiasky ] Bonjour, Dans la fonction FindWindow (http://msdn.microsoft.com/en-us/library/ms633499%28VS.85%29.aspx), le premier paramètre est le nom de classe et Bouton / CView [ par Ombitious_Developper ] Salut :J'ai créé un projet en MFC de type SDI.Je veux ajouter un Bouton dans la zone client de ma fenêtre.La classe de base de ma fenêtre est la class opengl bug [ par darmoor ] Voila je vien de debuter dans l'openGL et selon le tutorial jai fait ce qu'il falai et sa me marque une erreur:le code:#include #includ Récupérer le contrôle d’une fenêtre par une nouvelle classe [ par Superweight ] Bonjour, Je développe en c++ sous visual studio 6.0, je suis débutant dans le 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. Splitter [ par Chapi72 ] Bonjour,je développe en VC 6.0 et j'ai créé un splitter permettant de diviser ma fenêtre.Au lancement de l'exe, j'ai vonlontairement voulu que la fenê


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,622 sec (4)

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