Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   PopupMenu !!! (https://www.clubdelphi.com/foros/showthread.php?t=70705)

Ledian_Fdez 05-11-2010 23:05:37

PopupMenu !!!
 
Hola amigos !!!

Amigos tengo un MenuMun1 (TPopupMenu) y quiero por código habilitar o deshabilitar segun convenga uno de los items.

me pudieran ayudar?

Prové con:

Código Delphi [-]
MenuMun1.Items.Items[0].Enabled:= False;

Pero no resultó!!!

Casimiro Notevi 05-11-2010 23:27:16

Por favor, Ledian_Fdez, llevas ya cerca de 200 mensajes en clubdelphi y se te ha pedido que leas nuestra guía de estilo y que pongas en práctica algo tan sencillo como poner un título descriptivo a tus preguntas, ¿tanto trabajo cuesta?, a ver si el próximo lo hacemos mejor, ok?, gracias.
Estos son los títulos de tus últimos mensajes:
  • PopupMenu!!!
  • Procedure
  • consulta
  • Having?
  • MDaemon
  • TreeView
  • C++!!!
Todos muy descriptivos, sí señor ;)

ecfisa 06-11-2010 00:34:17

Hola Ledian.

Tampoco es muy claro que es lo que no te resultó, por que ese código que exponés, definitivamente deshabilita
el MenuItem de la posición cero...

A ver si esto es lo que buscas:
Código Delphi [-]
  with PopupMenu1.Items[0] do
    Enabled:= not Enabled;

Saludos. :)

fjcg02 06-11-2010 15:32:59

Hola a todos.

Generalmente lo que yo hago cuando tengo que habilitar-deshabilitar controles en un formulario es hacer una función/procedure que recoja todas las condiciones, de manera que no esté todo desperdigado por el código.

Además, a esta función suelo llamarla "botones". Incluye todas las condiciones relativas a botones, opciones de menú, ...

Será invocada desde cualquier lugar del formulario: Al crear el formulario, al cambiar de registro, al cambiar de tab , al...

Un poco de pseudo código
Código Delphi [-]
procedure TForm.botones;
begin
  Boton1.enabled:= ClienteDataset.Active;
  opcionmenu1.Enabled:= ClienteDatasetCAMPO1='1' and ClienteDatasetCAMPO2= 35;
 etc, etc, etc...
 generalmente, a partir de x condiciones las condiciones de más controles suelen ser recurrentes...
 boton35.Enabled:= Boton1.Enabled;
 etc, etc, etc
end;
Espero que te sirva.

Saludos

Ledian_Fdez 08-11-2010 15:50:34

Problemas al deshabilitar un items de Popup Menu
 
Cita:

Empezado por ecfisa (Mensaje 381513)
Hola Ledian.

Tampoco es muy claro que es lo que no te resultó, por que ese código que exponés, definitivamente deshabilita
el MenuItem de la posición cero...

A ver si esto es lo que buscas:
Código Delphi [-]
  with PopupMenu1.Items[0] do
    Enabled:= not Enabled;

Saludos. :)

Aun no me resulta, no me los deshabilita ...

Tengo un PopupMenu con los siguientes items

Cita:

Nuevo
Modificar
Eliminar
-
Imprimir
Lo que intento es que si no hay ningun suministrador seleccionado en el listview deshabilitar las opciones modificar, eliminar e imprimir.

Este es el código ..

Código Delphi [-]
procedure TCodificadoresForm.ListViewSuministradoresSelectItem(Sender: TObject;
  Item: TListItem; Selected: Boolean);
begin
 if(Selected)then
   begin
    MenuMun1.Items[1].Enabled:= True;
    MenuMun1.Items[2].Enabled:= True;
    MenuMun1.Items[4].Enabled:= True;
   end
 else
   begin
    MenuMun1.Items[1].Enabled:= False;
    MenuMun1.Items[2].Enabled:= False;
    MenuMun1.Items[4].Enabled:= False;
   end;
end;

En espera de su ayuda !!!

Casimiro Notevi no se preocupe que no volvera a pasar lo del título, pero es que en ocaciones no tengo mucho tiempo, ademas de no saber bien como redactarlo. le ruego que me disculpe usted y todos los amigos de este foro.

Ledian_Fdez 08-11-2010 16:19:23

ya resolví !!!
 
Chicos .. ya resolví .. disculpen por haberles hecho perder tiempo, el problema es que estaba probando con el ListView sin datos.

fjcg02 08-11-2010 23:12:54

Cita:

Empezado por Ledian_Fdez (Mensaje 381682)

Código Delphi [-]
procedure TCodificadoresForm.ListViewSuministradoresSelectItem(Sender: TObject;
  Item: TListItem; Selected: Boolean);
begin
 if(Selected)then
   begin
    MenuMun1.Items[1].Enabled:= True;
    MenuMun1.Items[2].Enabled:= True;
    MenuMun1.Items[4].Enabled:= True;
   end
 else
   begin
    MenuMun1.Items[1].Enabled:= False;
    MenuMun1.Items[2].Enabled:= False;
    MenuMun1.Items[4].Enabled:= False;
   end;
end;

Ya veo que no te has dado cuenta de lo que te comentaba. Tu código quedará mucho más claro si lo pones así, y si agrupas todas las condiciones del formulario en una sola función, mejor.


Código Delphi [-]
TCodificadoresForm.ListViewSuministradoresSelectItem(Sender: TObject;
  Item: TListItem; Selected: Boolean);
begin
    MenuMun1.Items[1].Enabled:= Selected;
    MenuMun1.Items[2].Enabled:= Selected;
    MenuMun1.Items[4].Enabled:= Selected;
end;

Saludos


La franja horaria es GMT +2. Ahora son las 13:43:32.

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