![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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? |
#2
|
||||
|
||||
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 |
#3
|
|||
|
|||
Gracias roman por la idea ya la probare y les dire como me fue
|
#4
|
||||
|
||||
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;
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. ![]() |
#5
|
||||
|
||||
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 |
![]() |
|
|
![]() |
|