Criação De Wizards Para A Ide Do Delphi.
Pessoal, estou usando o Delphi para fazer um wizard que me possibilite criar forms e conexão a banco de dados da forma que estou acostumado, uso Delphi 7, minha dúvida é a seguinte:
Como eu faço para que o wizard que eu to fazendo se instale num novo menu na IDE do Delphi, pq da forma que eu estou fazendo ele está sendo instalado no Menu ´Help´ do Delphi, e isso além de não ser nada elegante não me possibilita a criação de submenus.
Valeu.
Como eu faço para que o wizard que eu to fazendo se instale num novo menu na IDE do Delphi, pq da forma que eu estou fazendo ele está sendo instalado no Menu ´Help´ do Delphi, e isso além de não ser nada elegante não me possibilita a criação de submenus.
Valeu.
Lincesmarques
Curtidas 0
Respostas
Host
19/02/2008
Estou desenvolvendo um backup para delphi e estou colocando no menu Edit abaixo do delete. Espero que tenha lhe ajudado.
var
EditMenu: TMenuItem;
InsertPosition: Integer;
Item: TMenuItem;
I: Integer;
begin
EditMenu := (BorlandIDEServices as INTAServices).MainMenu.Items[1];
// Move all the items from PopupMenu1 to the Edit menu,
// right after SelectAll.
// Start by finding where to insert the new item.
InsertPosition := EditMenu.Count; // default is at end of menu
for I := 0 to EditMenu.Count-1 do
if CompareText(EditMenu[I].Name, ´EditSelectAll´) = 0 then
begin
InsertPosition := I;
Break;
end;
for I := PopupMenu1.Items.Count-1 downto 0 do
begin
// Remove the item from the popup menu.
Item := PopupMenu1.Items[I];
PopupMenu1.Items.Delete(I);
// Then add it to Delphi´s menu.
EditMenu.Insert(InsertPosition, Item);
end;
var
EditMenu: TMenuItem;
InsertPosition: Integer;
Item: TMenuItem;
I: Integer;
begin
EditMenu := (BorlandIDEServices as INTAServices).MainMenu.Items[1];
// Move all the items from PopupMenu1 to the Edit menu,
// right after SelectAll.
// Start by finding where to insert the new item.
InsertPosition := EditMenu.Count; // default is at end of menu
for I := 0 to EditMenu.Count-1 do
if CompareText(EditMenu[I].Name, ´EditSelectAll´) = 0 then
begin
InsertPosition := I;
Break;
end;
for I := PopupMenu1.Items.Count-1 downto 0 do
begin
// Remove the item from the popup menu.
Item := PopupMenu1.Items[I];
PopupMenu1.Items.Delete(I);
// Then add it to Delphi´s menu.
EditMenu.Insert(InsertPosition, Item);
end;
GOSTEI 0
Host
19/02/2008
Claro tem que usar o ToolsAPI na sessão uses.
GOSTEI 0
Lincesmarques
19/02/2008
Mano é isso mesmo, Open Tools API, to lendo muita coisa a respeito, meu wizard ta até feito, mas não consigo criar um menu na IDE do delphi pra por ele. Seguinte o pedaço de código que vc me enviou ta colocando a onde? na função ´GetIDString´ ??
GOSTEI 0
Host
19/02/2008
É um pouco mais complicado ..... mas vou ser bem teu amigo ..... vou dxar vc quebrar sua cabeça pra descobrir. Na real foi assim que fiz .... poe o codigo e roda que vc verá o que acontece. Dpois me fala.
procedure TfrMBackup.FormCreate(Sender: TObject);
var
EditMenu: TMenuItem;
InsertPosition: Integer;
Item: TMenuItem;
I: Integer;
begin
EditMenu := (BorlandIDEServices as INTAServices).MainMenu.Items[1];
// Move all the items from PopupMenu1 to the Edit menu,
// right after SelectAll.
// Start by finding where to insert the new item.
InsertPosition := EditMenu.Count; // default is at end of menu
for I := 0 to EditMenu.Count-1 do
if CompareText(EditMenu[I].Name, ´EditSelectAll´) = 0 then
begin
InsertPosition := I;
Break;
end;
for I := PopupMenu1.Items.Count-1 downto 0 do
begin
// Remove the item from the popup menu.
Item := PopupMenu1.Items[I];
PopupMenu1.Items.Delete(I);
// Then add it to Delphi´s menu.
EditMenu.Insert(InsertPosition, Item);
end;
end;
procedure TfrMBackup.FormCreate(Sender: TObject);
var
EditMenu: TMenuItem;
InsertPosition: Integer;
Item: TMenuItem;
I: Integer;
begin
EditMenu := (BorlandIDEServices as INTAServices).MainMenu.Items[1];
// Move all the items from PopupMenu1 to the Edit menu,
// right after SelectAll.
// Start by finding where to insert the new item.
InsertPosition := EditMenu.Count; // default is at end of menu
for I := 0 to EditMenu.Count-1 do
if CompareText(EditMenu[I].Name, ´EditSelectAll´) = 0 then
begin
InsertPosition := I;
Break;
end;
for I := PopupMenu1.Items.Count-1 downto 0 do
begin
// Remove the item from the popup menu.
Item := PopupMenu1.Items[I];
PopupMenu1.Items.Delete(I);
// Then add it to Delphi´s menu.
EditMenu.Insert(InsertPosition, Item);
end;
end;
GOSTEI 0
Lincesmarques
19/02/2008
Mano, muito bom isso, usando suas dicas e adaptando um pouco com o Gexperts eu consegui criar o item de menu na IDE do Delphi, fazendo assim:
function TADPCHStickerWizard.GetIDString: string;
begin
AddMenuItem(Self);
end;
procedure TADPCHStickerWizard.AddMenuItem;
var
MainMenu: TMainMenu;
Temp, ToolsMenuItem: TMenuItem;
begin
inherited Create;
// Cria o menu.
FGExpertsTopLevelMenu := TMenuItem.Create(nil);
{$IFDEF GX_UseMenuShortCutInitializationWorkAround}
FGExpertsTopLevelMenu.OnClick := TopLevelMenuClick;
{$ENDIF GX_UseMenuShortCutInitializationWorkAround}
FGExpertsTopLevelMenu.Caption := ´Meu E&xpert´;
FGExpertsTopLevelMenu.Name := ´MeuExpert´;
// Insere o menu na IDE.
MainMenu := (BorlandIDEServices as INTAServices).MainMenu;
MainMenu.Items.Insert(MainMenu.Items.Count - 2, FGExpertsTopLevelMenu);
// Aqui vai ser inserido os sub itens do menu posteriormente
// Insere o separador (por enquanto sem uso).
Temp := TMenuItem.Create(FGExpertsTopLevelMenu);
Temp.Caption := ´-´;
Temp.Name := ´GX_Sep1´;
FGExpertsTopLevelMenu.Add(Temp);
end;
Agora vou colocar os sub itens do menu, espero :)
function TADPCHStickerWizard.GetIDString: string;
begin
AddMenuItem(Self);
end;
procedure TADPCHStickerWizard.AddMenuItem;
var
MainMenu: TMainMenu;
Temp, ToolsMenuItem: TMenuItem;
begin
inherited Create;
// Cria o menu.
FGExpertsTopLevelMenu := TMenuItem.Create(nil);
{$IFDEF GX_UseMenuShortCutInitializationWorkAround}
FGExpertsTopLevelMenu.OnClick := TopLevelMenuClick;
{$ENDIF GX_UseMenuShortCutInitializationWorkAround}
FGExpertsTopLevelMenu.Caption := ´Meu E&xpert´;
FGExpertsTopLevelMenu.Name := ´MeuExpert´;
// Insere o menu na IDE.
MainMenu := (BorlandIDEServices as INTAServices).MainMenu;
MainMenu.Items.Insert(MainMenu.Items.Count - 2, FGExpertsTopLevelMenu);
// Aqui vai ser inserido os sub itens do menu posteriormente
// Insere o separador (por enquanto sem uso).
Temp := TMenuItem.Create(FGExpertsTopLevelMenu);
Temp.Caption := ´-´;
Temp.Name := ´GX_Sep1´;
FGExpertsTopLevelMenu.Add(Temp);
end;
Agora vou colocar os sub itens do menu, espero :)
GOSTEI 0
Lincesmarques
19/02/2008
Po, to quase la. ele a criando o menu, só que ta criando 2, executa esse código ai pra vcs verem:
------------------------------
unit ADWizard;
interface
uses
ToolsAPI, Windows, SysUtils, Classes, Forms, Messages, Menus;
type
TADPCHStickerWizard = class(TNotifierObject, IOTAWizard, IOTAMenuWizard)
public
{ IOTAWizard }
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;
{ IOTAMenuWizard }
function GetMenuText: string;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterPackageWizard(TADPCHStickerWizard.Create);
end;
procedure TADPCHStickerWizard.Execute;
var
i : integer;
MainMenu: TMainMenu;
MenuPrincipal: TMenuItem;
begin
inherited Create;
MainMenu := (BorlandIDEServices as INTAServices).MainMenu;
MenuPrincipal := TMenuItem.Create(nil);
MenuPrincipal.Caption := ´Me&u Wizard´;
MenuPrincipal.Name := ´Meu´;
// Insert menu in the IDE.
MainMenu.Items.Insert(9, MenuPrincipal);
end;
function TADPCHStickerWizard.GetIDString: string;
begin
Result := ´Some.MeuWizard´;
Execute;
end;
function TADPCHStickerWizard.GetMenuText: string;
begin
Result := ´Me&u Wizard´;
end;
function TADPCHStickerWizard.GetName: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetState: TWizardState;
begin
Result := [wsEnabled];
end;
procedure InitWizard;
begin
// nothing needed
end;
procedure DoneWizard;
begin
// Remove
end;
initialization
InitWizard;
finalization
DoneWizard;
end.
---------------------------
Alguem poderia dar uma olhada ai? Me da um help.
------------------------------
unit ADWizard;
interface
uses
ToolsAPI, Windows, SysUtils, Classes, Forms, Messages, Menus;
type
TADPCHStickerWizard = class(TNotifierObject, IOTAWizard, IOTAMenuWizard)
public
{ IOTAWizard }
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;
{ IOTAMenuWizard }
function GetMenuText: string;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterPackageWizard(TADPCHStickerWizard.Create);
end;
procedure TADPCHStickerWizard.Execute;
var
i : integer;
MainMenu: TMainMenu;
MenuPrincipal: TMenuItem;
begin
inherited Create;
MainMenu := (BorlandIDEServices as INTAServices).MainMenu;
MenuPrincipal := TMenuItem.Create(nil);
MenuPrincipal.Caption := ´Me&u Wizard´;
MenuPrincipal.Name := ´Meu´;
// Insert menu in the IDE.
MainMenu.Items.Insert(9, MenuPrincipal);
end;
function TADPCHStickerWizard.GetIDString: string;
begin
Result := ´Some.MeuWizard´;
Execute;
end;
function TADPCHStickerWizard.GetMenuText: string;
begin
Result := ´Me&u Wizard´;
end;
function TADPCHStickerWizard.GetName: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetState: TWizardState;
begin
Result := [wsEnabled];
end;
procedure InitWizard;
begin
// nothing needed
end;
procedure DoneWizard;
begin
// Remove
end;
initialization
InitWizard;
finalization
DoneWizard;
end.
---------------------------
Alguem poderia dar uma olhada ai? Me da um help.
GOSTEI 0
Ara.es
19/02/2008
estou tendo o mesmo problema que algumas pessoas nesse topico, meu wizard está funcionando legal, so que ele está sendo inserido no menu Help, queria que fosse inserido no menu Tools. como posso fazer isso?? desde já agradeço aos que colaborarem. valeu !!
GOSTEI 0
Lincesmarques
19/02/2008
Cara, até hoje não consegui também. Não consigo achar uma resposta clara pra isso, pior que tem vários wizards que fazem isso. Observando eles me pareceu que eles pegam uma cópia da ToolsAPI e a modificam para inserir um menu principal com o nome deles na IDE do Delphi. Mas realmente tá dificil viu.
Ainda continuo precisando disso.
Ainda continuo precisando disso.
GOSTEI 0
Ara.es
19/02/2008
Tenso mesmo. Agora eu não consigo mexer nisso, mas no fim de semana, irei dar uma olhada com calma se conseguir algo novo te falo.. valeu !!
GOSTEI 0
Ara.es
19/02/2008
NoiadoXm testei com seu codigo, e descobrir algumas coisas, ja consigo inserir em qualquer item que desejo, assim como descobrir por que o seu codigo estava duplicado o item. Retirei algumas coisas do seu codigo, na verdada acabei alterando ele todo, mas tem coisas que tem nele que nao uso mais. Irei verificar mais algumas coisas e posto aqui mais tarde. qualquer coisa pergunte.
GOSTEI 0
Lincesmarques
19/02/2008
Obaaaaa. o f.o.d.a era a duplicação do item que ele tava fazendo..
GOSTEI 0
Lincesmarques
19/02/2008
Amigo e ai? Conseguiu? Manda o código ai pra gente.
GOSTEI 0
Ara.es
19/02/2008
Noiadox, primeiro falarei do erro da duplicacao.
Uma das funções que temos que implementar, que está definida numa das interfaces, e a GetIDString que retorna o ID do seu Wizard, e nela vc chamava o metodo execute. O que creio que estava acontecendo é que o delphi deve chamar essa função sempre que renderiza o menu, e quando vc instalava ele devia estar chamando esse metodo varias vezes e executando o metodo execute tbm varias vezes. tanto que vc disse que com vc o codigo estava duplicando, na minha maquina ele nao estava duplicando e sim triplicando.. ou seja aparecida tres vezes o item.
Uma das funções que temos que implementar, que está definida numa das interfaces, e a GetIDString que retorna o ID do seu Wizard, e nela vc chamava o metodo execute. O que creio que estava acontecendo é que o delphi deve chamar essa função sempre que renderiza o menu, e quando vc instalava ele devia estar chamando esse metodo varias vezes e executando o metodo execute tbm varias vezes. tanto que vc disse que com vc o codigo estava duplicando, na minha maquina ele nao estava duplicando e sim triplicando.. ou seja aparecida tres vezes o item.
GOSTEI 0
Ara.es
19/02/2008
NoiadoX, na sua implementação vc usa os metodo register, initWizard e DoneWizard, nos materiais que encontrei nenhum utilizava esses metodos. mas acabei utilizando o initWizard para inserir o item. O que fiz foi: Coloquei o registro do wizard (RegisterPackageWizard(TADPCHStickerWizard.Create) ) na parte initialization da unit, junto com o metodo InitWizard. No metodo Initwizard eu coloquei o codigo que insere o item no menu do delphi.
Veja como ficou:
Ainda estou vendo umas possibilidades, qualquer coisa me escreva. Quando terminar de ver outras coisas eu posto aqui. Flw!!
Veja como ficou:
unit saa;
interface
uses
ToolsAPI, Windows, SysUtils, Classes, Forms, Messages, Menus, Dialogs;
type
TADPCHStickerWizard = class(TNotifierObject, IOTAWizard, IOTAMenuWizard)
public
{ IOTAWizard }
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;
{ IOTAMenuWizard }
function GetMenuText: string;
procedure ItemClick(Sender : TObject);
end;
implementation
procedure TADPCHStickerWizard.Execute;
begin
//
end;
function TADPCHStickerWizard.GetIDString: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetMenuText: string;
begin
Result := ´Me&u Wizard´;
end;
function TADPCHStickerWizard.GetName: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetState: TWizardState;
begin
Result := [wsEnabled];
end;
procedure TADPCHStickerWizard.ItemClick(Sender: TObject);
begin
ShowMessage(´TADPCHStickerWizard´);
end;
procedure InitWizard;
var
i : integer;
MainMenu: TMainMenu;
MenuPrincipal: TMenuItem;
begin
MainMenu := (BorlandIDEServices as INTAServices).MainMenu;
MenuPrincipal := TMenuItem.Create(nil);
MenuPrincipal.Caption := ´Me&u Wizard´;
MenuPrincipal.Name := ´Meu´;
MenuPrincipal.OnClick := ItemClick
// Insert menu in the IDE.
MainMenu.Items.Insert(9, MenuPrincipal);
end;
procedure DoneWizard;
begin
// Remove
end;
initialization
RegisterPackageWizard(TADPCHStickerWizard.Create);
InitWizard;
end.
Ainda estou vendo umas possibilidades, qualquer coisa me escreva. Quando terminar de ver outras coisas eu posto aqui. Flw!!
GOSTEI 0
Ara.es
19/02/2008
NoiadoX, esse código tem um problema, que estou tentando resolver, e acabou indo um parte da correção do problema. por favor retire a linha ´MenuPrincipal.OnClick := ItemClick´ do método InitWizard. O problema o seguinte como o metodo InitWizard não faz parte da classe TADPCHStickerWizard, ele não consegue acessar os métodos desta classe. já arrumou um jeito de acertar isso, só que não acho q é a melhor solução por isso estou procurando uma melhor. A solução que encontrei foi, criar um metodo que adiciona os items no menu do delphi dentro da classe TADPCHStickerWizard, e no InitWizard, vc declarar uma variavel do tipo da classe, instaciar essa variavel e depois chamar o metodo por esse objeto.
mas ou menos assim:
Cara acho que é isso, qualquer novidade posto aqui. Estou tentando agora: Quando chamar o wizard, através dele eu acessar o código aberto, assim como estabelecer um atalho para o mesmo. Valeu. Flw!!
mas ou menos assim:
unit saa;
interface
uses
ToolsAPI, Windows, SysUtils, Classes, Forms, Messages, Menus, Dialogs;
type
TADPCHStickerWizard = class(TNotifierObject, IOTAWizard, IOTAMenuWizard)
public
{ IOTAWizard }
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;
{ IOTAMenuWizard }
function GetMenuText: string;
procedure ItemClick(Sender : TObject);
procedure AdicionarItem;
end;
implementation
procedure TADPCHStickerWizard.AdicionarItem;
var
i : integer;
MainMenu: TMainMenu;
MenuPrincipal: TMenuItem;
begin
MainMenu := (BorlandIDEServices as INTAServices).MainMenu;
MenuPrincipal := TMenuItem.Create(nil);
MenuPrincipal.Caption := ´Me&u Wizard´;
MenuPrincipal.Name := ´Meu´;
MenuPrincipal.OnClick := ItemClick;
// Insert menu in the IDE.
MainMenu.Items.Insert(9, MenuPrincipal);
end;
procedure TADPCHStickerWizard.Execute;
begin
//
end;
function TADPCHStickerWizard.GetIDString: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetMenuText: string;
begin
Result := ´Me&u Wizard´;
end;
function TADPCHStickerWizard.GetName: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetState: TWizardState;
begin
Result := [wsEnabled];
end;
procedure TADPCHStickerWizard.ItemClick(Sender: TObject);
begin
ShowMessage(´TADPCHStickerWizard´);
end;
procedure InitWizard;
var
obj : TADPCHStickerWizard;
begin
obj := TADPCHStickerWizard.Create;
obj.AdicionarItem;
end;
procedure DoneWizard;
begin
// Remove
end;
initialization
RegisterPackageWizard(TADPCHStickerWizard.Create);
InitWizard;
end.
Cara acho que é isso, qualquer novidade posto aqui. Estou tentando agora: Quando chamar o wizard, através dele eu acessar o código aberto, assim como estabelecer um atalho para o mesmo. Valeu. Flw!!
GOSTEI 0
Ara.es
19/02/2008
Olha eu aqui de novo.
Agora encontrei uma solução melhor do que a ultima proposta por mim. Não é necessário nem a utilização do InitWizard, como no initialization a linha
RegisterPackageWizard(TADPCHStickerWizard.Create);
cria uma instância do Wizard, basta vc colocar o codigo que cria os items no menu do delphi no create do seu wizard, ou seja, crie um constructor para o seu wizard e nele vc insere os items de menu no delphi, e tbm liga os eventos dos mesmos ao evento que deseja.
Como ficaria:
Pronto acho que é isso. Agora está ok, lembrando que nesse exemplo eu insiro um item só, dar para inserir varios inclusive inserir items filhos desse primeiro, formando um menu completo de seu wizard. Flw!!!
Agora encontrei uma solução melhor do que a ultima proposta por mim. Não é necessário nem a utilização do InitWizard, como no initialization a linha
RegisterPackageWizard(TADPCHStickerWizard.Create);
cria uma instância do Wizard, basta vc colocar o codigo que cria os items no menu do delphi no create do seu wizard, ou seja, crie um constructor para o seu wizard e nele vc insere os items de menu no delphi, e tbm liga os eventos dos mesmos ao evento que deseja.
Como ficaria:
unit saa;
interface
uses
ToolsAPI, Windows, SysUtils, Classes, Forms, Messages, Menus, Dialogs;
type
TADPCHStickerWizard = class(TNotifierObject, IOTAWizard, IOTAMenuWizard)
public
{ IOTAWizard }
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;
{ IOTAMenuWizard }
function GetMenuText: string;
procedure ItemClick(Sender : TObject);
Constructor Create;
end;
implementation
constructor TADPCHStickerWizard.Create;
var
i : integer;
MainMenu: TMainMenu;
MenuPrincipal: TMenuItem;
begin
inherited Create;
MainMenu := (BorlandIDEServices as INTAServices).MainMenu;
MenuPrincipal := TMenuItem.Create(nil);
MenuPrincipal.Caption := ´Me&u Wizard´;
MenuPrincipal.Name := ´Meu´;
MenuPrincipal.OnClick := ItemClick;
MainMenu.Items.Insert(9, MenuPrincipal);
end;
procedure TADPCHStickerWizard.Execute;
begin
//
end;
function TADPCHStickerWizard.GetIDString: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetMenuText: string;
begin
Result := ´Me&u Wizard´;
end;
function TADPCHStickerWizard.GetName: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetState: TWizardState;
begin
Result := [wsEnabled];
end;
procedure TADPCHStickerWizard.ItemClick(Sender: TObject);
begin
ShowMessage(´TADPCHStickerWizard´);
end;
procedure DoneWizard;
begin
// Remove
end;
initialization
RegisterPackageWizard(TADPCHStickerWizard.Create);
end.
Pronto acho que é isso. Agora está ok, lembrando que nesse exemplo eu insiro um item só, dar para inserir varios inclusive inserir items filhos desse primeiro, formando um menu completo de seu wizard. Flw!!!
GOSTEI 0
Lincesmarques
19/02/2008
Mano, ficou show. Só não entendi como faz pra criar os items do menu. Podia passar um exemplo ai?
GOSTEI 0
Ara.es
19/02/2008
Ta ai.. inseri uns itens no menu, usei o mesmo evento click para todos os itens, mas nao impede que tenha procedimentos diferentes.
unit saa;
interface
uses
ToolsAPI, Windows, SysUtils, Classes, Forms, Messages, Menus, Dialogs;
type
TADPCHStickerWizard = class(TNotifierObject, IOTAWizard, IOTAMenuWizard)
public
{ IOTAWizard }
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;
{ IOTAMenuWizard }
function GetMenuText: string;
procedure ItemClick(Sender : TObject);
Constructor Create;
end;
implementation
constructor TADPCHStickerWizard.Create;
var
MainMenu: TMainMenu;
MenuPrincipal,
Item : TMenuItem;
begin
inherited Create;
MainMenu := (BorlandIDEServices as INTAServices).MainMenu;
MenuPrincipal := TMenuItem.Create(nil);
MenuPrincipal.Caption := ´Me&u Wizard´;
MenuPrincipal.Name := ´Meu´;
// MenuPrincipal.OnClick := ItemClick;
MainMenu.Items.Insert(9, MenuPrincipal);
Item := TMenuItem.Create(nil);
Item.Caption := ´Item 1´;
Item.Name := ´Item1´;
Item.OnClick := ItemClick;
MenuPrincipal.Add(Item);
Item := TMenuItem.Create(nil);
Item.Caption := ´Item 2´;
Item.Name := ´Item2´;
Item.OnClick := ItemClick;
MenuPrincipal.Add(Item);
Item := TMenuItem.Create(nil);
Item.Caption := ´Item 3´;
Item.Name := ´Item3´;
Item.OnClick := ItemClick;
MenuPrincipal.Add(Item);
Item := TMenuItem.Create(nil);
Item.Caption := ´Item 4´;
Item.Name := ´Item4´;
Item.OnClick := ItemClick;
MenuPrincipal.Add(Item);
end;
procedure TADPCHStickerWizard.Execute;
begin
//
end;
function TADPCHStickerWizard.GetIDString: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetMenuText: string;
begin
Result := ´Me&u Wizard´;
end;
function TADPCHStickerWizard.GetName: string;
begin
Result := ´Some.MeuWizard´;
end;
function TADPCHStickerWizard.GetState: TWizardState;
begin
Result := [wsEnabled];
end;
procedure TADPCHStickerWizard.ItemClick(Sender: TObject);
begin
ShowMessage(´Teste´);
end;
procedure DoneWizard;
begin
// Remove
end;
initialization
RegisterPackageWizard(TADPCHStickerWizard.Create);
end.
GOSTEI 0
Lincesmarques
19/02/2008
Olá,
Ta ficando bonito o negócio aqui :)
Cara, posso adicionar seu msn pra gente trocar uma idéia????
Ta ficando bonito o negócio aqui :)
Cara, posso adicionar seu msn pra gente trocar uma idéia????
GOSTEI 0
Ara.es
19/02/2008
pode adicionar sim, fique a vontade.. meu msn é: ara_uvv@hotmail.com e meu email pessoal é: ara.es@bol.com.br
Não mande email para o hotmail, não costumo ler as mensagens de lá.. Flw !!
Não mande email para o hotmail, não costumo ler as mensagens de lá.. Flw !!
GOSTEI 0