elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Buscar en ListBox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscar en ListBox  (Leído 2,719 veces)
calk9

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Buscar en ListBox
« en: 27 Septiembre 2011, 03:34 am »

Buenas a todos, a continuación les dejo mi código el cual agrega a un listbox el color del píxel en donde se encuentra el mouse, al moverse el mismo. Para saber cuando se mueve he instalado un hook mediante SetWindowsHookEx, pero eso no es lo importante. El problema es que utilizo SendMessage, con la Constante LB_FINDSTRINGEXACT la cual busca una Cadena. Pero me estoy volviendo loco ya que hago una condición (sentencia if) la cual dicta que si devuelva False, la función que busca el Color en el listbox, no agregue al color obtenido. Esto para evitar que se me agreguen múltiples veces el mismo color, y después me vuelvo loco identificando cada uno. Pero no me devuelve false, o algún error estoy cometiendo en el código que no puedo identificar, por eso estoy aqui! He aquí el código:

La función que busca el string:

Código:
Public Function Encuentra(Frase As String) As Boolean
 
Dim Indice As Long
     
    ' Tipo de búsqueda
    Indice = SendMessage(fMain.List1.hwnd, LB_FINDSTRINGEXACT, -1, Frase)
     
     
    If Indice < 0 Then
        'no se encontró
        Encuentra = False
    Else
        ' se encontró la frase entonces la selecciona
        Encuentra = True
    End If
   
End Function

Aquí donde se utiliza:

Código:
Dim hdc As Long

    Call GetCursorPos(Mouse)

'Get Color
hdc = GetDC(0)
pxColor = GetPixel(hdc, Mouse.x, Mouse.y)
ReleaseDC 0, hdc

'Set color
Picture1.BackColor = pxColor


If Encuentra(Hex(pxColor)) = False Then
    List1.AddItem Hex(pxColor)
End If

Por algúna razón me agrega varias veces el mismo color encontrado, lo cual no debería, si es que lo encuentra en la condición planteada.

Gracias desde ya, saludos!


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Buscar en ListBox
« Respuesta #1 en: 27 Septiembre 2011, 04:37 am »

.
* Jamas uses los controles X como un amacen de datos... es algo que no se deberia de hacer; separa la parte grafica de la parte interna de tu programa...
* A razon de tu problema te dejo esta clase.

Quizas te sirva mi clase.
http://foro.elhacker.net/programacion_visual_basic/source_cpushsort-t340133.0.html

Dulces Lunas!¡.


« Última modificación: 27 Septiembre 2011, 04:40 am por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Buscar en ListBox
« Respuesta #2 en: 27 Septiembre 2011, 14:15 pm »

Tal vez te funcione llamándolo así

Indice = SendMessage(fMain.List1.hwnd, LB_FINDSTRINGEXACT, -1, ByVal Frase)

Todo depende de la declaración de SendMessage que tengas  :)
En línea

calk9

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: Buscar en ListBox
« Respuesta #3 en: 27 Septiembre 2011, 21:17 pm »

.
* Jamas uses los controles X como un amacen de datos... es algo que no se deberia de hacer; separa la parte grafica de la parte interna de tu programa...
* A razon de tu problema te dejo esta clase.

Quizas te sirva mi clase.
http://foro.elhacker.net/programacion_visual_basic/source_cpushsort-t340133.0.html

Dulces Lunas!¡.

No he entendido a que te refieres con el primer asterisco, gracias por la respuesta.

Tal vez te funcione llamándolo así

Indice = SendMessage(fMain.List1.hwnd, LB_FINDSTRINGEXACT, -1, ByVal Frase)

Todo depende de la declaración de SendMessage que tengas  :)

Exactamente eso necesitaba! Gracias!  ;D

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ListBox
Programación Visual Basic
Overlord 1 1,559 Último mensaje 21 Octubre 2005, 01:50 am
por NYlOn
ListBox
Programación Visual Basic
Lambda 2 1,487 Último mensaje 3 Junio 2006, 13:56 pm
por Lambda
[Ayuda] Como desordenar ListBox y como buscar en list box
Programación Visual Basic
Red Mx 3 5,280 Último mensaje 20 Agosto 2006, 07:54 am
por Red Mx
Listbox
Programación Visual Basic
xDie 4 1,502 Último mensaje 20 Octubre 2006, 23:17 pm
por xDie
como meter un listbox en una tabla de listbox
.NET (C#, VB.NET, ASP)
CrÄsH 3 6,331 Último mensaje 16 Enero 2009, 15:53 pm
por MANULOMM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines