Accueil > > > INDEXER LE TEXTE D'UN LISTBOX (POUR UNE FAQ PAR EXEMPLE)
INDEXER LE TEXTE D'UN LISTBOX (POUR UNE FAQ PAR EXEMPLE)
Information sur la source
Description
Utile pour les petites FAQ. Dans le Form_Load, on enregistre les questions et réponses. Lors de l'exécution, les questions sont inscrites dans le ListBox et quand l'on en sélectionne une, la réponse est automatiquement inscrite dans un label. J'ai essayé de mettre les commentaires adéquates sur différentes procédures, j'espèque que cela sera suffisant.
Source
- ' API pour le scroll horizontal
- Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
-
- Private Const LB_SETHORIZONTALEXTENT = &H194
-
- ' Dimensionne deux tableaux. Modifier la valeur du "To" suivant le nombre de questions
- Dim Q(0 To 7)
- Dim R(0 To 7)
-
- Dim i As Integer
-
- Private Sub Form_Load()
- Me.ScaleMode = vbPixels
-
- ' Questions textes dans le List1 (Tableau 1)
- Q(0) = "Q1 - En combien de temps peut-on faire le test ?"
- Q(1) = "Q2 - Pourquoi les tests sont parfois difficiles ?"
- Q(2) = "Q3 - Si le test est terminé avant le temps imparti, a t-on des points en plus ?"
- Q(3) = "Q4 - ..."
- Q(4) = "Q5 - ..."
- Q(5) = "Q6 - ..."
- Q(6) = "Q7 - ..."
- Q(7) = "Q8 - ..."
-
- ' Réponses textes dans le Label1 (Tableau 2)
- R(0) = "R1 - Tout dépend de la rapidité de la personne testée."
- R(1) = "R2 - Certains tests peuvent sembler difficile, mais quand on a la réponse " & _
- "on se dit «Bon sang mais c'est bien-sûr !» "
- R(2) = "R3 - Non car il ne s'agit que de tests personnels et non de groupe"
- R(3) = "R4 - ..."
- R(4) = "R5 - ..."
- R(5) = "R6 - ..."
- R(6) = "R7 - ..."
- R(7) = "R8 -"
-
- For i = 0 To 7 'Ajoute le contenu du ListBox
- List1.AddItem Q(i)
- Next i
-
- List1.ListIndex = 0 ' Affiche le premier élément du ListBox (0=Q1 1=Q2 2=Q3....)
-
- 'Calculer la largeur des items et créer une barre de défilement horizontale si nécessaire
- Call BarreDeDéfilement(Me.List1)
-
- End Sub
-
- Private Sub List1_Click()
- ' Affichage de la réponse texte (tableau 2) dans le Label
- Label1.Caption = R(List1.ListIndex)
- End Sub
-
- Private Sub BarreDeDéfilement(lstBox As ListBox)
- Dim i As Integer
- Dim Largeur As Integer
-
- Largeur = 1
-
- 'Parcourt la liste et mesure la largeur des éléments et conserve la taille la plus large
- For i = 0 To lstBox.ListCount - 1
- If TextWidth(lstBox.List(i)) > Largeur Then Largeur = TextWidth(lstBox.List(i))
- Next i
-
- 'Affiche une barre de défilement horizontale
- SendMessage lstBox.hwnd, LB_SETHORIZONTALEXTENT, Largeur + 5, 0
- End Sub
-
-
- Private Sub CmdQuitter_Click()
- End
- End Sub
' API pour le scroll horizontal
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_SETHORIZONTALEXTENT = &H194
' Dimensionne deux tableaux. Modifier la valeur du "To" suivant le nombre de questions
Dim Q(0 To 7)
Dim R(0 To 7)
Dim i As Integer
Private Sub Form_Load()
Me.ScaleMode = vbPixels
' Questions textes dans le List1 (Tableau 1)
Q(0) = "Q1 - En combien de temps peut-on faire le test ?"
Q(1) = "Q2 - Pourquoi les tests sont parfois difficiles ?"
Q(2) = "Q3 - Si le test est terminé avant le temps imparti, a t-on des points en plus ?"
Q(3) = "Q4 - ..."
Q(4) = "Q5 - ..."
Q(5) = "Q6 - ..."
Q(6) = "Q7 - ..."
Q(7) = "Q8 - ..."
' Réponses textes dans le Label1 (Tableau 2)
R(0) = "R1 - Tout dépend de la rapidité de la personne testée."
R(1) = "R2 - Certains tests peuvent sembler difficile, mais quand on a la réponse " & _
"on se dit «Bon sang mais c'est bien-sûr !» "
R(2) = "R3 - Non car il ne s'agit que de tests personnels et non de groupe"
R(3) = "R4 - ..."
R(4) = "R5 - ..."
R(5) = "R6 - ..."
R(6) = "R7 - ..."
R(7) = "R8 -"
For i = 0 To 7 'Ajoute le contenu du ListBox
List1.AddItem Q(i)
Next i
List1.ListIndex = 0 ' Affiche le premier élément du ListBox (0=Q1 1=Q2 2=Q3....)
'Calculer la largeur des items et créer une barre de défilement horizontale si nécessaire
Call BarreDeDéfilement(Me.List1)
End Sub
Private Sub List1_Click()
' Affichage de la réponse texte (tableau 2) dans le Label
Label1.Caption = R(List1.ListIndex)
End Sub
Private Sub BarreDeDéfilement(lstBox As ListBox)
Dim i As Integer
Dim Largeur As Integer
Largeur = 1
'Parcourt la liste et mesure la largeur des éléments et conserve la taille la plus large
For i = 0 To lstBox.ListCount - 1
If TextWidth(lstBox.List(i)) > Largeur Then Largeur = TextWidth(lstBox.List(i))
Next i
'Affiche une barre de défilement horizontale
SendMessage lstBox.hwnd, LB_SETHORIZONTALEXTENT, Largeur + 5, 0
End Sub
Private Sub CmdQuitter_Click()
End
End Sub
Fichier Zip
Historique
- 03 juillet 2006 07:27:12 :
- Ce projet est très simple et si vous avez des trucs et astuces pour l'améliorer, je serais très heureux que vous m'en teniez informer, ce serait très sympa de me faire partager votre savoir.
- 05 juillet 2006 15:17:51 :
- Je n'ai pas trouvé de Bug proprement dit, sauf peut-être pour le scroll horizontal où le texte ne s'affiche pas en totalité ! Ca coupe un peu avant, mais bon, c'est pas mon projet non plus !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
tri de listbox [ par Oups ]
qu'elle et la methode de trie la plus approprié dans d'une listbox qui charge des enregistrements ayant un chiffre devant chaque lignes ? quand je cha
Listbox [ par bux ]
Je charge dans une listbox 20 nombres dans un ordre croissant. Je voudrais que lorsque je clique sur un bouton cela me range les nombres dans un ordre
ListBox: Urgent!!! [ par flo ]
Dans ma liste box, la fin des champs trop longs n'est pas visible. Peut on , en rentrant les differents items, les rentrer sur 2 lignes?Merci ( ma que
Listbox Listview Limitation [ par jmc ]
Je dois rentrer 400 000 mots dans une liste (Box ou View).- Le chargement mot à mot lors de l'exécution est extrêmement lent dans la listbox comme dan
ListBox & Item [ par Neurolog ]
Comment recupere t-on la valeure de l'item que l'on séléctionne dans une ListBox ?Merci
comment mettre un fichier TXT dans une "listbox" [ par sebas ]
Je voudrait pouvoir lire dans ma list box le contenu d'un fichier txtmerci d'avence =:-)
ListBox [ par Cyber Bug ]
J'aimerais savoir comment on peut faire pour ke le premier item d'une ListBox soit selectionné automatiquement lors du chargement d'une Form.C'est ass
Comment determiner le dernier item d'une ListBox?? [ par Cyber Bug ]
Comment fait on pour determiner le dernier item d'une ListBox si on ne sait pas combien i va avoir d'items dans la listeMerci d'avance(C'est assey URG
SOS listBox [ par doudou ]
Bonjour,Mon problème est le suivant:Je souhaiterais faire apparaître une zone de liste dans une dia sous powerpoint(cette application doit me permettr
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|