Ver la Versión Completa : PopupMenu !!!
Ledian_Fdez
05-11-2010, 23:05:37
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:
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:
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
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
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:
with PopupMenu1.Items[0] do
Enabled:= not Enabled;
Saludos. :)
Aun no me resulta, no me los deshabilita ...
Tengo un PopupMenu con los siguientes items
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 ..
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
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
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.
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
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.