Карта сайтаСсылкиКонтакты

Хостинг


Как выровнять пункт меню по правому краю

PDF Печать
Статьи

В большинстве приложений все пункты меню верхнего уровня выровнены по левой стороне меню. Но наверное, Вы видели приложения, в который пункты меню были выровнены по правой стороне. В большинстве случаев это был пункт меню "Help".

Есть способ выровнять пункт меню "Help" с правой стороны в строке меню:

Общий вид: меню "Help" справа
  1. Добавьте компонент TMainMenu на форму (Form1)
  2. Добавьте несколько пунктов меню верхнего уровня с подпунктами
  3. Переименуйте пункт справки на HelpMenuItem
  4. Запишите код ниже в событие формы OnCreate
  5. Запустите проект. Обратите внимание, что элемент "Help" теперь находится с правой стороны меню.

procedure TForm1.FormCreate(Sender: TObject) ;
var
   mii: TMenuItemInfo;
   MainMenu: hMenu;
   Buffer: array[0..79] of Char;
begin
   MainMenu := Self.Menu.Handle;

   //GET Help Menu Item Info
   mii.cbSize := SizeOf(mii) ;
   mii.fMask := MIIM_TYPE;
   mii.dwTypeData := Buffer;
   mii.cch := SizeOf(Buffer) ;
   GetMenuItemInfo(MainMenu, HelpMenuItem.Command, false, mii) ;

   //SET Help Menu Item Info
   mii.fType := mii.fType or MFT_RIGHTJUSTIFY;
   SetMenuItemInfo(MainMenu, HelpMenuItem.Command, false, mii) ;
end;

 

Комментарии   

 
0 #1 Вася 22.06.2013 16:35
Спасибо. Пункт меню стал справа, но если я любому из пунктов меню поменяю свойство Caption (смена языка програмы) - пункт становится снова слева. Нужна повторная установка его вправо, но она занимает несколько секунд, при этом пользователь явно видит прыгающий пункт меню. Как побороть?
Спасибо.
Цитировать
 

Добавить комментарий


Защитный код
Обновить