24/04/2024
Windev et les Api Windows
Nb de visiteurs en ligne : 1
>> Introduction <<
>> Codes et Forum <<
>> Download <<
Rubrique
: 3 - Champs
Sujet
: Combo Boxes
Auteur
Message
°¨¨ JL ¨¨°
Posté le : 23/06/2000 12:00:00
// Afficher le dropdown **************
cb_showdropdown est un entier long = 0x14F
sendmessage( handle("combo1") , cb_showdropdown , 1 , 0 )
// Afficher une liste de fichiers ********
// Combo non graphique
cb_dir est un entier long = 0x0145
cb_resetcontent est un entier long = 0x014B
DDL_READWRITE est un entier long = 0x0000
DDL_READONLY est un entier long = 0x0001
DDL_HIDDEN est un entier long = 0x0002
DDL_SYSTEM est un entier long = 0x0004
DDL_DIRECTORY est un entier long = 0x0010
DDL_ARCHIVE est un entier long = 0x0020
DDL_POSTMSGS est un entier long = 0x2000
DDL_DRIVES est un entier long = 0x4000
DDL_EXCLUSIVE est un entier long = 0x8000
ch est un chaine asciiz de 128="c:windowssystem*.dll"
sendmessage( handle("combo1") , cb_resetcontent , 0 , 0 )
listeajoute("COMBO1","")
nbfic est un entier = sendmessage( handle("combo1") , cb_dir , ddl_archive+ddl_hidden , &ch)
listesupprime("COMBO1",1)
info("Il y a "+nbfic+" fichiers *.dll dans ce répertoire")
// Ajouter une chaine de caractères ************
// Combo non graphique
ch est un chaine asciiz de 128="Chaine à ajouter !!"
cb_addstring est un entier long = 0x143
sendmessage( handle("combo1") , cb_addstring , 0 , &ch)
// Création d'un combo boxes **********
// styles fenêtre
ws_child est un entier long = 0x40000000
ws_border est un entier long = 0x00800000
ws_visible est un entier long = 0x10000000
ws_thickframe est un entier long = 0x00040000
ws_vscroll est un entier long = 0x00200000
// styles combo
cbs_simple est un entier long = 0x1
cbs_dropdown est un entier long = 0x2
cbs_dropdownlist est un entier long = 0x3
cbs_ownerdrawfixed est un entier long = 0x10
cbs_autohscroll est un entier long = 0x40
cbs_sort est un entier long = 0x100
cbs_hasstrings est un entier long = 0x200
cbs_uppercase est un entier long = 0x2000
cbs_lowercase est un entier long = 0x4000
style est un entier long = ws_child + ws_visible + ws_border + ws_vscroll + cbs_hasstrings + cbs_autohscroll + cbs_dropdownlist
style += cbs_uppercase
hwndcombo=AppelDLL32("user32","CreateWindowExA",0 ,"COMBOBOX","", style , 200 , 300 , 200 , 15*18 , handle() , null , instance() , NULL )
cb_setdroppedwidth est un entier long = 0x160
cb_setitemheight est un entier long = 0x153
sendmessage( hwndcombo , cb_setdroppedwidth , 300 , 0 )
sendmessage( hwndcombo , cb_setitemheight , 0 , 18 )
ind est un entier
ch est une chaine asciiz de 128
cb_addstring est un entier long = 0x143
pour ind=1 a 100
ch="Chaine de Caractères "+ind
sendmessage( hwndcombo , cb_addstring , 0 , &ch )
fin
// Déterminer la hauteur des lignes **********
cb_getitemheight est un entier long = 0x154
hautv est un entier = sendmessage( handle("combo1") , cb_getitemheight , -1 , 0 ) // partie visible
hautd est un entier = sendmessage( handle("combo1") , cb_getitemheight , 0 , 0 ) // dropdown
message(hautv+" "+hautd)
// Déterminer la largeur du dropdown *********
cb_getdroppedwidth est un entier long = 0x15F
largdropd est un entier = sendmessage( handle("combo1") , cb_getdroppedwidth , 0 , 0 )
message(largdropd)
// Déterminer le nombre d'items *******
cb_getcount est un entier long = 0x146
nbitems est un entier = sendmessage( handle("combo1") , cb_getcount , 0 , 0 )
info("Nombre d'items : "+nbitems)
// Modifier la hauteur des lignes *********
cb_setitemheight est un entier long = 0x153
sendmessage( handle("combo1") , cb_setitemheight , -1 , 30 ) // partie visible 30 pixels
sendmessage( handle("combo1") , cb_setitemheight , 0 , 25 ) // dropdown 25 pixels
// Modifier la largeur du dropdown sur la ligne la plus large *****
largeurcombo est un entier
ind est un entier
cb_setdroppedwidth est un entier long = 0x160
pour ind=1 a combo1..occurrence
si textelargeur("COMBO1",combo1[ind])>largeurcombo alors
largeurcombo=textelargeur("COMBO1",combo1[ind])
fin
fin
sendmessage( handle("combo1"), cb_setdroppedwidth , largeurcombo+15 , 0 )
// Récupérer l'item survolé ***************
ancien_item est un entier long // pour l'item précédent
even est un entier long = evenement( "survolcombo" , "combo1" , 0x134 )
Procédure survolcombo()
item est un entier long = sendmessage( handle("combo1") , 0x0147 , 0 , 0 ) + 1
si ancien_item<>item alors
message(item+" "+combo1[item])
ancien_item = item
fin
// Sélectionner une ligne d'après son contenu ***********
// Combo non graphique
cb_selectstring est un entier long = 0x14D
ch est un chaine asciiz de 128="Texte dans Combo"
// -1 pour rechercher du début à la fin
// n pour rechercher à partir du n ème élément
// res contient la ligne sélectionnée
res est un entier long = sendmessage( handle("combo1") , cb_selectstring , -1 , &ch )
message(res)
// Sélectionner une ligne d'après son indice *******
cb_setcursel est un entier long = 0x14E
// sélection de la ligne 5
sendmessage( handle("combo1") , cb_setcursel , 5 , 0 )
// Supprimer l'item sélectionné *********
cb_getcursel est un entier long = 0x147
cb_deletestring est un entier long = 0x144
sel est un entier = sendmessage( handle("combo1") , cb_getcursel , 0 , 0 )
sendmessage( handle("combo1") , cb_deletestring , sel , 0 )
// Supprimer tout le contenu *********
cb_getcount est un entier long = 0x14B
sendmessage( handle("combo1") , cb_resetcontent , 0 , 0 )