[R] ListView Non accessible

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
sandosen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 05 mars 2012 11:44
Status : Hors ligne

[R] ListView Non accessible

#1

Message par sandosen »

Bonjour,
Je souhaiterai accéder à la listview généré à partir d'information récupéré sur le bouton mais celle ci reste inaccessible. J'ai navigué sur plusieurs sujets mais n'arrive pas à comprendre et à trouver une solution .
Le $IdBtn[$i] renvoi l'information qui correspond au nom de la machine local ou distante.
Le __ViewEvent prend en paramètre les identifiants des logs qui m'intéressent.
Le listview est accessible quand il est placé avant le GUISetState(@SW_SHOW) du code principal mais à croire que le fait d'appeler la fonction dans la boucle while empêche l'intégration de la listview dans le GUI principal.
Quelqu'un peut il m'aider ?
Merci.

Code : Tout sélectionner

    While 1
        Local $eMSG = GUIGetMsg()
        For $i = 1 To UBound($IdBtn)-1
            If $eMSG = $IdBtn[$i] Then
            Dim $IdList = __ID_Event(GUICtrlRead($IdBtn[$i]))
            __ViewEvent($oWINDOW,GUICtrlRead($IdBtn[$i]),$IdList)
            EndIf
        Next

        Switch $eMSG
            Case $GUI_EVENT_CLOSE
                Exit
            Case $oCLOSE
                Exit
        EndSwitch
    WEnd

Code : Tout sélectionner

Func __ViewEvent($GUI,$servername,$ID)
    Local $aEvt
    Local $hListView = GUICtrlCreateListView("", 190, 60, 700, 300)
     _GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
     GUICtrlSetBkColor($hListView, 0x00ff00)
    ; Add columns
    _GUICtrlListView_InsertColumn($hListView, 0, "Record number", 700/2)
    _GUICtrlListView_InsertColumn($hListView, 1, "Type", 700/2)
    _GUICtrlListView_InsertColumn($hListView, 2, "Source", 700/2)

$row = 0
    For $i = 1 To $ID[0]-1


            ;$wbemFlagReturnImmediately = 0x10
            $wbemFlagForwardOnly = 0x20
            $wbemFlagReturnWhenComplete = 0x0
            $colItems = ""
            $strComputer = $servername
            $objWMIService = ObjGet("winmgmts:" _
                                    & "{impersonationLevel=impersonate}!\\" _
                                    & $strComputer & "\root\cimv2")
            $colItems = $objWMIService.ExecQuery("Select RecordNumber , Type , SourceName from Win32_NTLogEvent " _
                                      & "where Logfile = 'Application' " _
                                      & "AND RecordNumber = " & $ID[$i] , _
                                      "WQL", _
                                      $wbemFlagReturnWhenComplete + $wbemFlagForwardOnly)

            If IsObj($colItems) then
                For $objItem In $colItems
                ; Add items
                    _GUICtrlListView_AddItem($hListView, $objItem.RecordNumber, $row) ;=== "Row 1: Col 1"
                    _GUICtrlListView_AddSubItem($hListView, $row, $objItem.Type, 1)  ;=== "Row 1: Col 2"
                    _GUICtrlListView_AddSubItem($hListView, $row,$objItem.SourceName, 2)  ;=== "Row 1: Col 3""Row 1: Col 3"
                Next
            EndIf
        $row += 1
        _GUICtrlListView_HideColumn($hListView, 0)




    Next

    GUISetState(@SW_SHOW)
EndFunc
Fichiers joints
res.zip
Contient les images pour afficher le GUI
(723 Octets) Téléchargé 187 fois
menuauto.ini
Le fichier contenant la liste des postes
(104 Octets) Téléchargé 181 fois
STEAM.au3
(13.53 Kio) Téléchargé 162 fois
Modifié en dernier par sandosen le dim. 01 avr. 2012 14:44, modifié 5 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] ListView Non accessible

#2

Message par Tlem »

Pourquoi une écriture en rouge ???
C'est pas dans nos règles ça !!!

Merci de corriger. :mrgreen:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] ListView Non accessible

#3

Message par blacksoul305 »

Salut,

alors, je vais te proposer un truc, je ne sais pas si cela va marcher. D'après les fichiers joints, tu utilises des fichiers images pour construire ta GUI j'me trompe ?
Commentaire: Contient les images pour afficher le GUI
Donc, tu devrais essayer ça :

Code : Tout sélectionner

$myPic = GuiCtrlCreatePic(...) ; on créé l'image
GUICtrlSetState($myPic,$GUI_DISABLE) ; on désactive l'image (elle reste visible, sinon ça servirait à rien)
Normalement, tout les éléments de la GUI devrait ne pas bloqué, pas mal de personnes ont eu ce problème avec les boutons notamment.

A plus !

PS : Gaffe, la coloration syntaxique n'est pas autorisée, si on l'utilise c'est pour souligner quelque chose d'important ou alors pour faciliter la lecture d'un code (mais pas obligatoire).

EDIT : Oubli des balises code et correction de celui-ci.
Étudiant en 2ème année de Licence Informatique.
sandosen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 05 mars 2012 11:44
Status : Hors ligne

Re: [..] ListView Non accessible

#4

Message par sandosen »

Ok, pour la couleur des textes , modification éffectuée.
-> blacksoul305
J'ai désactivé tout les images mais sans pas de changement.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] ListView Non accessible

#5

Message par mikell »

Fatalement, ça venait d'un controle susceptible de désactiver la listview
Donc pour éviter ce genre d'emmerdements, comme l'a dit blacksoul, tu assures en faisant :

Code : Tout sélectionner

    GUICtrlCreateGraphic(170, 30, $iWINDOW_WIDTH - 180, $iWINDOW_HEIGHT - 40) ; THIS CONTROL NEEDS TO BE LAST DUE TO OVERLAY ISSUES
    GUICtrlSetColor(-1, 0x686A65)
[color=#008000]GuiCtrlSetState(-1, $GUI_DISABLE)[/color]
et (éventuellement)

Code : Tout sélectionner

    Local $hListView = GUICtrlCreateListView("", 190, 60, 700, 300)
[color=#008000]GuiCtrlSetState(-1, $GUI_ONTOP)[/color]
8)

J'aime les listviews... Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
sandosen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 05 mars 2012 11:44
Status : Hors ligne

Re: [..] ListView Non accessible

#6

Message par sandosen »

GuiCtrlSetState(-1, $GUI_ONTOP)

Ceci a résolu le problème .
Encore merci pour l'efficacité.
sandosen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 05 mars 2012 11:44
Status : Hors ligne

Re: [R] ListView Non accessible

#7

Message par sandosen »

J'ai parlé trop vite, on peut naviguer dans la listview via les touches direction du clavier mais impossible de cliquer sur l'item!! même chose dans le cas des button , je peux passer d'un button à l'autre par le clavier mais impossible de cliquer dessus
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] ListView Non accessible

#8

Message par mikell »

Sur le script que tu as posté et en faisant les 2 corrections que je t'ai indiquées, j'arrive à cliquer sur les 2 boutons 'localhost' qui actualisent la listview, à naviguer dans la listview et à sélectionner un item en cliquant dessus
En l'état on peut rien faire de plus, mais si tu as rajouté des trucs ça vient peut-être de là mais ça je peux pas le deviner...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
sandosen
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 05 mars 2012 11:44
Status : Hors ligne

Re: [..] ListView Non accessible

#9

Message par sandosen »

J'ai pas bien vu qu'une image était encore active ... C'est bon pour cette fois.
Merci mikell, cependant comme tu as pu tester le script , trouves tu normal que l'affichage du listview prennes tant de temps ????
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] ListView Non accessible

#10

Message par mikell »

Ben oui, puisque avant chaque création d'item il faut faire le test wmi ...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre