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;