Newsgroup: it.comp.lang.visual-basic
Titolo: LIST BOX CON CHECK BOX...

Ho la necessità di visualizzare in una ListBox più di una colonna.
Inoltre ho bisogno di allineare le colonne... come succede in una griglia...
Ho risolto il problema con delle API che settano la tabulazione nella
ListBox...
Dopo aver perso 2 giorni per capire che costante dovevo usare per avere una
tabulazione esattamente uguale alla larghezza del testo (gli esempi che ci
sono sun MSDN NON FUNZIONANO !!! ===> Bill  VAI A FANC..O !!!) ho provato ad
impostare lo stile della list box su ChecKBox...
ORRORE: le API per le tabulazioni non funzionano più... ma è possibile che
sti stronzi della MS non sono capaci di fare qualcosa che non abbia problemi
?
Ho provato ad optare per le ListView (altra stronz..a MS), ma a me serve che
venga evidenziata tutta la riga e nelle ListView con più di una colonna
viene evidenziata UNA sola colonna !
Ce nessuno che sa dirmi cosa posso fare?
A PROPOSITO: dove posso trovare l' OCX o come posso fare (Vedi API) per
implementare una lista come quella presente in OutLock Express dove viene
selezionata tutta la riga ?
GRAZIE.
Mario Paracchino
mpara...@easysoftware.it

viene evidenziata UNA sola colonna !
Ma come??
Dopo tutto il da fare che dici di esserti dato con le API, mi cadi sulla
ListView????
Ti invio questo codice solo perchč in fondo in fondo (ma cosě in fondo che č
un pozzo insondabile) sono un buono (Occhio che il tutto va solo con
comctl32.dll versione 4.70 o sup. fornito con IE 4) :
tagliare qui...
----------------------------------------------------------------------------
----
'Modulo
Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
   (ByVal hwnd As Long, _
    ByVal Msg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) As Long
Public Const LVM_FIRST = &H1000
Public Const LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54
Public Const LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
Public Const LVS_EX_FULLROWSELECT = &H20
'--end block--'
'Form
'Oggetti: check button (caption = "Usa Selezione Riga Intera"; value=0)
----------------------------------------------------------------------------
----
Private Sub Form_Load()
Dim clmX As ColumnHeader, itmX As ListItem
    ListView1.LabelEdit = lvwManual
    Set clmX = ListView1.ColumnHeaders.Add(, , "Nome", ListView1.Width / 3)
    Set clmX = ListView1.ColumnHeaders.Add(, , "Cognome", ListView1.Width /
3)
    Set clmX = ListView1.ColumnHeaders.Add(, , "Relazione", ListView1.Width
/ 3)
    ListView1.BorderStyle = ccFixedSingle
    ListView1.View = lvwReport
    Set itmX = ListView1.ListItems.Add(, , "Paolino")
    itmX.SubItems(1) = "Paperino"
    itmX.SubItems(2) = "Nipote di Paperone"
End Sub
Private Sub Check1_Click()
   Dim state As Long
   state = (Check1.Value = 1)
  'Applica lo stile:
   Call SendMessageLong(ListView1.hwnd, _
                        LVM_SETEXTENDEDLISTVIEWSTYLE, _
                        LVS_EX_FULLROWSELECT, state)
End Sub
'--end block--'
--------------------------------------------------------------------
Saluti
  Alfredo.

 ORRORE: le API per le tabulazioni non funzionano più... ma è possibile


Se qualcuno si č offeso o si č sentito turbato nel profondo del proprio
animo leggendo cio che ho scritto in questi messaggi (usando un linguaggio
un po caldo e colorito)... beh allora chiedo umilmente scusa.
Ma se mentre usate il computer (PER LAVORO) siete costretti a riavviare il
computer da 1 a 2 volte al giorno (uso Win 98 e l'hardware della mia
macchina funziona perfettamente), oppure perdete giornate intere a cercare
documentazioni su ogni testo e su internet sui controlli o sulle funzioni di
quel santo di Bill.... allora non piangete, daltronde č giusto cosě.
Per avere una prova che molti (anche se non tutti per fortuna) degli esempi
che ci sono su MSDN non funzionano basta che cercate l'esempio di come si fa
a creare piu colonne con tabulazione nella ListBox con barra di scorrimento
orizzontale:
1) la barra sposta il tutto a destra si, ma mooooolto di piů di quello che
serve e quindi non fa quello che dovrebbe.
2) poi provate a cambiare font: un disastro = > le tabulazioni non sono piů
rispettate.
3)...
A proposito: la documentazione in VB 6 ve la dovete COMPRARE a parte (da 80
a 250 mila lire per volume) ma il costo di VB 6 rimane sempre lo stesso...
senza parlare dei download per rimanere aggiornati... vedi Service Pack 1,
2, 3, ...
Se non fosse che VB č il piů usato passerei a Delphi !
GRAZIE BILL !
Ciao. (e scusate ancora dello sfogo)