Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) [DELPHI] WindowMenu em Toolbar


Samuel Sewaybricker

Pergunta

Olá a todos, estou com seguinte situação, no meu sistema preciso usar o toolbar e relacionar o mainmenu nele, isso porque consigo alterar a posição do menu em tela (altop, albottom, etc), o meu formulario principal é um MDIForm e na propriedade WindowMenu está o menu no qual irá fazer o controle das telas abertas, porém não funciona, se eu tiro a referencia do menu no toolbar o mesmo volta a funcionar.

Alguma sugestão? Já tentei 'fazer' esse controle dos formularios abertos dinamicamente, mas não sei como vou referenciar o evento OnClick para trazer o formulario para frente.

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

tente

MdiChild.BringToFront();

MdiChild.Focus();

abraço

Obrigado pela resposta Jhonas, mas a dúvida em si não seria como trazer o form e sim como montar o evento do click, no entanto eu resolvi, segue os códigos:

- Método do click do menu dinâmico:

procedure TForm1.ClickButton(Sender: TObject);
Var
  vForm : TForm;
  i,p: Integer;
begin
  vForm := TForm(FindControl(HWnd(TMenuItem(Sender).Tag)));
  if vForm <> nil then
  begin
    vForm.BringToFront;
    vForm.WindowState := wsMaximized;
    //teste(TMenuItem(Sender));
  end;
end;

- Exibição dos menus de acordo com os forms abertos:

procedure TForm1.ExibirMenu;
var
  NewItem : TMenuItem;
  i,j,p : Integer;
begin
  for i := 0 to self.MDIChildCount-1 do
  begin
    //Verificar se o menu já existe para não recria-lo
    for j:=0 to XPMainMenu1.Items[2].Count -1 do
    begin
      p := CompareStr(XPMainMenu1.Items[2].Items[j].Name, Self.MDIChildren[i].Name);

      if p = 0 then
        abort;
    end;

    XPMenu1.Active := False;
    NewItem := TMenuItem.create(XPMainMenu1);
    NewItem.Name := Self.MDIChildren[i].Name;
    NewItem.Caption := Self.MDIChildren[i].Caption;
    NewItem.Tag := Self.MDIChildren[i].Handle;
    NewItem.OnClick := ClickButton;

    XPMainMenu1.Items[2].Insert(XPMainMenu1.Items[2].Count, NewItem);
    XPMenu1.Active := True;
  end;

end;
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...