![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Веб-дизайнер
Форумчанин
Регистрация: 11.08.2011
Сообщений: 305
|
![]()
ReportCube, с картинкой разобрался, вопрос остается тем же - почему градиент вот так вот клонирует, безобразит, не знаю как это назвать. Ощущение, будто после отрисовки AdvancedDrawItem нужно сбросить какой-то параметр, но они все и так только внутри процедуры...
Почему же тогда так получается? http://gyazo.com/2293d9a9804697b9dad3439efb77f4d4.png |
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
![]()
Что касается OnAdvancedDrawItem, то я Вам дал заготовку. По градиенту - предложил ссылку с достаточно простым алгоритмом, который только нужно слегка доработать, чтобы получить эффекты выпуклости/вогнутости. Что Вы хотите получить? Где верное, с Вашей точки зрения, изображение?
|
![]() |
![]() |
![]() |
#13 |
Веб-дизайнер
Форумчанин
Регистрация: 11.08.2011
Сообщений: 305
|
![]()
ReportCube, хочу понять свою ошибку, ведь рисует верно, но где-то идет сбой. Никак не могу понять где.
|
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
см. пост 6, там приращение не правильно вычисляется
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
![]()
Сразу не обратил внимания. Абсолютно верно указано на ошибку: очерёдность выполнения математических операций (см. пост 6).
|
![]() |
![]() |
![]() |
#16 |
Веб-дизайнер
Форумчанин
Регистрация: 11.08.2011
Сообщений: 305
|
![]()
Аватар, ReportCube, упустил из виду пост. Спасибо, там действительно нужны скобки. Градиент рисует отлично. Немного не могу правильно рассчитать какой отступ делать тексту и картинке слева от него (если item имеет множество родителей, соответственно отступ с каждым родительским элементом все больше и больше).
Замучил уже с этим вопросом, но не подскажите напоследок? Вот, заново перерисовываю картинку и текст: Код:
|
![]() |
![]() |
![]() |
#17 |
Веб-дизайнер
Форумчанин
Регистрация: 11.08.2011
Сообщений: 305
|
![]() Код:
Последний раз редактировалось kettanaito; 26.08.2011 в 21:49. |
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А зачем вообще выделять градиентом по всей ширине тривью? Разве не достаточно текстовую область со пользовательским смайлом? Redt.Left не обнулять и все. И не надо его тогда для каждого узла вычислять. Тогда графику тривью не заденет. И в прорисовке текста и смайла зачем Top со смещением? Винда рисует их без смещения (если не ошибаюсь, ну максимум 1). Сделайте PrintScreen прорисовки винды и вашей, сохраните в файлы и Paint-е увеличив посмотрите разницу
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#19 |
Веб-дизайнер
Форумчанин
Регистрация: 11.08.2011
Сообщений: 305
|
![]()
Аватар, если не обнулять значение ARect.Left, то градиент рисует четко от начала текста узла, в этом Вы правы, но как же иконка справа? она тоже должна находится на фоне градиента, как и "пустая" часть, что образовалась слева при ARect.Left<>0.
http://gyazo.com/fcaee56298e077984e2d50c7791f978f.png Белая часть слева раздражает. Даже убрав ее, остается фон самого TreeView. Да и текст все-равно приходится перерисовывать заново, т.к. градиент перекрывает его. И в перерисовке текста тоже нужно основываться на отступ слева... |
![]() |
![]() |
![]() |
#20 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Графику тривью вы убрали, тогда если раздражает, то нужно знать как винда это делает. Хотя бы посмотрев попиксельную ширину отступов, которая будет зависить от размеров фонта, мелкий шрифт или крупный и не помню, но вроде там у тривью свойства какаие-то есть с этим связанные. я в 18 посте писал как можно это посчитать в Painte хотя бы. А чтобы всетаки оставить белое слева можно везде Rect.Left уменьщить на 16 или что-то около этого
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 26.08.2011 в 22:29. |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает написанная мною процедура градиент. ВНИМАНИЕ: МОЙ ПРЕКТ НАПИСАН С ИСПОЛЬЗОВАНИЕМ ALPHACONTROLS | hjkdhgu | Помощь студентам | 0 | 09.06.2011 14:38 |
Прозрачный градиент - Фон не просто прозрачный, есть градиент - к верху он светлеет | DrStrangeLove | HTML и CSS | 3 | 26.05.2011 00:44 |
градиент | Naive | HTML и CSS | 1 | 14.12.2010 09:10 |
Градиент в OpenGL | papos | Помощь студентам | 9 | 16.11.2010 00:27 |
Фон: ГРАДИЕНТ | PAVEL315 | HTML и CSS | 2 | 13.03.2007 17:58 |