Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: wolf_kof en Febrero 24, 2011, 01:14:35 pm
-
Estoy trabajando en un Software para Restaurantes, que al igual que otro compañero en el foro necesito hacerlo tactil por lo tanto viendo la buena idea que el tuvo me vi en la obligación de copiarsela (jejejeje ::)) El Asunto es este: El listview del Microsoft Command Control 6.0 (sp3) tiene una propiedad si esta en Icons que se trata de mover el icono en cualquier parte del listview!!!!! para mi esto es algo problematico adjunto un par de imagenes para aque vean cual es mi problema.
Forma Correcta
(http://icgnxa.bay.livefilestore.com/y1pB_zIImLzvzFs0SBSWU6nWmEIP5LMOjY6fYwrHhAk393Jla0RGTONfhzJQGT2rhvkxVo4LroFdTHDPO_L9y8_b5XiKqbRTXTh/Restaurante.JPG?psid=1)
Forma Incorrecta
(http://icgnxa.bay.livefilestore.com/y1pUvrvrTxaRXkgmYjESEVxESP90nbp4Gbu9AHVCzCFkzSiqmc5eO9WXLZJtiQtB5rI2lQ1hTkedy29oDgxoa6mRqyk_6rCzziO/resurante2.JPG?psid=1)
desearia que me pudieran ayudar mis problemas para ser mas específico son los siguiente:
1.- Quitar la propiedad para que se muevan los iconos
2.- Hacer la vista de la seleccion del item como la de windows vista o 7
Les Agradeceria su ayuda, de verdad ya me mate buscando la propiedad para quitarle eso y no pude.
-
Aca ya estaba puesto como poner seleccion tipo windows 7 a un listview (http://www.leandroascierto.com.ar/foro/index.php?topic=707.msg3542#msg3542)
En cuanto al tema de los iconos, no tengo la mas palida idea xD
-
sii gracias, pero eso es para el 5.0 y a ser sincero no tengo ni la mas minima idea de como hacerlo ya que lo intenté y no me funcionó.. Grax, alguna otra sugerencia..
-
Pero para el 6.0 es literalmente imposible, porque tiene la dll del windows 98 incluida en el ocx ._.
-
ok como lo hago con el command control 5.0, si te molesto para que me enseñes por que estoy un poco nulo en appis!!!!
-
En este ejemplo logro desactivar el drag- drop del listview ademas esta la seleccion tipo windows vista y documentacion de como agregar temas de windows a tus aplicaciones :)
http://www.4shared.com/file/h1HStOm9/Listview_con_drag-drop_bloquea.html
(http://www.4shared.com/file/h1HStOm9/Listview_con_drag-drop_bloquea.html)
-
tambien podes sublcasificar el listview e impedir el mousemove con el vbLeftButton esto sirve para la version 6 y 5
Option Explicit
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const GWL_WNDPROC = (-4)
Private Const WM_MOUSEMOVE As Long = &H200
Dim PrevProc As Long
Public Sub HookListView(ByVal hwnd As Long)
PrevProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub
Public Sub UnHookListView(ByVal hwnd As Long)
SetWindowLong hwnd, GWL_WNDPROC, PrevProc
End Sub
Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If uMsg = WM_MOUSEMOVE And wParam = vbLeftButton Then
'no hacer nada
Else
WindowProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)
End If
End Function
Private Sub Form_Load()
HookListView ListView1.hwnd
End Sub
Private Sub Form_Unload(Cancel As Integer)
UnHookListView ListView1.hwnd
End Sub
-
Si yo tambien tenia ese problema pero es muy sencillo su solución.
Tenes que cambiar estas propiedades del ListView
(http://img97.imageshack.us/img97/1426/oledropmode2.png)
-
:) Muchas grax por sus respuestas!!!!! Solucionado