Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2003
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Poder: 21
bbjb Va por buen camino
Question MainMenu

Hola,

Tengo un Menu (TMainMenu) con una serie de opciones para moverme por las distintas posibilidades del programa.

El problema lo encuentro a la hora de identificar que opcion de menu ha sido seleccionada, me explico.
Cuando yo pincho en una opción me gustaria saber que lugar ocupa ese elemento dentro del menu ( si está en la posición 2,3 del Menu) para así obtener datos de sus propiedades como el caption, Name, ImageIndex, etc)

Yo se que a través de la propiedad Menu.Item[1].Caption puedo obtener el valor, pero lo que no se es si se trata del elemento 1,3,4, etc

Menu.Item[?].Caption

No se si me he explicado con claridad, sino es así no dudeis en preguntar, muchas gracias
Responder Con Cita
  #2  
Antiguo 11-07-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Suponiendo que lo que tienes es un evento OnClick común para varios ítemes entonces el parámetro Sender es el Item que pinchaste de manera que no tgienes que buscar su índice:

TMenuItem(Sender).Caption

De cualquier forma, un Item tiene la propedad MenuIndex que es el índice que ocupa en el menú que lo contenga.

// Saludos
Responder Con Cita
  #3  
Antiguo 11-07-2003
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Poder: 21
bbjb Va por buen camino
Talking

Gracias ante todo por el tiempo que has dedicado a resolver mi problema.

La opción MenuIndex la he estado probando con anterioridad pero no he sido capaz de extraer un valor que sea distinto de -1

La línea que utilizaba es la siguiente:

Menu.Items.MenuIndex

¿Es posible que lo esté utilizando mal?, disculpa mi ignorancia pero estoy empezando a desarrollar con delphi y cada paso que doy es una odisea

De nuevo mi agradecimiento
Responder Con Cita
  #4  
Antiguo 11-07-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Te recomiendo que hagas lo que te propone Román, es mucho mas eficiente, veloz y práctico que buscar un objeto dentro de una colección por el índice como tu quieres.

Código:
procedure TForm1.mnuCargar1Click(Sender: TObject);
begin
  if Sender is TMenuItem Then
    Edit1.Text := TMenuItem(Sender).Caption;
end;
Como tu quieres hacer podría ser algo tan redundate como esto:
Código:
procedure TForm1.mnuCargar1Click(Sender: TObject);
begin
  if Sender is TMenuItem Then
    Edit1.Text := MainMenu1.Items[TMenuItem(Sender).MenuIndex].Caption;
end;
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 14-07-2003
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Poder: 21
bbjb Va por buen camino
Thumbs up

Muchas gracias, veo que mi intento de obtener la posición del menu iba a ser infructuosa de no ser por vuestra ayuda, por lo que de nuevo eternamente agradecido

Un saludo
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


La franja horaria es GMT +2. Ahora son las 10:40:06.


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