![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
![]() Estoy montando la creación de un TPopUpMenu dinamicamente
me veo en la obligación de saber cual es el numero de Item Seleccionado para pasar a un ActionList el Item para que este ejecute un Sql donde debo pasarle uno campodebusqueda.Strings[Item Capturado] porque este se corresponde al campo que busco. Gracias |
#2
|
||||
|
||||
Wop!
Puedes montarte una función que recorra el array de la propiedad Items y retorne el indice. La función tendría que parecerse a esta
Y se usaría así
No me suena que exista alún método o propiedad que te facilite la vida y no tengo ahora al aayuda a mano ![]()
__________________
E pur si muove |
#3
|
||||
|
||||
Gracias Marto
En que Metodo pondrias la Llamada en el OnChange del TPopUPMenu???
|
#4
|
||||
|
||||
Wop!
Cita:
Cita:
__________________
E pur si muove |
#5
|
||||
|
||||
![]() Gracias Marto lo solucione asignando la propiedad Tag con un Integer
distinto para cada Item Creado Dinamicamente e interrogandolo Despues. Paso el Código: { Funciones y Acciones para realizar Busquedas } // ____________________________________________________________________________ procedure TfrmBuscar.TipoBusqueda(Titulo: String; NumeroOrden: Integer); var NewItem: TMenuItem; begin NewItem := TMenuItem.Create(Self); NewItem.Caption := Titulo; NewItem.OnClick := acBusca.OnExecute; // Llamada al Action. { En Está funcion se define NumeroOrden que será el Tag Asignado} { como es una propiedad que no se usa en los Items y es la } { única por la cual puedo Interrogar cual es el Item Seleccionado } NewItem.Tag := NumeroOrden; PopMenu.Items.Add(NewItem); end; procedure TfrmBuscar.acBuscaExecute(Sender: TObject); var strWhere: string; x:integer; begin try if Sender is TMenuItem then FiltrandoBusquedas('WHERE (' + CamposBusqueda.Strings[TMenuItem(Sender).Tag] +' LIKE ' +quotedStr(trim(txtTexto.Text) +'%')+')'); except end; end; {Nuevo} procedure TfrmBuscar.FiltrandoBusquedas(AWhere: string); var strWhere: string; begin Try ADOQuery1.DisableControls; ADOQuery1.Close; strWhere := AWhere; ADOQuery1.SQL.Strings[1] := strWhere; ADOQuery1.Open; ADOQuery1.EnableControls; lblCoincidencias.Caption := 'Cantidad de coincedencias: ' + inttostr(ADOQuery1.RecordCount ); gridResultado.Columns[gridResultado.Columns.Count - 1].Color := clSkyBlue; FormatoGrilla; except end; end; { FIN Funciones y Acciones para realizar Busquedas } // ____________________________________________________________________________ |
#6
|
||||
|
||||
Bueno pero...
¿qué no sirve la propiedad MenuIndex del item? MenuIndex es el índice del item en el menú que lo contiene. // Saludos |
#7
|
||||
|
||||
![]() Gracias Roman, lo cambie y funciona.
Tema Finalizado. |
![]() |
|
|
![]() |
|