Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| imposer un item dans un list | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: imposer un item dans un list Jeu 20 Sep 2012 - 3:59 | |
| Le titre pour l'instant ne me plais pas. Je me suis lever pour essayer une idée. Plusieurs fois on a demandé à Jack la possibilité de pouvoir imposer une sélection dans un list. Dans pagiciel j'ai des listes pour la fonte et les attributs, et je ne peux pas mettre le bon attribut dans un list qui est celui en court d'un objet. Et j'ai trouvé la solution avec la très fameuse KGF de Klaus: - Code:
-
dll_on "C:\PANO\COURS_Pano\DLLs\KGF.dll" label teste , lire , trouve dim hnd% ,s$ , res% , a% list 1 :on_click 1,lire item_add 1,"un" :item_add 1,"deux":item_add 1,"trois":item_add 1,"quatre":item_add 1,"cinq":item_add 1,"six":item_add 1,"sept" memo 3:left 3,150:top 3,30
button 2:left 2,150:caption 2,"home" :on_click 2,teste button 4:left 4,240:caption 4,"trouve":on_click 4,trouve end
teste: hnd%=handle(1) s$ = chr$(36) res% = dll_call2("SendSingleChar",hnd%,adr(s$)) return
trouve: for a%=1 to count(1) s$ = chr$(40) res% = dll_call2("SendSingleChar",hnd%,adr(s$)) if item_index$(1)="quatre" then exit_for wait 200 next a% caption 0,item_index$(1) return
lire: item_add 3,item_index$(1) return Je retourne |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: imposer un item dans un list Jeu 20 Sep 2012 - 9:44 | |
| Très joli ! Cette possibilité manquait vraiment ! Le problème est similaire pour les combo. Personnellement, je m'en sors comme ça, avec les combo: - Code:
-
' pour définir la combo: dim index_1% combo 1 item_add 1,"aaaaa" item_add 1,"bbbbb" item_add 1,"cccccc" item_add 1,"ddddd" index_1% = 3 text 1,item_read$(index_1%) ... ' pour utiliser la valeur sélectionnée: if iten_index(1)>0 then index_1% = item_index(1) message "On a choisi "+item_read$(index_1%) ' au lieu d'utililiser item_index$(1) qui n'est défini que ' si l'on a cliqué dans la combo
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: imposer un item dans un list Jeu 20 Sep 2012 - 11:49 | |
| Merci pour ces astuces. Je n'ai pas regardé (je suis au boulot) si tu l'avais mis dans ton fichier d'astuces Klaus ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: imposer un item dans un list Jeu 20 Sep 2012 - 11:57 | |
| Pas encore, Jicehel. Mais c'est une idée que je vais réaliser. | |
| | | Invité Invité
| Sujet: Re: imposer un item dans un list Jeu 20 Sep 2012 - 12:02 | |
| Je ne comprenais pas du tout Klaus, je pensais que c'était un additif à mon programme. En faite cela ne marche pas car tu as été un peu vite dans la publication. Je pense que cela a été fait en direct. La correction: - Code:
-
' pour définir la combo: dim index_1% combo 1 item_add 1,"aaaaa" item_add 1,"bbbbb" item_add 1,"cccccc" item_add 1,"ddddd" index_1% = 3
text 1,item_read$(1,index_1%)
' pour utiliser la valeur sélectionnée: if item_index(1)>0 then index_1% = item_index(1) message "On a choisi "+item_read$(1,index_1%) ' au lieu d'utililiser item_index$(1) qui n'est défini que ' si l'on a cliqué dans la combo Il faut imposer le n° d'objet pour item_read$ |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: imposer un item dans un list Jeu 20 Sep 2012 - 12:06 | |
| Bien sûr, Cosmos70 ! Merci pour ton attention !
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: imposer un item dans un list Jeu 20 Sep 2012 - 13:41 | |
| C'est fait - les deux astuces sont intégrées dans mon module "Sources Klaus", avec les 4 présentations CHM, PDF, DOC et HTML. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: imposer un item dans un list Jeu 20 Sep 2012 - 15:03 | |
| Merci pour cette capitalisation Klaus, du coup je n'ai plus à le faire dans mon coin et juste à faire un téléchargement de ta doc de temps en temps | |
| | | Invité Invité
| Sujet: Re: imposer un item dans un list Jeu 20 Sep 2012 - 17:08 | |
| J'ai fait cette nuit une recherche avec list, mais en faite c'était avec le combo que j'aurai du faire. Je te remercie Klaus pour ton astuce. Je mets un exemple d'utilisation - Code:
-
' pour définir la combo: label police dim a%,f$ ,dat$ ,lig% combo 1:top 1,30 :width 1,200 button 2:caption 2,"voir":on_click 2,police list 3:left 3,width(1)+10:font_names_load 3 gosub police
data "Courier New","Bitstream Vera Sans Mono","Arial","$$$" end police: clear 1 read dat$ if dat$="$$$" then restore:read dat$ for a%=1 to count(3) item_add 1,item_read$(3,a%) if item_read$(1,a%)=dat$ then lig%=a%:text 1,dat$ next a% caption 0,item_read$(1,lig%) return Evidemment un dlist serait plus adéquate qu'un list. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: imposer un item dans un list Ven 21 Sep 2012 - 0:35 | |
| J'ai fait encore plus fort !
KGF.dll passe à la version V1.62 du 21/09/2012 Ajout de la fonction - Code:
-
res% = dll_call2("SelectListBoxItem",hnd%,item%) Tu passes le numéro de la ligne voulue, et elle est sélectionnée. Tu passes un autre numéro de ligne, la ligne sélectionnée est désélectionnée et la nouvelle est sélectionnée. Tu passes 0, et la ligne sélectionnée est désélectionnée. Simple, efficace. Et le plus beau, ITEM_INDEX et ITEM_INDEX$ suivent automatiquement ! La doc est à jour, et un sélecteur de polices est mis en exemple. Pour la petite histoire: voici le source de la fonction Delphi qui réalise cela: - Code:
-
function SelectListBoxItem(hnd, item: integer):integer; stdcall; export; begin SendMessage(hnd, LB_SETCURSEL, item-1, 0); // Sélectionner l'élément result := 0; end; C'est beau, la simplicité, non ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re: imposer un item dans un list Ven 21 Sep 2012 - 0:50 | |
| | |
| | | Invité Invité
| Sujet: Re: imposer un item dans un list Ven 21 Sep 2012 - 2:15 | |
| Et bien c'est à essayer! Ça fait plusieurs heures que j'essaye d'installer mon imprimante, et j'abandonne pour l'instant. Les essais avec les items seront pour plus tard! |
| | | Contenu sponsorisé
| Sujet: Re: imposer un item dans un list | |
| |
| | | | imposer un item dans un list | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |