FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Aujourd'hui à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Aujourd'hui à 19:58

» Compilateur FBPano
par jean_debord Aujourd'hui à 8:49

» un nouveau editeur panobasic
par Jean Claude Hier à 20:05

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Pedro Alvarez Hier à 19:31

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

» Problème avec les chaines de caractères
par bignono Dim 6 Aoû 2017 - 9:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 imposer un item dans un list

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: imposer un item dans un list   Jeu 20 Sep 2012 - 4: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 Sleep Sleep Sleep Sleep Sleep Sleep Sleep Sleep
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: imposer un item dans un list   Jeu 20 Sep 2012 - 10: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

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: imposer un item dans un list   Jeu 20 Sep 2012 - 12: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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: imposer un item dans un list   Jeu 20 Sep 2012 - 12:57

Pas encore, Jicehel. Mais c'est une idée que je vais réaliser.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: imposer un item dans un list   Jeu 20 Sep 2012 - 13: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$ Smile
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: imposer un item dans un list   Jeu 20 Sep 2012 - 13:06

Bien sûr, Cosmos70 ! Merci pour ton attention !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: imposer un item dans un list   Jeu 20 Sep 2012 - 14: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: imposer un item dans un list   Jeu 20 Sep 2012 - 16: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 Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: imposer un item dans un list   Jeu 20 Sep 2012 - 18: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.
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: imposer un item dans un list   Ven 21 Sep 2012 - 1: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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re: imposer un item dans un list   Ven 21 Sep 2012 - 1:50

cheers cheers cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: imposer un item dans un list   Ven 21 Sep 2012 - 3:15

Et bien c'est à essayer! Cool
Ç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!
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: imposer un item dans un list   

Revenir en haut Aller en bas
 
imposer un item dans un list
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Insérer une image dans les descriptions des sujets
» TEXT_WIDTH dans un LIST
» Comment imposer un itinéraire dans un trajet ?
» Liens inactifs dans Outlook Express
» [Résolu] Affichage images dans un mail

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: