Medium
![](http://forum.ru-board.com/board/avatars/private/Medium.gif)
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: оставь своё решение потомкам - полезное дело сделаешь. | Практика показывает, что не полезное это дело, а неблагодарное Ну да ладно. Пользуйтесь. Решение вопроса. Devexpress v.2015.2.6. Изменения в модуле dxBar.pas. 1. Чтобы было куда смещать иконку - надо предварительно увеличить ширину контрола, где она отрисовывается. В функции TSystemMenuSubItemControl.GetDefaultWidth: Integer; строка Result := GetSystemMetrics(SM_CXSMICON); меняется на Result := GetSystemMetrics(SM_CXSMICON) + 15; 2. Затем вносим изменения в процедуру отрисовки иконки. В процедуре TSystemMenuSubItemControl.DoPaint(ARect: TRect; PaintType: TdxBarPaintType); строка DrawIconEx(Canvas.Handle, Left, Top, Icon, Right - Left, Bottom - Top, 0, 0{Parent.BkBrush}, DI_NORMAL); меняется на DrawIconEx(Canvas.Handle, Left + 10, Top, Icon, Right - Left - 15, Bottom - Top, 0, 0{Parent.BkBrush}, DI_NORMAL); где + 10 - увеличиваем у иконки отступ слева на 10 px - 15 - корректируем ширину отрисовывания иконки с учётом увеличения ширины контрола | Всего записей: 587 | Зарегистр. 09-04-2002 | Отправлено: 13:52 12-10-2016 | Исправлено: Medium, 17:50 12-10-2016 |
|