Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Mouse Oculto en evento "ComboBox.DroppedDown:=True;"

Saludos Amigos, donde quiera que se encuentren

Tengo un problemita con un ComboBox,
buscando encontre solo esto:
http://www.clubdelphi.com/foros/arch...p?t-25459.html

La cuestion es, que cuando esta propiedad se activa
"ComboBox.DroppedDown:=True;" para mostrar la lista
del ComboBox, en el evento OnChange, el Mouse se desaparece,
el puntero, funciona tal cual como Carlos Arevalo lo explica alli
funciona solo en la lista si lo pasas por casualidad encima de este,
presionas ESC y vuelve a aparecer, en cambio cuando presiono
el boton para desplegar la lista, no se desaparece,
he usado "ShowCursor(True);" pero no tiene funcion alli.

les dejo un extracto del codigo a ver si ustedes ven algo extraño
Gracias infinitas

Código Delphi [-]
procedure TForm1.BoxCodigoChange(Sender: TObject);
Var
  Articulo:String;
begin
  with ZQuery1 do
      begin
        Close;
        with SQL do
          begin
            Clear;
            Add('Select Articulo From Inventario Where Articulo Like '+QuotedStr('%'+BoxCodigo.Text+'%')+' Order by Articulo');
            Open;
            BoxCodigo.Items.Clear;
            First;//Te posicionas en el primer registro
            While Not(ZQuery1.Eof) do //Recorres mientras no termine de leer todos los registros de la consulta
              begin
                Articulo:= ZQuery1.Fields[0].AsString;
                BoxCodigo.Items.Add(Articulo);
                Next;//Pasas al siguiente registro
              end;
          end;
      end;
  BoxCodigo.SelStart := Length(BoxCodigo.Text);//Posiciona el cursor en la ultima posicion
  BoxCodigo.DroppedDown:=True;
  ShowCursor(True);
end;
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
  #2  
Antiguo 28-08-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aparte de lo que preguntas no entiendo por que cargas los items del combobox cada vez que cambia en el evento onchage ?.
No se, no lo veo claro el por que ?.
saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 28-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Hola Caral,
Bueno, porque es la unica forma que encontre de que cuando escriba algo
me aparezca en la lista abajo, porque podemos buscar una palabra inscrita
dentro de un registro, ejemplo hay dos registros "Chicles de Menta" y "Caramelos de Menta"
entonces cuando escriba Menta, me apareceran esos dos registros,
y aparte se desplegara la lista, para seleccionar de una vez el que queramos,
eso.

Gracias

Edito:
Y bueno respecto a lo primero,
el puntero del mouse se oculta solo, cuando termina ese procedimiento
y no puedo hacerlo aparecer a menos que presione Escape,
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.

Última edición por martini002 fecha: 28-08-2012 a las 03:47:44.
Responder Con Cita
  #4  
Antiguo 28-08-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Osea, en el combobox escribes la palabra, vas filtrando y vas colocando el resultado en el mismo combobox.
Interesante.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 28-08-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
A ver que pasa asi:
Código Delphi [-]
procedure TForm1.BoxCodigoChange(Sender: TObject);
Var
  Articulo:String;
begin
  with ZQuery1 do
      begin
        Close;
        with SQL do
          begin
            Clear;
            Add('Select Articulo From Inventario Where Articulo Like '+QuotedStr('%'+BoxCodigo.Text+'%')+' Order by Articulo');
            Open;
            BoxCodigo.Items.Clear;
            First;//Te posicionas en el primer registro
            While Not(ZQuery1.Eof) do //Recorres mientras no termine de leer todos los registros de la consulta
              begin
                Articulo:= ZQuery1.Fields[0].AsString;
                BoxCodigo.Items.Add(Articulo);
                Next;//Pasas al siguiente registro
               BoxCodigo.SelStart := Length(BoxCodigo.Text);//Posiciona el cursor en la ultima posicion
              BoxCodigo.DroppedDown:=True;
              ShowCursor(True);
              end;
          end;
      end;
  
end;
No se.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 28-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Hola
Acabo de encontrar un error,
muy grave por cierto,
la cuestion es que escribo algo,
esto se agrega a la lista y cuando lo selecciono
no se marca en la casilla esto supongo yo en mi ignorancia
que debe ser por el OnChange.
Probare con tu codigo a ver como me va.
Gracias

Edito:
Me retracto, ahora que lo estoy probando bien
resulta ser que se vuelve loco!
y escribe palabras y letras al principio y al final
hahaha a ver de que otra forma podemos manejar esto.
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.

Última edición por martini002 fecha: 28-08-2012 a las 04:03:57.
Responder Con Cita
  #7  
Antiguo 28-08-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pregunto:
Es imperativo el combobox ?
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 28-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Pues si, porque quisiera que en ese mismo
cuadro pudiera escribirse el codigo, nombre o parte del nombre
de un articulo cualquiera en el inventario,
mira lo que se me ocurrio, aunque no funciona como quisiera
por lo menos es estable, me gustaria que cuando escribiera
desplegara la lista, y pudieras seguir escribiendo(alli esta el detalle)

mira, cambie el OnChange por OnDropDown

Código Delphi [-]
procedure TForm1.BoxCodigoDropDown(Sender: TObject);
Var
  Articulo:String;
begin
  with ZQuery1 do
      begin
        Close;
        with SQL do
          begin
            Clear;
            Add('Select Articulo From Inventario Where Articulo Like '+QuotedStr('%'+BoxCodigo.Text+'%')+' Order by Articulo');
            Open;
            BoxCodigo.Items.Clear;
            First;//Te posicionas en el primer registro
            While Not(ZQuery1.Eof) do //Recorres mientras no termine de leer todos los registros de la consulta
              begin
                Articulo:= ZQuery1.Fields[0].AsString;
                BoxCodigo.Items.Add(Articulo);
                Next;//Pasas al siguiente registro
              end;
          end;
      end;
end;
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
  #9  
Antiguo 28-08-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
A ver:
Código Delphi [-]
procedure TForm1.BoxCodigoChange(Sender: TObject);
Var
  Articulo:String;
begin
            BoxCodigo.Items.Clear;
            ZQuery1.Text:= 'Select Articulo From Inventario Where Articulo Like '+QuotedStr('%'+BoxCodigo.Text+'%')+' Order by Articulo';
            ZQuery1.Open;
            While Not ZQuery1.Eof do //Recorres mientras no termine de leer todos los registros de la consulta
            begin
                Articulo:= ZQuery1.Fields[0].AsString;
                BoxCodigo.Items.Add(Articulo);
                Next;
           end;
           ZQuery1.Close;
end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 28-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Hola Caral,
Un segundo, estoy haciendo unas pruebas con algo,
a ver si funciona, gracias por responder
Saludos
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
delphi 7 "el valor de BOF o EOF es true..." rinaib Varios 1 09-03-2011 13:00:37
Como hacer que se vea "Si" en vez de "TRUE" en un DBGrid lu9eui C++ Builder 2 07-08-2007 04:03:13
Microsoft México - invita al evento "Mentes aplicadas" Héctor Randolph Noticias 0 27-11-2006 20:08:23
ComboBox - Pasar un "Key" presionado afuera como si fuera de allí amadis OOP 7 10-11-2006 14:29:48
Capturar evento "afterpaste" del portapapeles. Jose_Pérez API de Windows 5 13-01-2005 12:02:56


La franja horaria es GMT +2. Ahora son las 19:56:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi