PDA

Ver la Versión Completa : ¿Como crear menu dinamico.


JXJ
09-09-2005, 05:39:47
¿Cómo puedo crear un menu dinamico, al estilo del messenger. el yahoo?

qeu ven que tiene, su lista de contactos en la ventana principal
haces click con el boton derecho sobre un contacto, o un identificador.
como el de contactos no deseados. y sale un menu, con
las opciones, determinadas para el contacto..
por ejemplo. si el contacto esta en linea. estan habilitadas unas opciones
si no lo esta. solo algunas.
y hay en el messenger la opcion de

enviar correo a (contacto@hotmail.com)

que cambia deacuerdo a los contactos.
Eso quiero lograr, por principio.

¿Como le hago.?

Vale gracias.

Crandel
09-09-2005, 07:51:24
Creo que se hablo de esto hace un mes aprox.
Si no lo encontras te busco el código que alguna ves implemnte.

yusnerqui
09-09-2005, 14:31:45
Mira te doy un ejemplo que acabo de crear:
1- Defines un controlador de evento para los items de tu menu

procedure MenuClic(Sender: TObject);
//y lo implementas
implementation
procedure TForm1.MenuClic(Sender: TObject);
begin
if Sender is TMenuItem then
ShowMessage(TMenuItem(Sender).Caption);
end;


2- En el evento que quieras crearlo pones:

Var
I : Integer;
MItem : TMenuItem;
begin
PopupMenu1.Items.Clear;
for i := 0 to 5 do
begin
MItem := TMenuItem.Create(PopupMenu1);
MItem.Caption := 'Opcion'+inttostr(i);
MItem.OnClick := MenuClic;
PopupMenu1.Items.Add(MItem);
end;
end;

Bueno creo que esto responde a tu pregunta de:

¿Cómo puedo crear un menu dinamico, al estilo del messenger. el yahoo?

Ahora la forma de como implementar el controlador MenuClic y que caption ponerle a cada item si te la dejo a ti, pues depende muy específicamente de tus necesidades, te recomiendo que para diferenciar un item de otro utilices su propiedad tag. Espero haberte ayudado.

Saludos

JXJ
10-09-2005, 04:50:09
yusnerqui.

Funciona Bien..

Ahora me falta, asignar los caption, hints. submenus...

pues creo que tengo que tener un archivo INI.
(que es lo que medio he aprendido a usar. )
por cada contacto con la siguiente estructura.

-------------
[Contacto1_Nombre del Contacto]
Accion=Enviar Mensaje
me_1=MostrarVentana
Enviar=Enviar Con Submenu
ime_2=Cosas del Submenu
Separador= -
opciones= MostrarDialogoDeOpciones
[Contacto2_Nombre del Contacto]
Accion=Enviar Mensaje
me_1=MostrarVentana
Enviar=Enviar Con Submenu
ime_2=Cosas del Submenu
Separador= -
opciones= MostrarDialogoDeOpciones
[Contacto3_Nombre del Contacto]
Accion=Enviar Mensaje
me_1=MostrarVentana
Enviar=Enviar Con Submenu
ime_2=Cosas del Submenu
Separador= -
opciones= MostrarDialogoDeOpciones
-------------

y resonder deacuerdo al item sobre el que hicieron click. del
popupmenu.

Crandel ¿el codigo del que hablas es usando un TlistView o usando.
un componente tipo TNT?

Sigo haciendo pruebas, gracias por su atenciòn