Je ne comprends po grnad chose...

ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 - 1 juin 2004 à 17:47
cs_Geff Messages postés 192 Date d'inscription vendredi 2 mars 2001 Statut Membre Dernière intervention 10 janvier 2006 - 1 juin 2004 à 20:08
Coucou tout le monde,

voila, je suis en train d'étudier une appli objet. Mais il reste des points, qui sont importants mais que je ne comprend pas du tout. Ce sont des déclarations, ou de lignes de code. Les voila, si vous pouvez me dire à quoi ça correspond :

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal wNewLong As Long) As Long
Public Const GWW_HWNDPARENT = (-8)

ReDim Preserve Joueurs(List1.ListCount)

OriginalParenthWnd = SetWindowLong(Me.hwnd, GWW_HWNDPARENT, FrmMain.hwnd)

R = SetWindowLong(Me.hwnd, GWW_HWNDPARENT, OriginalParenthWnd)

Voila, ce n'est pas dans l'ordre, ce sont des petits bouts de code qui sont un peut partout dans le prog.
Si vous avez besoin de précisions, dites moi.

MERCI BCP BCP

Bisous

1 réponse

cs_Geff Messages postés 192 Date d'inscription vendredi 2 mars 2001 Statut Membre Dernière intervention 10 janvier 2006
1 juin 2004 à 20:08
Alors procédons dans le désordre donc ;) ::

* SetWindowLong est une API qui te permet d'ajouter une "propriété" a une fenêtre hwnd est le handle de ta fenêtre (identifiant unike en kelke sorte) NIndex c'est le numéro de ta nouvelle propriété (en gros l'identifuiant de cette propriété) et wNewLong c'est la valeur de cette propriété
Tu peux retrouver tous ces paramètres grace a l'API GetWindowLong

* ReDim Preserve Joueurs(List1.ListCount)
Permet de redimensionnée le tableau Joueurs() avec une longeur égale au nombre d'item de la list1 (en effet Listcount renvoi le nombre de ligne k'il y'a dans une ListBox) le fait de mettre Preserve après Redim permet de garder les valeurs ki existait déja dans ton tableau, en effet si tu fait Redim Joueurs(List1.Listcount) , tout ce ki était dans ton tableau Joueurs() sera perdu

Et puis pour les ::

* OriginalParenthWnd = SetWindowLong(Me.hwnd, GWW_HWNDPARENT, FrmMain.hwnd)

et

* R = SetWindowLong(Me.hwnd, GWW_HWNDPARENT, OriginalParenthWnd)

Et Bien il s'agit simplement de 2 appels a l'API SetWindowLong ou GWW_HWNDPARENT est le nom de la propriété (ki est en fait une constante = -8 )
FrmMain.hwnd et OriginalParenthWnd sont simplement les valeurs de cette nouvelle propriété!

Voila tout j'espère ke j'ai pu t'éclairer un peu ;)

Geff >:)
0