hola, muchas gracias por tu atencion.Mi problema es el siguiente:
He creado un popupmenu con 3 elementos en la lista,en lugar de complicarme la vida y crear un combobox dentro del stringgrid. ya logro que el texto del elemento seleccionado del pop up menu se inserte en la celda correspondiente pero el popupmenu me aparece otra ves una ves que lo seleccione,hasta la segunda ves que selecciono la opción me pone el texto seleccionado en la celda o cuando selecciono otra cosa desaparece.
como puedo hacer que el pop up menu desaparesca en la primera seleccion aqui esta mi codigo
Código Delphi
[-]
procedure Tfcotizacion.StringGrid1Enter(Sender: TObject);
begin
stringgrid1.Col:=4;
end;
procedure Tfcotizacion.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if (ACol = StringGrid1.FixedCols) then
CanSelect:= False;
if (col=0) or ((col=1) and (row =0)) or ((col=2) and (row =0)) or ((col=3) and (row =0)) then
CanSelect:= False;
insert('#',mascara,1);
end;
end;
procedure Tfcotizacion.StringGrid1GetEditMask(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
if (ACol = 2) or (ACol = 3) then value:=mascara else
Value := EmptyStr; end;
procedure Tfcotizacion.Remplazar1Click(Sender: TObject);
var cap:string;
begin
cap:= popupmenu1.Items.Items[0].Caption;
stringgrid1.Cells[fcotizacion.col,row]:=cap;
end;
procedure Tfcotizacion.StringGrid1GetEditText(Sender: TObject; ACol,
ARow: Integer; var Value: String);
var p:tpoint;
begin
if (acol=1) then
begin
getcursorpos(p);
popupmenu1.Popup(p.X,p.Y);
row:=arow; col:=acol;
end;
end;
Muchas gracias por su ayuda, espero me puedan ayudar =)