Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: coco en Octubre 07, 2009, 12:02:12 am
-
El otro dia forreando en el nuevo sistema
garchoperativo Windows 7, me puse a probar unos softwares que habia desarrollado, principalmente para ver si funcaban bien en modo 64bits... Por un lado si, por el otro no, y no tiene nada que ver que sean 64 bits.
El problema radica en que este control (ucListView) hace explotar la aplicacion (compilada o en ide)
En efecto, xkiz probo el mismo control, pero en version 32bits, y explota igual.
alguno esta al tanto de esto?. bueno, cualquier data viene bien..
Saludos
PD: Feliz cumple leandro!
-
Gracias Coco!!!, por lo que vi el problema es si se aplican los temas de windows y se muestra el listview en Reporte. sino funciona bien puede que sea un problema del xml del manifest capas que en win 7 es diferente.
Saludos.
-
tiene razon leandro, hice una prueba de el uclistview sin manifest y en ViewMode = vmIcon y no exploto,
reciensito probe con Manifest Con Aero habilitado y no exploto, asique el vmDetails es el detonador.
PD: Feliz cumple leandro
-
le encontre el problema, estaba dentro uno de los parametros de la funcion ColumnAdd
Public Function ColumnAdd( _
ByVal Column As Integer, _
ByVal Text As String, _
ByVal Width As Integer, _
Optional ByVal Align As eColumnAlignConstants = [caLeft], _
Optional ByVal Icon As Integer = -1 _
) As Boolean
el cual deveria esta icon = 0
Public Function ColumnAdd( _
ByVal Column As Integer, _
ByVal Text As String, _
ByVal Width As Integer, _
Optional ByVal Align As eColumnAlignConstants = [caLeft], _
Optional ByVal Icon As Integer = 0 _
) As Boolean
si bien el 0 para el imagelist del sistema es una posicion este no lo toma ubiera que modificar la funcion para que quede mejor.
algo asi podria ser una opcion setear los parametros cuando se manda el msg LVM_INSERTCOLUMN
Function ColumnAdd(ByVal Caption As String, ByVal Width As Long, Optional ByVal Align As AlignConsts = LVCFMT_LEFT, Optional ByVal IDImage As Long = -1) As Boolean
Static llCount As Long
Dim LVC As LVCOLUMN
LVC.mask = LVCF_FMT Or LVCF_IMAGE Or LVCF_TEXT Or LVCF_WIDTH 'Or LVCF_SUBITEM
LVC.pszText = StrPtr(StrConv(Caption, vbFromUnicode)) <------- as long
LVC.fmt = Align Or LVCFMT_IMAGE Or LVCFMT_BITMAP_ON_RIGHT
LVC.cx = Width
LVC.iImage = IDImage
LVC.iOrder = 0
Call SendMessage(m_hListView, LVM_INSERTCOLUMN, llCount, LVC)
llCount = llCount + 1
End Function
Saludos
-
asi de primera, funciona bien con esa correccion, todavia no lo testie mucho pero funciona.