Récupération du Handle

DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011 - 26 févr. 2008 à 22:14
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 28 févr. 2008 à 03:59
Peux ton récupéré le handle d'une fenetre ou le PID du programme créant une classe d'une dll ?

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
26 févr. 2008 à 23:28
Question sans bonjour ni merci ni assez claire
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
27 févr. 2008 à 00:26
Salut,
Chu un peu dans les vap' je me croyais un peu dans un chat, m'enfin bon

Je voudrais que ma class récupère des information de l'application qui la crée

Ex :
'Form1.frm

Private MaCls as MyClass

Public Sub Form_Main()
   Set MaCls = New MyClass
End Sub

----- Ma Class -----
'MyClass.cls

Private Sub Class_Initialise()
   MsgBox Form1.hWnd ' Je s'est bien que cette exemple ne marche pas mais s'est pour donné une idée de se que je recherche
End Sub

Et une autre question au passage quand on veux crée un Objet style Timer Label ...
Dim WithEvents Lbl as Label
Set Lbl = ... 'Ici New ne peux pas marcher il éxisterai une autre solution ?

Thank's
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 févr. 2008 à 01:26
GetModuleHandle(0)
GetModuleFilename(...)

ciao...
BruNews, MVP VC++
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 févr. 2008 à 12:11
salut,
et pour NEW, le winthevents c'est pas pour déclarer dynamiquement mais bien pour un objet réel...
donc pas de NEW à l'attribution, il faut qu'il existe

+
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
27 févr. 2008 à 12:33
BruNews > pour GetModuleHandle(0) j'ai déja essayer il me renvoi 0

PCPT > Donc je ne peut pas crée un objet sans avoir un objet de base ? Pasque certain objet peuvent etre crée avec CreateObject mais des Ocx ActiveX je n'y suis pas arriver
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 févr. 2008 à 12:51
si tu le crées dynamiquement (à partir d'un ocx ou pas), c'est une fois créé que tu vas l'attribuer, donc pas de NEW pour autant.
ni dans le code, ni dans la déclaration withevents (pas compliqué : le menu après AS n'est pas le même avec et sans NEW)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 févr. 2008 à 17:31
Salut
Il ne faut pas (de toute façon, tu ne peux pas) que ta Classe fasse référence à des objets externes.
Si tu as des infos à renvoyer à la forme parente, il te suffit d'utiliser ce genre d'artifice :

-1- Information à l'initiative de la Classe
- Dimensionner un Event dans ta Class, exemple  Public Event uneInfo(Texte As String)
- Ajouter WithEvents à la déclaration de ta classe dans la forme, exemple  Dim WithEvents maClasse As Class1
- Tu récupèreras ainsi un évènement maClasse_uneInfo dans la page de code de la forme hôte
- Et quand tu as des infos à envoyer  RaiseEvent uneInfo("Dis bonjour en arrivant")

-2- Information à la demande de la forme hôte
Si c'est la forme qui doit récupérer des données dans la classe, utilise les Property Get ou Set
ou encore n'importe quelle Function déclarée en Public dans ta Classe

PS : "je me croyais un peu dans un chat" : Ca n'empèche pas un minimum de socialbilité

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
27 févr. 2008 à 17:58
PCPT > Comment je crée un Objet dynamiquement et l'initialisé ? si tu peux me donner un example concret (comme le contrôle label par example); Je ne comprend pas très bien se que tu veux dire

jack > Ma Class a déja une fonction d'initialisation qui récupère le handle de la fenêtre dans ses arguments (Public Function Ini(Byval hWnd As Long) As Boolean, mais si je peux évité cette fonction et récpéré le handle ou un pid de l'app parente dans le Class_Initialise() je serais bien content, sa ferais un peu plus propre.

Ou tout simplement un tutorial assez poussez sur les class et usercontrol (projet dll et/ou ocx), tous les tutoriaux que j'ai trouvés s'arret a la déclaration de propriété fonction sub propetybag ect ... je voudrais vraiment maitrisé a fond les class les collection et les usercontrols

Merci
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 févr. 2008 à 03:59
Pasque certain objet peuvent etre crée avec CreateObject


c'est toi qui en parle, pas moi ^^

regarde dans les sources et dans l'aide, il y a surtout 2 principes fondamentaux. (avec ou sans groupe, donc avec ou sans un premier contrôle de référence existant)

ensuite pour les OCX c'est similaire après un regsvr par le code. pareil il y a des exemples dispo

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous