Ver Mensaje Individual
  #6  
Antiguo 23-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
No había visto este hilo. No pongas el padre del combo al stringgrid, intenta que el padre sea el Form y si acaso haces un combo.bringToFront para traerlo al frente.

Lo que intento decir es que simules que el combo esté dentro del grid cambiando su tamaño como bien haces, pero que en realidad pertenezca al Form.
Edito: codigo sucio pero funcional:
Código Delphi [-]
const Filas=5;
var
L :Array[1..Filas]of TComboBox;
i,j:Integer;
begin
stringgrid1.DefaultRowHeight := 21;
for i :=1  to Filas do
    begin
        L[i]:=TComboBox.Create(self);
        L[i].Parent:=self;
        l[i].Items.CommaText:= 'pepe,antonio,jose';
        //l[i].BringToFront;
        l[i].Left := stringgrid1.Left + stringgrid1.cellrect(1,i).Left+1;
        l[i].Top := stringgrid1.Top +stringgrid1.cellrect(1,i).top+1;
        l[i].Width:=  stringgrid1.cellrect(1,i).Right
                      - stringgrid1.cellrect(1,i).Left;

        // esto no funciona, ya que el combo mantiene su alto según
        // la fuente que tenga puesta, así que el alto de las celdas tendrás
        // que ajustarlo al alto de un combo,
//        l[i].Height :=stringgrid1.cellrect(1,i).Bottom
//                      - stringgrid1.cellrect(1,i).Top;
             for  j:=1  to 10 do  //esto para rellenar los itenes
                   L[i].Items.Add('Opcion:'+IntToStr(j));
    end;

end;
SAludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 23-12-2008 a las 13:22:03.
Responder Con Cita