Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Что можно сделать с той частью Rebar которая до Band - это 2 пикселя. / 2 сообщений из 2, страница 1 из 1
18.04.2013, 04:30
    #38230187
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что можно сделать с той частью Rebar которая до Band - это 2 пикселя.
Объясню на пальцах и приложу картинку.

1) API-Rebar
В случае картинки ему присвоен стиль "Communications". Это делает надписи на Band белыми как положено, в принципе можно оставить "default"
2) На ребаре находится Band, в Bande сидит Toolbar. Ему тоже присвоен стиль "Communications". Ради белых надписей (но опять же не суть).
3) Далее Банду присвоен
.fMask = RBBIM_BACKGROUND
.hbmBack = g_picRebarBackground.Handle
это имитирует мутно-зеленый стиль Explorer на Висте. Ну, я старался, вроде получилось реалистично.

Ну т.е. я подтасовал стиль за счет Band-Background.

Теперь о проблеме:
2 пикселя слева от RBBS_GRIPPERALWAYS (полоска из верт. точек)

Эти 2 пикселя из стиля "Communications" - не прикрыты рисованной тематикой, т.е. эдакая "не в тему" полосочка.

Что можно сделать?
Очевидно торчит неприкрытый бандом сам ребар.
Сразу скажу что если убрать RBBS_GRIPPERALWAYS , то проблема не решится, все равно будет вертикальная родная полосочка.

Background самого Rebar перерисовывать нельзя по причинам:
1) При включенных темах это и не получится
2) При выключенной теме для ребар перерисовать конечно можно но куча других ньюансов, например не применишь стиль к тексту на банд, и темы выключатся для дочернего Toolbar что неприемлимо.

По идее в данном контексте эта полоска "не сильно портит" и незаметна.
Но есть другая идея -прозрачный тулбар - подложить кусочек фонового рисунка в качестве bkground.
С этой полоской идея не пройдет и в глаза бросится.

Есть идеи?
...
Рейтинг: 0 / 0
20.04.2013, 02:49
    #38233644
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что можно сделать с той частью Rebar которая до Band - это 2 пикселя.
Думаю, в данном конкретном случае (панель наверху формы), ничего делать не надо.

А вот если на базе этой идеи сделать "панель с прозрачными кнопочками" (для подложки вырезать кусок фонового рисунка),
то можно поместить Rebar в родительский PictureBox и тупо задвинуть влево на эти 2 пикселя, RBBS_GRIPPERALWAYS естественно убрать.

Можно это конечно сделать и в показанном на рисунке случае, но уж больно _GRIPPERALWAYS нравится, а если сдвигать, то будет некрасиво.

Короче буду когда играться расскажу чего получилось.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Что можно сделать с той частью Rebar которая до Band - это 2 пикселя. / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]