Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Listview y columnas

1 view
Skip to first unread message

Laura Rojas

unread,
Dec 10, 2005, 10:38:44 AM12/10/05
to
Tengo un listview, tipo lvwList con checkboxes, pero no logro adaptar el
texto de los items se vean completos, solo aparece una cantidad limitada, la
única forma de verlos completos es colocando el listview en tipo
lvwSmallIcons, pero el problema de colocarlo asi es que no los coloca
ordenados sino que unos salen arrimados y se ve mal porque puede variar el
tamaño del texto en cada item. Mi pregunta es... Se pueden ajustar el
listview en tipo lvwlist para que se vea todo el texto de cada item?

Help me, please!

--

_______
Laura Rojas
Analista de Desarrollo
Ingeniería de Mantenimiento Automotriz, C.A.
Telf: 761.3295 (Master) / 761.8784 / Fax 761.1028
Cel: 0416.6140448
www.inma.com.ve


Rubén Vigón

unread,
Dec 12, 2005, 4:49:23 AM12/12/05
to
Hola Laura,

Sólo tienes que enviarle el mensaje LVM_SETCOLUMNWIDTH (junto a LVSCW_AUTOSIZE) al ListView; por ejemplo, en un formulario con un control «ListView1» (que en tiempo de diseño tiene View = lvwReport) prueba el siguiente código:

Private Sub Form_Load()
ListView1.ListItems.Add , , "El veloz murciélago hindú comía feliz cardillo y kiwi"
SendMessage ListView1.hwnd, LVM_SETCOLUMNWIDTH, 0&, LVSCW_AUTOSIZE
ListView1.View = lvwList
End Sub

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org

Laura Rojas

unread,
Dec 12, 2005, 7:58:42 AM12/12/05
to
Hola Rubén,

Fijate lo que estoy haciendo,

*******************************************************

For Y = 0 To RsEquipamiento.RecordCount - 1

lstEquipamiento.ListItems.Add
RsEquipamiento!cod_equipamiento, , RsEquipamiento!EQUIPAMIENTO

For P1 = 0 To I_DimEquipamiento

If S_ArEquipamiento(P1) =
RsEquipamiento!cod_equipamiento Then


lstEquipamiento.ListItems.Item(lstEquipamiento.ListItems.Count).Checked =
True

lstEquipamiento.ListItems.Item(lstEquipamiento.ListItems.Count).ForeColor =
&HFF0000

lstEquipamiento.ListItems.Item(lstEquipamiento.ListItems.Count).Ghosted =
True

Exit For

Else

End If

Next

RsEquipamiento.MoveNext

Next
SendMessage lstEquipamiento.hwnd, LVM_SETCOLUMNWIDTH, 0&,
LVSCW_AUTOSIZE
lstEquipamiento.View = lvwList


Así lleno el listview, lo coloqué en tiempo de diseño en lvwreport, pero aún
así el texto me sale recortado..=S

La declaración del Sendmessage esta así..

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd
As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As
Long

Ayudame porfis, ya me estoy quedando calva...
Saludos y feliz comienzo de semana.........!


"Rubén Vigón" <vi...@QUITAESTOwanadoo.es> escribió en el mensaje
news:e7YkWFw$FHA...@TK2MSFTNGP15.phx.gbl...

Rubén Vigón

unread,
Dec 12, 2005, 9:18:42 AM12/12/05
to
Hola Laura,

Prueba este ejemplito:
http://vigon.mvps.org/ejemplos/ancho_lvwlist.zip (1,95 Kb)

Laura Rojas

unread,
Dec 12, 2005, 9:54:31 AM12/12/05
to
Gracias Rubén, ya me dí cuenta cual era el error, yo había copiado ese mismo
ejemplo pero las constantes estaban declaradas en un módulo de clase como
Private y yo las utilizaba en un formulario... Que gafa.. =P
Por eso digo, este sistema está haciendo que me quede calva...=P


"Rubén Vigón" <vi...@QUITAESTOwanadoo.es> escribió en el mensaje

news:%23CDN4by$FHA....@TK2MSFTNGP10.phx.gbl...

0 new messages