PDA

Ver la Versión Completa : Activar/Desactivar Elementos de un TMainMenu


daragor
23-05-2013, 16:47:04
Hola compañeros, necesito que me guien .. como hago para desactivar o activar un elemento determinado de un menu principal en lazarus, estuve buscando pero doy con lo que necesito. Por ejemplo si ocurre una determinada accion .. debo activar un elemento del menu que se encuentra disabled desde el inicio. Creo q se entiende y espero me puedan ayudar... NO se como usar el tema items xq usa una variable integer del componente y no tengo idea cual es el nro. del componente q deseo poner como enabled.

Gracias!!!!

ecfisa
23-05-2013, 17:56:14
Hola daragor.

como hago para desactivar o activar un elemento determinado de un menu principal en lazarus

La forma más simple es desde el propio TMenuItem, por ejemplo

procedure TForm1.Button1Click(Sender: TObject);
begin
MenuItem2.Enabled := False;
end;

// O de otro modo:
procedure TForm1.Button2Click(Sender: TObject);
var
aName : string;
begin
aName := 'MenuItem2';
TMenuItem(FindComponent(aName)).Enabled:= False;
end;


También podes acceder desplazándote por la propiedad Items del TMenuItem, por ejemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
i,j: Integer;
begin
for i:= 0 to MainMenu1.Items.Count-1 do
for j:= 0 to MainMenu1.Items[i].Count-1 do
MainMenu1.Items[i].Items[j].Enabled := False;
end;

Espero haber entendido lo que buscabas.

Saludos. :)

daragor
23-05-2013, 23:55:47
claro que me sirvio ecfisa, sobre todo el primero.. entendi que debemos tratar a cada elemento del menu como un menú.. por su nombre. muchas gracias como siempre!