Fórum TMenuItem #375596

05/10/2009

0

Olá a todos..

Eu cria colocar mais um propriedade no MenuItem do MainMenu...

[b:a22895fb35]property NameForm : string read FNameForm write FNameForm;[/b:a22895fb35]

Eu teria que criar um novo componente??
Até agora eu consegui criar um componente MainMenu, mas o MenuITem tá dificil...

Alguem pode dar uma ajuda?

Aguardo.


Edsant

Edsant

Responder

Posts

05/10/2009

Afarias

E o q essa propriedade faria??


T+


Responder

Gostei + 0

05/10/2009

Edsant

Serviria para eu colocar o nome do Fomulario correspondente.

Foi uma dica do [b:f19f8b3ab4]osocram[/b:f19f8b3ab4] passou.

[i:f19f8b3ab4]Por exemplo eu tenho um método que ao iniciar a Tela Principal eu atribuo a todos os menuItem o OnClick deles. Para eu não ter que ficar fazendo codigo em todos os Menu Item para abrir meus forms. Eu fiz com que no nome do Menu Item ficasse assim ´mn_´+´Nome da Class do meu form´. Dae a minha rotina pega o nome do Menu tira o ´mn_´ e pronto ele tem o nome da classe. Dae todas é so mandar abrir o form.

Imagina que eu não tenho codigo nenhum nos OnClick do meus Menu Item a unica coisa que tenho que fazer é criar um menu Item novo com a nomeclatura certa e pronto... o sistema ja sabe abrir ele. by osocram[/i:f19f8b3ab4]

Eu achei uma função na net que faz o que ele falou, só quem em vez de colocar o nome do form na propriedade Name, ele pega o nome na propriedade Hint...

Então minha ideia é criar um propriedade especifica para colocar o nome do form.


Aguardo


Responder

Gostei + 0

05/10/2009

Afarias

Vc quer criar uma propriedade nova mesmo podendo escolher entre (pelo menos) outras 2 propriedades q já existem e q outros já usam em seus projetos e por isso lhe indicaram??

Não acha q está procurando chifre em cabeça de cavalo??


T+


Responder

Gostei + 0

05/10/2009

Edsant

Não acho q seria procurar chifre em cabeça de cavalo, é mais para apreender como fazer...

Obrigado..


Responder

Gostei + 0

05/10/2009

Afarias

Bom, criar um descendente de TMenuItem é tão fácil quanto:

  
  TMyMenuItem = class(TMenuItem)
  private
    fFormName: string;
  published
    property FormName: string read fFormName write fFormName;
  end;


Mas ai, vc tem q:

1) Criar os items de um menu via código

ou

2) Criar seu substituto para o editor de menus padrão do Delphi para permitir que vc crie em tempo de projeto os items como a sua classe e não TMenuItem

Outra coisa é q vc vai ter sempre q fazer um TypeCast nos items para a sua classe, a não se q vc defina um TMainMenu e TPopupMenu tb seus q defina os items como sua classe e não o TMenuItem padrão


T+


Responder

Gostei + 0

06/10/2009

Osocram

Amigo.

Estou num apuro agora...

Mas é assim em vez de criar uma propriedade para isso simplesmente utilize o Name dele para isso.
crie um padrão para vc... para mim eu uso ´mn_´+Classe_Do_Form
assim o nome nunca repete e com um simples StringReplace ou metodo que vc quiser para retirar o ´mn_´ vc ja tem a Classe do form que quer usar.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar