Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Menú Incrementable??? (https://www.clubdelphi.com/foros/showthread.php?t=10433)

HectorMendez 19-05-2004 14:59:08

Menú Incrementable???
 
Hola a todos.....

Soy nuevo en la programacion orientada a objetos, Delphi es lo mejor que conozco.....

No se si el título de este mensaje sea apropiado para lo que quiero....

Necesito hacer un Menú Incrementable, es decir un menú al cual se le puedan añadir opciones en tiempo de ejecución, me explico...:

Si por ejemplo, el sistema requiere de una nueva opción, el usuario sea capaz de agregar la opción en el menu, en lo que el programador hace el programa...

De esta forma el programador no tendra que modificar el programa completo, sino solo se limitará a agregar la nueva unidad...

Si eso se puede, necesito saber como se puede hacer un Menú Incrementable...

Gracias mil

NOTA: soy muy novato... me escusan si lo que pido es una burrada o por el contrario me corrigen si eso es una mala idea de programación... Gracias:rolleyes:

marcoszorrilla 19-05-2004 15:43:48

Bueno lo que quieres me da la impresión que no está bien enfocado, el hecho de que a un menú se le añada una nueva opción, no tiene nada de particular, pero si se lo añade el usuario, finalmente el programador tendrá que desarrollar un módulo o función que haga lo que el usuario quiere, por lo tanto no quedará más remedio que retocar el programa y programar lo que se pide, si se utilizaran Dlls habría que recompilar estas y enviarselas al usuario.

En cuanto a añadir una opción a un menu en tiempo de ejecución te pongo un ejemplo muy simple
Código Delphi [-]
nit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Menus;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    una1: TMenuItem;
    Primera1: TMenuItem;
    Segunda1: TMenuItem;
    Button1: TButton;
    procedure MiMensaje(Sender:Tobject);
    procedure Button1Click(Sender: TObject);
    procedure Primera1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);
var
MiMenu:TmenuItem;
begin
  MiMenu := TMenuItem.Create(Self);
  MiMenu.Caption := 'Nueva opción';
  MiMenu.OnClick:=MiMensaje;
  Una1.Add(MiMenu);

end;



procedure TForm1.MiMensaje(Sender:Tobject);
begin
ShowMessage('Atención esta opción no está disponible');
end;

end.

Un saludo y pégale una ojeadita a la Guía de estilo de los foros.


La franja horaria es GMT +2. Ahora son las 18:17:14.

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