Fórum TMenuItem #375596
05/10/2009
0
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
Curtir tópico
+ 0Posts
05/10/2009
Afarias
T+
Gostei + 0
05/10/2009
Edsant
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
Gostei + 0
05/10/2009
Afarias
Não acha q está procurando chifre em cabeça de cavalo??
T+
Gostei + 0
05/10/2009
Edsant
Obrigado..
Gostei + 0
05/10/2009
Afarias
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+
Gostei + 0
06/10/2009
Osocram
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)