| [Résolu] Aide sur fonctions IconListBox de KGF | |
|
|
|
Auteur | Message |
---|
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 11:18 | |
| Bonjour Klaus,
Désolé de prendre encore de ton temps. Je suis en train de travailler sur la liste des sous-programmes de GPP et donc le contenu du LISTBOX
Comment je dois procéder pour récupérer toutes les lignes du LISTBOX sans exception (sélectionnées ou non) ?
Merci d'avance pour ta réponse
Dernière édition par Minibug le Dim 8 Nov 2020 - 11:39, édité 2 fois | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 12:11 | |
| Klaus, Je me rends compte qu'il n'y a pas non plus de fonction pour supprimer une ligne du LISTBOX. Pourrais tu regarder s'il te plait. Merci. | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 12:19 | |
| Tu parles de IconListBox, je suppose ? En effet, il n'y a pas de fonction de suppression.
On oubli - je vais arranger cela. | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 12:48 | |
| J'ai déposé une version préliminaire dans mon site. Il y a une nouvelle fonction: - Code:
-
res% = dll_call2("RemoveItemFromIconListBox",ILB%,index%) index% est l'indice de la ligne à supprimer. Si index=0, on supprime la ligne actuellement sélectionnée. res% est -1 en cas d'erreur, et contient le nombre de lignes restantes en cas de réussite. Si le résultat est satisfaisant, je l'inclus dans la doc et publie une nouvelle version. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 13:18 | |
| Merci Klaus,
Je vais regarder et tester.
Concernant la liste de toute les lignes j'ai mis un MEMO ou je récupère les lignes. Est ce la meilleure des solutions ? | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 13:49 | |
| Ben... faudrait être un peu plus précis.
Est-ce que tu veux récupérer le texte de toutes les lignes d'une IconListBox, un peu comme le fait la fonction TEXT() avec un mémo ?
Pour récupérer la liste de tous les éléments sélectionnés tu as déjà GetAllSelectedItemsFromIconListBox. Est-ce tu veux la même chose pour l'ensemble des lignes, qu'elles soient sélectonnées ou non ? | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 14:22 | |
| J'ai déposé sur mon site une nouvelle version préliminaire, avec la fonction suivante: - Code:
-
res% = dll_call2("GetAllItemsFromIconListBox",ILB%,handle(memo%)) Elle fonctionne comme GetAllSelectedItemsFromIconListBox, mais retourne tout, indépendemment des sélections. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 14:25 | |
| Klaus, J'ai un problème avec la fonction pour supprimer. Je fait comme cela en partant d'un LIST ou j'ai sélectionner les sous-programmes dans le même ordre que l'ICONLISTBOX : numb%=ITEM_INDEX(LIST_supp_ssp%) res%=dll_call2("RemoveItemFromIconListBox",LB_ssp%,numb%) mais j'ai ce message : Concernant la liste j'ai un MEMO qui enregistre tous les mouvements: ajout, suppression, etc. Mais je crains pour la fiabilité... C'est pour cette raison que j'aurai souhaité avoir une fonction donnant accès à la liste de l'ensemble des libellés de l'ICONLISTBOX. EDIT : on s'est croisé... je regarde cette nouvelle fonction. Merci. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 14:37 | |
| Lorsque je tente de supprimer une ligne j'ai maintenant le message d'erreur :
opération de pointeur incorrecte
EDIT : Quand je mets en place la fonction res%=dll_call2("GetAllItemsFromIconListBox",LB_ssp%,handle(MEM_listbox%))
Le regarde ensuite le MEMO il me retourne le nombre de lignes et le nom de la dernière ligne seulement :
7=sous_programme_machin
dans l'exemple ci-dessus il y a bien 7 lignes mais il n'affiche que le contenu de la dernière... | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 14:55 | |
| Bon, je vais voir ce problème de nombre de lignes.
En attendant, j'ai corrigé l'autre problème sur la suppression d'une ligne qui marche bien maintenant. | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 14:59 | |
| Le problème des lignes retournées est résolu également. Je viens à l'instant de le mettre en ligne.
Il y a donc la correction des 2 problèmes... | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 15:01 | |
| Ok Klaus merci.
Je recharge et je teste... | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 15:11 | |
| IL semblerai que j'ai toujours le même problème sur la liste en retour de :
res% = dll_call2("GetAllItemsFromIconListBox",LB_ssp%,handle(MEM_listbox%)) | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 15:12 | |
| - Minibug a écrit:
- IL semblerai que j'ai toujours le même problème sur la liste en retour de :
res% = dll_call2("GetAllItemsFromIconListBox",LB_ssp%,handle(MEM_listbox%)) Et concernant la suppression cela fonctionne correctement maintenant. Je vais pouvoir mettre à voir la partie concernée. | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 15:17 | |
| Pour le retour de toutes les lignes, je suis étonné...
J'ai remis le fichier en ligne: c'est KGF.zip de 15h14.
Ca devrait marcher - il n'y a aucun moyen que cette fonction "exlue" certaines lignes. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 15:23 | |
| désolé Klaus, je dois m'absenter en vitesse...
Je reviens tout à l'heure et je reprends tout ça. Peut être d'ici une heure...
Encore merci. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 16:17 | |
| Bon je suis de retour mais peut être pas pour très longtemps... Je reprends les tests et je te tiens au courant Klaus. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 16:29 | |
| J'ai rechargé la dll. Version de 15h14. Voila le résultat vec le code suivant : CLEAR MEM_listbox% res% = dll_call2("GetAllItemsFromIconListBox",LB_ssp%,handle(MEM_listbox%)) nbmmlb%=COUNT(MEM_listbox%) MESSAGE "avec nouvelle dll : "+CHR$(13)+STR$(nbmmlb%)+CHR$(13)+TEXT$(MEM_listbox%) voila ce que j'obtiens : j'ai 7 lignes dans l'ICONLISTBOX et non pas 1 ! Le nom affiché corresponds au dernier de la liste de l'ICONLISTBOX. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 19:04 | |
| Klaus je reviens vers toi car j'ai aussi un problème avec : res%=DLL_CALL3("ChangeElementLabelInIconListBox",LB_ssp%,lcbssp%,ADR(nmedssp$))et voilà le retour : J'ai vérifié les paramètres transmis sont bons. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 20:09 | |
| Concernant la liste des lignes ne te casse pas la tête...
Mon fonctionnement avec le MEMO a l'air de plutôt bien fonctionner. Même avec la suppression des lignes que j'ai mis en place ça a l'air de suivre.
Ce qui m'embête le plus c'est cette fonction de modification ci-dessus qui ne passe pas ! Bizarre, tout semble ok c'est moi.
Par contre reprends ta doc sur cette fonction car il y a une erreur dans l'exemple :
res% = dll_call3("ChangeElementLabelInIconComboBox",ICB%,23,ADR(txt$)) | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 20:25 | |
| Ah, ça, c'est lr problème des copier/collé en abondance ! Je te rassure -chez moi ! Essaie ceci: - Code:
-
res%=DLL_CALL3("ChangeElementextInIconListBox",LB_ssp%,lcbssp%,ADR(nmedssp$)) ça marchera mieux... désolé pour ce couac dans la doc ! En ce ui concerne la liste globale des éléments, je te donne la solution rapidement. | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 20:41 | |
| Il y avait un bug. Ce bug est corrigé. Il te suffit de recharger à partir de mon site. Voici la démonstration: - Code:
-
' test_Minibug_IconListBox.bas
label UserEvent label suppr, liste
dim res%, no%, PAN_menu%(10), for%(10), t$, CONT_ssp%, IL%, chemin$, LB_ssp% dim txt$, i%, cnt%, index%, LP%, WP%
DIM u$ ,MEM_ssp%
for%(0) = 0 no% = 17 chemin$ = "" cnt% = 0 full_space 0
' dll_on "D:\PROGRAMMATION\GPP2\dll\KGF.dll" dll_on "KGF.dll"
on_user_event UserEvent
PANEL no% : HIDE no% : PARENT no%,FOR%(0) : TOP no%,52 : COLOR no%,60,60,60 : show no% : ' Création du MENU OBJETS dans la fenetre principale WIDTH no%,WIDTH_CLIENT(FOR%(0))-1 : HEIGHT no%,HEIGHT_CLIENT(FOR%(0))-52 : PAN_menu%(3)=no% : no%=no%+1 : '
CONTAINER no% : PARENT no%,PAN_menu%(3) : LEFT no%,8 : TOP no%,2 : WIDTH no%,257 : HEIGHT no%,572 : ' Positionnement des CONTAINERS d'affichage des SSP COLOR no%,60,60,60 : FONT_COLOR no%,230,230,230 : FONT_NAME no%,"Segoe UI" : FONT_SIZE no%,12 : ' Mep couleur, police, taille et titre des CONTAINERs t$=" "+t$+" " : CAPTION no%,t$ : CONT_ssp%=no% : no%=no%+1 ' MEMO des sous-programmes MEMO no% : HEIGHT no%,200 : HIDE no% : MEM_ssp%=no% : no%=no%+1 : '
' --------------- CREATION DE L'IMAGELIST --------------- IL%=DLL_CALL2("CreateImageList",15,15) : ' ' t$=chemin$+"\ilb\gestssp.ilb" : ' t$=chemin$+"KGF.ilb" : ' res%=DLL_CALL2("LoadImageList",IL%,adr(t$)) : ' ' --------------- CREATION DU LISTBOX (liste des sous-programmes) ---------------- res%=dll_call1("SetMainFormHandle",handle(0)) : ' LB_ssp%=DLL_CALL3("CreateIconListBox",handle(CONT_ssp%),IL%,1) : ' t$="Segoe UI" : res%=DLL_CALL3("SetDefaultFontOfIconListBox",LB_ssp%,ADR(t$),10) : ' res%=DLL_CALL5("LocateIconListBox",LB_ssp%,5,20,(WIDTH_CLIENT(CONT_ssp%)-10),(HEIGHT_CLIENT(CONT_ssp%)-25)) : ' res%=dll_call2("OptionsForIconListBox",LB_ssp%,1) : ' res%=dll_call2("SetMultiSelectionLimitOfIconListBox",LB_ssp%,9) : ' res%=dll_call4("SetColorsForIconListBox",LB_ssp%,HEX("909090"),HEX("000000"),HEX("000090")) for i%=1 to 20 txt$ = "aaaaaaaaaaaaaaaa "+str$(i%) res% = dll_call6("AddItemToIconListBox",LB_ssp%,adr(txt$),17, 17, 18, 0) next i% button 117 : top 117,10 : left 117,100 : caption 117,"Supprimer" : on_click 117,suppr
memo 118 : parent 118,PAN_menu%(3) : top 118,10 : left 118,300 : width 118,300 : height 118,600 : bar_both 118 button 119 : top 119,10 : left 119,400 : caption 119,"Liste" : on_click 119,liste
end
suppr: res% = dll_call2("RemoveItemFromIconListBox",LB_ssp%,3) message "ress%="+str$(res%) return liste: res% = dll_call2("GetAllItemsFromIconListBox",LB_ssp%,handle(118)) return
UserEvent: LP% = user_event_lparam WP% = user_event_wparam if bin_and(WP%,hex("FF000000"))=hex("0A000000") : ' un IconListBox ? if bin_and(WP%,hex("00FF0000"))<>hex("00010000") then return : ' pas un clic dans une ligne ? if LP%<>LB_ssp% then return : ' pas le ICB attendu ? index% = bin_and(WP%,hex("0000FFFF")) off_user_event : ' *********** désactiver les USER_EVENT en cas de longs traitements u$=string$(50," ") : ' Initialisation de la variable contenant le nom du sous-programme res%=dll_call3("GetItemOfIconListBox",LB_ssp%,index%,adr(u$)) : ' u$=trim$(u$) : ' Retrait des espaces res%=dll_call2("GetAllSelectedItemsFromIconListBox",LB_ssp%,handle(MEM_ssp%)) : ' t$=LEFT$(ITEM_READ$(MEM_ssp%,COUNT(MEM_ssp%)),1) : ' On récupére le fichier du MEMO_ssp
IF t$="-" : ' Si la chaine est vide (-) res%=dll_call5("SetItemFontColorOfIconListBox",LB_ssp%,index%,0,0,0) : ' res%=dll_call6("SetItemFontAttributesOfIconListBox",LB_ssp%,index%,0,0,0,0) : ' On désactive l'affichage dans la liste res%=dll_call6("ChangeElementIconInIconListBox",LB_ssp%,index%,2,0,0,0) : ' ELSE res%=dll_call5("SetItemFontColorOfIconListBox",LB_ssp%,index%,255,255,255) : ' res%=dll_call6("SetItemFontAttributesOfIconListBox",LB_ssp%,index%,1,0,0,0) : ' On active l'affichage dans la liste res%=dll_call6("ChangeElementIconInIconListBox",LB_ssp%,index%,1,0,0,0) END_IF cnt% = cnt% + 1 caption 0,"Click no "+str$(cnt%)+" dans ligne "+str$(index%)+" "+t$ : ' récupérer le numéro de la ligne cliquée res% = dll_call1("UnblockIconListBox",LB_ssp%) on_user_event UserEvent : ' *********** résactiver les USER_EVENT return end_if return
et le résultat: | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Sam 7 Nov 2020 - 21:10 | |
| re... Bon il y avait encore une erreur dans ton retour mais j'ai corrigé ! res%=DLL_CALL3("ChangeElement TextInIconListBox",LB_ssp%,lcbssp%,ADR(nmedssp$)) Pense a corrigé dans la doc... J'ai testé et ça fonctionne parfaitement. Maintenant il faut que je m'attaque à la gestion de la liste à la place de mon MEMO. Je te ferai un retour surement demain car là je suis pas sûr d'avoir le temps... Un GRAND MERCI Klaus ! | |
|
| |
Klaus
Nombre de messages : 12289 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Dim 8 Nov 2020 - 0:14 | |
| Super ! Merci pour le retour ! | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF Dim 8 Nov 2020 - 10:04 | |
| Bonjour Klaus ! Un retour pour te dire que cette fois tout fonctionne bien. En fait je voulais te demander une modification dans la numérotation de la liste, Mais je me rends compte que c'est inutile. Donc on laisse comme ça ! Merci pour ton travail Klaus. Sans toi mes éditeurs PanExpress et GPP ne seraient pas réalisables ! | |
|
| |
Contenu sponsorisé
| Sujet: Re: [Résolu] Aide sur fonctions IconListBox de KGF | |
| |
|
| |
| [Résolu] Aide sur fonctions IconListBox de KGF | |
|