[R] Sélectionner un mot dans une listbox ligne à cocher ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

[R] Sélectionner un mot dans une listbox ligne à cocher ?

#1

Message par Laddy »

Bonjour à tous,

J'ai vu qu'il était possible avec une edibox de récupérer la section d'un mot avec _GUICtrlEdit_GetSel
► Afficher le textecode Editbox
Je voudrai savoir si il était possible avec une ligne à cochée de pouvoir selectionner un mot dans cette ligne, pour lancer une action, soit via un bouton soit via un menu contextuel.

Mon script charge un fichier txt et lit chaque ligne en ajouter une case à cocher devant.
► Afficher le textecode Listbox
est ce possible ?
Merci à ceux qui m'aideront
bonne journée
Laddy
Modifié en dernier par Laddy le lun. 04 avr. 2011 18:51, modifié 1 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Sélectionner un mot dans une listbox ligne à cocher

#2

Message par ZDS »

Hello,

A moins que je ne me trompe, le retour d'info de ce genre (sélection d'un morceau de texte dans le contenu d'une case, elle même étant dans une listbox) n'est pas possible par une listbox.
Tu as moyen de faire une édition d'une case (ou d'une ligne si tu as une seule colonne comme ton exemple), et de pouvoir remplacer à la main ton texte, mais ce n'est pas ce que tu recherches.

Le moyen un peu zarb que tu pourrais utiliser, c'est de cliquer sur une ligne (selection, pas coche), et d'afficher le contenu de la ligne dans un edit en dessous de ta liste. Là tu pourras sélectionner ton texte et effectuer la même manip que dans ton premier exemple (en gros passer par un tout petit edit d'une seule ligne, ou un input, comme un tampon dans ton algo).

(le souci, c'est que ça risque de surcharger pas mal ton interface. Pourquoi tu ne veux pas garder ton système déjà en place avec l'Edit?)

A plus !

EDIT : Si tu souhaites faire une listbox pour restreindre les sélections à une même ligne, je pense qu'en passant par un GUICtrlSendMsg tu peux traiter une sélection qui resterait sur la même ligne, une combinaison de GUICtrlSendMsg($edit, $EM_LINEINDEX,-1,0) et/ou GUICtrlSendMsg($edit, $EM_LINEFROMCHAR,$n,0).
EDIT2 : Je te prépare un exemple
Modifié en dernier par ZDS le lun. 04 avr. 2011 16:16, modifié 2 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..] Sélectionner un mot dans une listbox ligne à cocher

#3

Message par Laddy »

Bonjour
parce que mon interface est beaucoup plus complète que ça, j'ai d'autres boutons avec des actions spécifiques, j'ai réduit en minimum pour travailler sur cette partie.
Mon interface contient déjà une editbox, mais qui sert déjà pour ses autres boutons....
je ne peux pas mettre cette ligne non sélectionné dans celle ci car les actions ne sont pas les memes.

Image

pour ta solution je ne vois pas comment la mettre en place

Edit 1: oui merci pour l'exemple car je ne t'ai pas suis
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Sélectionner un mot dans une listbox ligne à cocher

#4

Message par ZDS »

Re,

Voici un exemple qui fait un mix entre ton premier et ton second code :
► Afficher le texteEditBox+ListBox
Vu que je n'ai pas compris à quoi te servait les coches dans le cas présent (sélection de texte, ça n'a rien à voir je pense?), j'ai préféré la sélection de la ligne (clic sur le texte d'une entrée de la listbox, pas sur la coche en tête) pour la mise à jour du champ Edit_LIGNE que tu vois entre ta listbox du haut et ton edit du bas. (Ce n'est qu'un exemple, à modifier surement de fond en comble pour ce que tu veux obtenir ^^)

A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..] Sélectionner un mot dans une listbox ligne à cocher

#5

Message par Laddy »

Ah oui pas mal du tout ça, même excellent, crois tu que c'est possible de mettre un menu contextuel à la place des boutons ?
J ai essayé en place $List1 par $Edit_LIGNE et j'ai un msgbox en boucle à l'ouverture de la gui.

$iCtxt0 = GUICtrlCreateContextMenu($Edit_LIGNE)
$iCtxt1 = GUICtrlCreateMenuItem("SysLog", $iCtxt0)
$iCtxt2 = GUICtrlCreateMenuItem("Syslookup", $iCtxt0)
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Sélectionner un mot dans une listbox ligne à cocher

#6

Message par ZDS »

Ah, ils ne marchent pas chez toi? Exact, j'ai zappé de les activer. Je vérifie de mon coté, et je te renvoye une version qui fonctionne.
EDIT : Dixit la doc d'AutoIt : Note: You can't create context menus for controls that already have system context menus, i.e. edit or input controls..
Par contre, les menus contextuels de la listBox fonctionnent si tu les mets dessus, non?
Tu peux peut etre aussi contourner la restriction autoIt en détectant un clic droit sur l'$Edit_LIGNE, et en remplaçant l'action par un ContextMenu posé sur un Dummy ^^ (je te prépare un exemple, pas sûr que ça fonctionne).
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..] Sélectionner un mot dans une listbox ligne à cocher

#7

Message par Laddy »

Impeccable, donc si je comprend bien on peut pas mettre le menucontextuel sur une editbox ?
c'est chiant ça aurait été plus pratique sur le mot selectionné.

Merci infiniment pour ton aide et le mix
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Sélectionner un mot dans une listbox ligne à cocher

#8

Message par ZDS »

Cadeau, je pense que ça va te plaire ^^
► Afficher le texteVersion avec clic droit pris en compte sur Edit avec Dummy
Comme quoi, en shuntant les rares kouneries qu'AutoIt impose, il y a souvent moyen de faire des trucs sympas ^^
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..] Sélectionner un mot dans une listbox ligne à cocher

#9

Message par Laddy »

Merci beaucoup waou mais ça bugge par mal sur mon pc, le menu n'apparait une fois deux mais c'est pas grave je vais rester avec la version précédente
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [R] Sélectionner un mot dans une listbox ligne à cocher

#10

Message par Laddy »

Bonjour ZDS
Vu que je n'ai pas compris à quoi te servait les coches dans le cas présent (sélection de texte, ça n'a rien à voir je pense?), j'ai préféré la sélection de la ligne (clic sur le texte d'une entrée de la listbox, pas sur la coche en tête) pour la mise à jour du champ Edit_LIGNE que tu vois entre ta listbox du haut et ton edit du bas. (Ce n'est qu'un exemple, à modifier surement de fond en comble pour ce que tu veux obtenir ^^)
Ah oui je vois, du coup ça a rendu les cases cochés inactives, et le reste de mon code fonctionne plus

Le champ des entrées sélectionnés me permet de voir si la case est cochée et réaliser une action avec un autre de mes boutons, les lignes cochées sont alors mise dans mon editbox en bas de la gui.
Ma capture d'écran est plus parlante celle que j'ai mise plus haut.

Je vais regarder pour corriger en espérant y arriver à sàparer les deux actions cases cochés, cases décochée -> selectionné pour l'edibox et la recherche
► Afficher le textecode utilisé
Répondre