Selecao DevMedia QUERO SER PRIME

Fórum Manipulação do TMainMenu #322394

29/05/2006

0

Olá!!

Gostaria de saber como é possível resolver o seguinte problema.
Tenho que desenvolver o seguinte menu:

ITEM1 ITEM2 ITEM3 ITEM4 ITEM5 ITEM6

Estou usando o TMainMenu para colocar os itesns do Menu acima,
so que tenho que colocar o ITEM6 bem ´afastado´ do ITEM5, como consigo fazer isso!!!?!?!?!?!?


Developerb

Developerb

Responder

Posts

30/05/2006

Developerb

...alguem saberia resolver tao problema!!


Responder

Gostei + 0

30/05/2006

Rui Lisboa

Explique melhor.

Para faxer a separação coloca -


Responder

Gostei + 0

30/05/2006

Developerb

Eu tenho que construir um MENU da seguinte maneira!!

ITEM1 ITEM2 ITEM3 ITEM4 ITEM5................................ITEM6

O ITEM5 e o ITEM6 tem que haver um espaco entre eles, sendo que nao posso colocar nehum tipo de traco na propriedade CAPTIOIN.

Deve haver um jeito de fazer com que tenha o espaco sem prejudicar a forma original do menu.

O que eu ja fiz, adicionei varios ITEMS so que, se o usuario passar o mouse por cima do espaco, ele vera que tem botoes ´ocultos´.

Sera que nao tem uma forma de colocar um ENABLED FALSE para esse botoes que fornecem o espaco!?!??!?!?! 8)


Responder

Gostei + 0

30/05/2006

Adriano Santos

Tenta adicionar em runtime.
Se tiver dúvidas, dá uma olhada no meu [url=https://www.devmedia.com.br/visualizacomponente.aspx?comp=1073&site=3]artigo[/url].


Responder

Gostei + 0

30/05/2006

Massuda

Nos tempos do Windows 3.x costumava-se por o menu Ajuda no lado direito da barra de menu. Isso ainda é suportado pelo Windows. Use este código...
function AlinharMenuItemADireita(const AItem: TMenuItem): Boolean;
var
    Info: MENUITEMINFO;
    S: string;
begin
    FillChar(Info, SizeOf(Info), #0);

    Info.cbSize := SizeOf(Info);
    Info.fMask := MIIM_TYPE;

    GetMenuItemInfo(AItem.Parent.Handle, AItem.Command, False, Info);

    Info.fType := Info.fType or (MFT_RIGHTJUSTIFY or MFT_STRING);

    S := AItem.Caption;
    Info.dwTypeData := PChar(S);
    Info.cch := Length(S);

    Result := SetMenuItemInfo(AItem.Parent.Handle, AItem.Command, False, Info);
end;
...coloque essa procedure na unit do seu form principal (nem precisa ser método do form). Use assim...
// no evento OnShow do seu form
procedure TSeuForm.FormShow(Sender: TObject);
begin
  AlinharMenuItemADireita(SeuMenuItem);
  // todos os menuitem´s à direita de SeuMenuItem
  // ficarão à direita na barra de menu
end;



Responder

Gostei + 0

31/05/2006

Adriano Santos

Nos tempos do Windows 3.x costumava-se por o menu Ajuda no lado direito da barra de menu. Isso ainda é suportado pelo Windows. Use este código...
function AlinharMenuItemADireita(const AItem: TMenuItem): Boolean;
var
    Info: MENUITEMINFO;
    S: string;
begin
    FillChar(Info, SizeOf(Info), #0);

    Info.cbSize := SizeOf(Info);
    Info.fMask := MIIM_TYPE;

    GetMenuItemInfo(AItem.Parent.Handle, AItem.Command, False, Info);

    Info.fType := Info.fType or (MFT_RIGHTJUSTIFY or MFT_STRING);

    S := AItem.Caption;
    Info.dwTypeData := PChar(S);
    Info.cch := Length(S);

    Result := SetMenuItemInfo(AItem.Parent.Handle, AItem.Command, False, Info);
end;
...coloque essa procedure na unit do seu form principal (nem precisa ser método do form). Use assim...
// no evento OnShow do seu form
procedure TSeuForm.FormShow(Sender: TObject);
begin
  AlinharMenuItemADireita(SeuMenuItem);
  // todos os menuitem´s à direita de SeuMenuItem
  // ficarão à direita na barra de menu
end;


Show de bola [b:642ff74b27]Massuda[/b:642ff74b27]. Fica bem diferente né? Coisa de loko.


Responder

Gostei + 0

31/05/2006

Developerb

Ok!
Agradeço a atenção e a ajuda :lol:


Responder

Gostei + 0

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

Aceitar