|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : API :: Gestion de plusieurs fenetres [ Archives / API ] (JackosKing)
Informations & options pour cette discussion
|
mardi 24 juin 2003 à 15:44:53 |
API :: Gestion de plusieurs fenetres

JackosKing
|
Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion des messages... j'ai qu'une seule fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) et dedant je doit faire un compraison de HWDN.. genre: if (hWnd = hWnd4)... le probleme etant que les comparaison deviennenet tres vite lourde (meme pas optimisable par un switch car le nombre n'est pas constant. je voulais savoir si il etait possible de generer une fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) pour chaque fenetre, sans avoir a fair soit meme la coparaison des hWnd vlà thx:) JackosKing For EvEr
|
|
|
|
mardi 24 juin 2003 à 16:05:36 |
Re : API :: Gestion de plusieurs fenetres

BruNews
|
Faut leur definir un type de comportement et en fonction de cela faut les sous classer immediatement vers une callback specifique. BruNews, ciao...
------------------------------- Réponse au message : -------------------------------
> Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion des messages... > j'ai qu'une seule fonction: > long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) > et dedant je doit faire un compraison de HWDN.. > genre: if (hWnd = hWnd4)... > le probleme etant que les comparaison deviennenet tres vite lourde (meme pas optimisable par un switch car le nombre n'est pas constant. > je voulais savoir si il etait possible de generer une fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) pour chaque fenetre, sans avoir a fair soit meme la coparaison des hWnd > > vlà thx:) > > > > JackosKing For EvEr
|
|
|
|
mardi 24 juin 2003 à 23:28:02 |
Re : API :: Gestion de plusieurs fenetres

JackosKing
|
?? le comportement, je ne le connait pas , puisqu'il peu charger n'importe quel plug.. pour le callback.. je comprend pas:(
perso j'ai fait qqc dans ce genre: WndProc.. { for (in i = 0; i<n; i++) { WNDPROC(i); }
mais je trouve pas ca top :( JackosKing For EvEr
------------------------------- Réponse au message : -------------------------------
> Faut leur definir un type de comportement et en fonction de cela faut les sous classer immediatement vers une callback specifique. > BruNews, ciao... > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion des messages... > > j'ai qu'une seule fonction: > > long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) > > et dedant je doit faire un compraison de HWDN.. > > genre: if (hWnd = hWnd4)... > > le probleme etant que les comparaison deviennenet tres vite lourde (meme pas optimisable par un switch car le nombre n'est pas constant. > > je voulais savoir si il etait possible de generer une fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) pour chaque fenetre, sans avoir a fair soit meme la coparaison des hWnd > > > > vlà thx:) > > > > > > > > JackosKing For EvEr >
|
|
|
|
mardi 24 juin 2003 à 23:38:04 |
Re : API :: Gestion de plusieurs fenetres

BruNews
|
une fenetre doit avoir un pointeur sur fonction callback pour RegisterClass(), c'est la wndproc qu'on lui definit. Il est possible de le changer par: oldproc = SetWindowLong(hwnd, GWL_WNDPROC, newproc); ce qu'on appelle sous classement. BruNews, ciao...
------------------------------- Réponse au message : -------------------------------
> ?? > le comportement, je ne le connait pas , puisqu'il peu charger n'importe quel plug.. pour le callback.. je comprend pas:( > > perso j'ai fait qqc dans ce genre: > WndProc.. > { > for (in i = 0; i<n; i++) > { > WNDPROC(i); > } > > mais je trouve pas ca top :( > JackosKing For EvEr > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Faut leur definir un type de comportement et en fonction de cela faut les sous classer immediatement vers une callback specifique. > > BruNews, ciao... > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion des messages... > > > j'ai qu'une seule fonction: > > > long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) > > > et dedant je doit faire un compraison de HWDN.. > > > genre: if (hWnd = hWnd4)... > > > le probleme etant que les comparaison deviennenet tres vite lourde (meme pas optimisable par un switch car le nombre n'est pas constant. > > > je voulais savoir si il etait possible de generer une fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) pour chaque fenetre, sans avoir a fair soit meme la coparaison des hWnd > > > > > > vlà thx:) > > > > > > > > > > > > JackosKing For EvEr > > >
|
|
|
|
mercredi 25 juin 2003 à 00:24:21 |
Re : API :: Gestion de plusieurs fenetres

JackosKing
|
donc si j'ai bien compris:): Pour le moment toutes mes fenêtres sont gérée par le wndproc défini par la classe au début du programme.. Néanmoins a chaque fenêtre étant défini un hWnd, je peux definir une autre wndproc par la fonction cité précédemment?
Si c'est ça, alors c'est #top#
NB: à quoi sert d'enregistrer le oldproc?
JackosKing For EvEr
------------------------------- Réponse au message : -------------------------------
> une fenetre doit avoir un pointeur sur fonction callback pour RegisterClass(), c'est la wndproc qu'on lui definit. Il est possible de le changer par: > oldproc = SetWindowLong(hwnd, GWL_WNDPROC, newproc); > ce qu'on appelle sous classement. > BruNews, ciao... > > > ------------------------------- > Réponse au message : > ------------------------------- > > > ?? > > le comportement, je ne le connait pas , puisqu'il peu charger n'importe quel plug.. pour le callback.. je comprend pas:( > > > > perso j'ai fait qqc dans ce genre: > > WndProc.. > > { > > for (in i = 0; i<n; i++) > > { > > WNDPROC(i); > > } > > > > mais je trouve pas ca top :( > > JackosKing For EvEr > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Faut leur definir un type de comportement et en fonction de cela faut les sous classer immediatement vers une callback specifique. > > > BruNews, ciao... > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion des messages... > > > > j'ai qu'une seule fonction: > > > > long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) > > > > et dedant je doit faire un compraison de HWDN.. > > > > genre: if (hWnd = hWnd4)... > > > > le probleme etant que les comparaison deviennenet tres vite lourde (meme pas optimisable par un switch car le nombre n'est pas constant. > > > > je voulais savoir si il etait possible de generer une fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) pour chaque fenetre, sans avoir a fair soit meme la coparaison des hWnd > > > > > > > > vlà thx:) > > > > > > > > > > > > > > > > JackosKing For EvEr > > > > > >
|
|
|
|
mercredi 25 juin 2003 à 00:31:46 |
Re : API :: Gestion de plusieurs fenetres

BruNews
|
et oui le sous classement est super top. Mais enregistre bien la oldproc pour pouvoir l'appeler ou la restituer si besoin. Pas besoin de variable supplementaire, tu peux coller ce pointeur dans le membre cbWndExtra par exemple, encore faut-il le demander au systeme. BruNews, ciao...
------------------------------- Réponse au message : -------------------------------
> donc si j'ai bien compris:): > Pour le moment toutes mes fenêtres sont gérée par le wndproc défini par la classe au début du programme.. > Néanmoins a chaque fenêtre étant défini un hWnd, je peux definir une autre wndproc par la fonction cité précédemment? > > Si c'est ça, alors c'est #top# > > NB: à quoi sert d'enregistrer le oldproc? > > > JackosKing For EvEr > > > ------------------------------- > Réponse au message : > ------------------------------- > > > une fenetre doit avoir un pointeur sur fonction callback pour RegisterClass(), c'est la wndproc qu'on lui definit. Il est possible de le changer par: > > oldproc = SetWindowLong(hwnd, GWL_WNDPROC, newproc); > > ce qu'on appelle sous classement. > > BruNews, ciao... > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > ?? > > > le comportement, je ne le connait pas , puisqu'il peu charger n'importe quel plug.. pour le callback.. je comprend pas:( > > > > > > perso j'ai fait qqc dans ce genre: > > > WndProc.. > > > { > > > for (in i = 0; i<n; i++) > > > { > > > WNDPROC(i); > > > } > > > > > > mais je trouve pas ca top :( > > > JackosKing For EvEr > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Faut leur definir un type de comportement et en fonction de cela faut les sous classer immediatement vers une callback specifique. > > > > BruNews, ciao... > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion des messages... > > > > > j'ai qu'une seule fonction: > > > > > long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) > > > > > et dedant je doit faire un compraison de HWDN.. > > > > > genre: if (hWnd = hWnd4)... > > > > > le probleme etant que les comparaison deviennenet tres vite lourde (meme pas optimisable par un switch car le nombre n'est pas constant. > > > > > je voulais savoir si il etait possible de generer une fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) pour chaque fenetre, sans avoir a fair soit meme la coparaison des hWnd > > > > > > > > > > vlà thx:) > > > > > > > > > > > > > > > > > > > > JackosKing For EvEr > > > > > > > > > >
|
|
|
|
mercredi 25 juin 2003 à 00:52:04 |
Re : API :: Gestion de plusieurs fenetres

JackosKing
|
ok thx:) JackosKing For EvEr
------------------------------- Réponse au message : -------------------------------
> et oui le sous classement est super top. > Mais enregistre bien la oldproc pour pouvoir l'appeler ou la restituer si besoin. > Pas besoin de variable supplementaire, tu peux coller ce pointeur dans le membre cbWndExtra par exemple, encore faut-il le demander au systeme. > BruNews, ciao... > > > ------------------------------- > Réponse au message : > ------------------------------- > > > donc si j'ai bien compris:): > > Pour le moment toutes mes fenêtres sont gérée par le wndproc défini par la classe au début du programme.. > > Néanmoins a chaque fenêtre étant défini un hWnd, je peux definir une autre wndproc par la fonction cité précédemment? > > > > Si c'est ça, alors c'est #top# > > > > NB: à quoi sert d'enregistrer le oldproc? > > > > > > JackosKing For EvEr > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > une fenetre doit avoir un pointeur sur fonction callback pour RegisterClass(), c'est la wndproc qu'on lui definit. Il est possible de le changer par: > > > oldproc = SetWindowLong(hwnd, GWL_WNDPROC, newproc); > > > ce qu'on appelle sous classement. > > > BruNews, ciao... > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > ?? > > > > le comportement, je ne le connait pas , puisqu'il peu charger n'importe quel plug.. pour le callback.. je comprend pas:( > > > > > > > > perso j'ai fait qqc dans ce genre: > > > > WndProc.. > > > > { > > > > for (in i = 0; i<n; i++) > > > > { > > > > WNDPROC(i); > > > > } > > > > > > > > mais je trouve pas ca top :( > > > > JackosKing For EvEr > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > Faut leur definir un type de comportement et en fonction de cela faut les sous classer immediatement vers une callback specifique. > > > > > BruNews, ciao... > > > > > > > > > > > > > > > ------------------------------- > > > > > Réponse au message : > > > > > ------------------------------- > > > > > > > > > > > Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion des messages... > > > > > > j'ai qu'une seule fonction: > > > > > > long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) > > > > > > et dedant je doit faire un compraison de HWDN.. > > > > > > genre: if (hWnd = hWnd4)... > > > > > > le probleme etant que les comparaison deviennenet tres vite lourde (meme pas optimisable par un switch car le nombre n'est pas constant. > > > > > > je voulais savoir si il etait possible de generer une fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) pour chaque fenetre, sans avoir a fair soit meme la coparaison des hWnd > > > > > > > > > > > > vlà thx:) > > > > > > > > > > > > > > > > > > > > > > > > JackosKing For EvEr > > > > > > > > > > > > > > >
|
|
|
Cette discussion est classé dans : fonction, long, gestion, hwnd, uint
Répondre à ce message
Sujets en rapport avec ce message
gestion du clavier [ par Myts ]
SalutJe programme sous TC++ (turbo c++) sous dos.Et j'ai un probleme concernant la gestion du clavier.Mon jeux, prochainement sur ce site, doit effect
gestion multi utlisateur [ par marelo87 ]
bonjour,j ai deux question:- j aimerais savoir comment faire "attendre" une fonction. dans un programme le serveur doi recevoir desdonnées taper par l
thread sur WndProc [ par kidpigeyre ]
G une fonction WndProc chargé de réaliser tout mon programme (application GUI) (avec fenetre windows) et jmerai pouvoir faire un thread de cette fonct
api :: SetWindowLong(hWnd, GWL_WNDPROC, Twiny::WndProc); probleme:( [ par JackosKing ]
Voilà je voulais utilisé cette fonction comme on me l'avait conseillé, mais j'ai une erreure:E:\TinyShell\Twiny.cpp(56) : error C2664: 'SetWindowLongA
HWND Fonction [ par Crew209 ]
Crew209J'arive pas a utilisé vos fonction :'( ! pouvez vous détaillé chaque param svp ?? Merci BOCOUP !
Probleme de Timer avec SetCursorPos [ par Maegis ]
Voila je fais une appli Win32 qui necesite l'emploi d'un timerLe probleme c'est que je ne recois jamois le message WM_TIMER ,en fait je le recois si j
Utilisation d'une fonction callback [ par laurentl2000 ]
Bonjour, Voici une fonction callback destinée à envoyer les titres des fenêtres IE ouvertes dans une listbox... BOOL CALLBACK EnumWindowsProc(HWND hwn
Mélange entre C++ et Win32 [ par vecchio56 ]
J'ai décidé d'encapsuler mes fenêtres dans des classes, mais je me trouve confronté à un problème: en gros je n'arrive pas à changer de WndProc en uti
Gestion des couleurs [ par lilington ]
salut j'aimerai savoir s'il existe une fonction pour convertire 3 teintes de couleurs en index: j'utilise la fonction SetPixel(Hwnd,int,int,index);
Fonction qui recupere le HWND du prog courrant...??? [ par youpiyoyo ]
j'aurai besoin de recupere le HWND,je sais ke l'on peut le mettre en global du genreLRESULT CALLBACK DlgMainProc(HWND hwnd, UINT msg, WPARAM wParam, L
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|