Título: Buscar en ListBox Publicado por: calk9 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 Aquí donde se utiliza: Código: Dim hdc As Long 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! Título: Re: Buscar en ListBox Publicado por: BlackZeroX 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!¡. Título: Re: Buscar en ListBox Publicado por: raul338 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 :) Título: Re: Buscar en ListBox Publicado por: calk9 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. |