Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Alinear el mainmenu a ambos lados del formulario (https://www.clubdelphi.com/foros/showthread.php?t=6430)

raul_sal 08-01-2004 03:02:35

Alinear el mainmenu a ambos lados del formulario
 
Que tal amigos

Lo que necesito hacer es que me aparezcan algunas opciones del mainmenu del lado derecho y otras opciones del lado izquierdo

como lo puedo realizar?

roman 08-01-2004 06:22:58

No creo que esto pueda hacerse con un MainMenu pero puedes simularlo usando un ActionManager y dos ActionMainMenuBar poniendo la propiedad BiDiMode de uno de ellos en bdRightToLeft para las opciones que deben aparecer del lado derecho.

// Saludos

raul_sal 08-01-2004 11:37:20

Gracias roman por la idea ya la probare y les dire como me fue

delphi.com.ar 08-01-2004 15:00:19

Si lo que quieres es que un item del primer niver del un TMainMenu, quede alineado a la izquierda, como hacen muchos programas con el menú Ayuda... Prueba este código, que funciona para Win3x en adelante:

Código:

procedure AlignMenuItem(Menu: TMenu; MenuItem: TMenuItem; RigthJustify: Boolean);
{$IFNDEF VER80}
var
  ItemInfo: TMenuItemInfo;
  Buffer: array[0..80] of Char;
{$ENDIF}
begin
{$IFDEF VER80}
  MenuItem.Caption := Chr(8) + MenuItem.Caption;
{$ELSE}
  ItemInfo.cbSize := SizeOf(TMenuItemInfo);
  ItemInfo.fMask := MIIM_TYPE;
  ItemInfo.dwTypeData := Buffer;
  ItemInfo.cch := SizeOf(Buffer);
  GetMenuItemInfo(MenuItem.Parent.Handle, MenuItem.Command, False, ItemInfo);
  if RigthJustify then
    ItemInfo.fType := ItemInfo.fType or MFT_RIGHTJUSTIFY;

  SetMenuItemInfo(MenuItem.Parent.Handle, MenuItem.Command, False, ItemInfo);
{$ENDIF}
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  AlignMenuItem(MainMenu1, MenuItem2, True);
end;


roman 08-01-2004 16:35:50

Sí, sí. Mucho mejor esto de delphi.com.ar. Sabía lo de Chr(8) pero al probarlo no me funcionó y pensé que en win95+ ya no funcionaba. Faltaba lo de MFT_RIGHTJUSTIFY.

// Saludos


La franja horaria es GMT +2. Ahora son las 04:51:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi