Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1470 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] Stocker des données dans un HWND

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Stocker des données dans un HWND

n°78639
iS@mi
Resistance is futile !
Posté le 05-12-2001 à 20:32:53  profilanswer
 

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]

mood
Publicité
Posté le 05-12-2001 à 20:32:53  profilanswer
 

n°78643
iS@mi
Resistance is futile !
Posté le 05-12-2001 à 21:03:00  profilanswer
 

Re,
Ben apparament j'ai trouvé quelque chose qui fonctionne   SetWindowLong(hWnd,GWL_USERDATA, (long) this) et ca marche impecablement.

n°78644
deathsharp
Posté le 05-12-2001 à 21:20:41  profilanswer
 

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]


---------------
What butter and whiskey won't cure, there is no cure for.
n°78657
gilou
Modérateur
Modzilla
Posté le 05-12-2001 à 22:13:18  profilanswer
 

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+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°78662
iS@mi
Resistance is futile !
Posté le 05-12-2001 à 23:07:54  profilanswer
 

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  :p

n°78788
deathsharp
Posté le 06-12-2001 à 13:41:45  profilanswer
 

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?


---------------
What butter and whiskey won't cure, there is no cure for.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] Stocker des données dans un HWND

 

Sujets relatifs
PB sur la base de données[VB] Déploiement d'un projet avec base de données (un peu compliqué)
ASP + Base de données + Erreur de doublon[c] Comment stocker un TRES TRES gros entiers?
[ PHP MyAdmin ] Exporter des données d'une table Mysql vers un fichierConception en UML > vers la fin des bases de données?
recuperation de données par port série en cOrganisation des données dans un fichies *.wav
Prob : Afficher un répertoire en C & Mettre Données dans une structureenregistrement dans une base de données MySQL
Plus de sujets relatifs à : [C++] Stocker des données dans un HWND


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR