Stocker des données dans un HWND [C++] - Programmation
Marsh Posté le 05-12-2001 à 21:03:00
Re,
Ben apparament j'ai trouvé quelque chose qui fonctionne SetWindowLong(hWnd,GWL_USERDATA, (long) this) et ca marche impecablement.
Marsh Posté le 05-12-2001 à 21:20:41
ya aussi SetProp qui est bien
l'avantage par rapport au dessus c ke tu peux stocker plusieurs variable
[edtdd]--Message édité par deathsharp--[/edtdd]
Marsh Posté le 05-12-2001 à 22:13:18
deathsharp a écrit a écrit : ya aussi SetProp qui est bien l'avantage par rapport au dessus c ke tu peux stocker plusieurs variable |
Oui, c'est ce que j'utiliserais.
A+,
Marsh Posté le 05-12-2001 à 23:07:54
Sinon, est-il possible de créer des controls dans des fenêtres sans passer par l'utilisation de dialogue ?
Genre:
err = CreatePushButtonControl(theWin,&bounds, Title, &theControl);
SetControlID(theControl, &ClassID);
Ce que j'aimerais faire c'est ceci en fait :
1) Donner une id aux boutons
2) Dans les events de la fenêtre, ajouter une partie qui signal lorsqu'il y a un click sur un éventuel bouton.
3) Regarder quel bouton a été cliqué.
J'ai cherché des exemples, mais ils sont tous pour MFC et j'ai pas trop envie de m'embarasser d'un autre FrameWork.
J'ai également essayé de chercher dans le dossier où sont stocké tous les Header, mais je sais pas si c moi, mais je trouve ca complètement bordelique pour trouver des api's bien spécifiques ;-).
Merci pour vos réponces
Marsh Posté le 06-12-2001 à 13:41:45
ce que tu voudrais c'est creer par ex un bouton sans utiliser une boite de dialog? ben oui on peux.
CreateWindows avec la classe Button par ex et avec le style qui faut
c ca que tu veux?
Marsh Posté le 05-12-2001 à 20:32:53
Bonjour,
J'ai développé un FrameWork C++ utilisant les API de CarbonLib (librairie d'api de Mac, MacOSX) et j'aimerais l'adapter au mieux sous Windows pour porter mes applis sur PC.
Le problème est que je suis assez perdu même si les similitudes sont assez proches.
Voilà, j'aimerais stocké l'adresse de ma class (this) dans un HWND pour pouvoir la récupérer dans le CALLBACK de ma fenêtre.
Sous mac j'utilisais la fonction SetWRefCon( fWindow, (long)this ) et je la récupérais dans mon callback de cette manière
Boolean GetObjectFromWindow( WindowPtr window, BaseWindow** wind )
{
SInt32 test;
if (GetWindowKind( window ) != 2000 )
return false;
test = GetWRefCon( window );
if ( test == nil ) return false;
*wind = (BaseWindow*)test;
return true;
}
Je voudrais faire de même sous Windows pour distribuer tout les events (messages) dans les différentes parties de ma class BaseWindow.
Je peux avoir consience que ce genre de méthode n'est pas la meilleur sur PC, si vous en avez une meilleur, je prends avec plaisir.
Voilà
Merci pour votre aide.
[edtdd]--Message édité par iS@mi--[/edtdd]