Пытался долго, муторно и почти безрезультатно. Все больше и больше убеждаюсь, что GUI в винде писали абсолютные извращенцы:) Пока сделал не так, как хотелось, иконки по хорошему выдернуть не удалось. Но больше тянуть не могу. Итак, что получилось - смотрите.
З.Ы. Да простят меня скинмейкеры, но почему то мои меню упорно не хотят становиться произвольной формы, думаю на меня не сильно разозлятся, если пока меню будут квадратными... Сейчас мой моск практически не соображает, будем бороться :о) Завтра еще погоняю, потестирую и возьмусь наконец за формы. Самый большой геморрой...
Битва с меню продолжается, но чтобы вы меня не теряли, выкладываю то, что получается:) Осталось победить самоотрисовывающиеся пункты меню, суметь вычленить иконки в пунктах - и меню будет побеждено:) Сейчас я изучаю логи, занимаюсь реверсингом недокументированных сообщений... Жуткий геморрой, доложу я вам. Но я должен его победить) Смотрим скрины. контекстное меню в броузере: системные меню: контекстное меню проводника:
Когда доделаю естественно выложу более адекватные скрины:) Есть мысль добавить к меню еще и эффект прозрачности, но это позже:)
Немного поколдовав, я добился более или менее приемлемой отрисовки. Компонент достаточно противный и своевольный, так что в следующих релизах нужно будет еще отрихтовать его, но пока хватит и этого. Очередная порция скриншотов:
З.Ы. Теперь я возьмусь за меню, а позже за окна. Ну и внутренние компоненты Qip конечно же. Скорей всего я опять исчезну :о)
Пришлось изрядно попотеть, чтобы прикрутить CoolSB к моему проекту, но с радостью заявляю - теперь скроллбары точно не проблема :о) Библиотека действительно потрясающая. Теперь работа должна пойти гораздо быстрее. Сегодня я даже сумел заскинить listview :o) (ну не совсем так, как хотел, но зато скроллбары поменялись). Ура, ура, ура. Сегодня у меня праздник:) Смотрим скриншоты (сравнивать уж не буду, лениво:))
З.Ы. Потихоньку, потихоньку, но приближаюсь к первому релизу. Это не может не радовать:о)
Опять эти скроллбары мне всю душу вытрясли... На этот раз с листбоксом... В общем-то, листбокс теперь скинится, но с перебоями. Хочу попробовать заюзать CoolSB, может и получится чего. Релиз видимо затянется еще на некоторое время, потому что делать "почти работающий" плагин ну ох как неохота...
К сожалению, ListView победить пока не удалось и я переключился на другие задачи. За время отсутствия здесь я отработал схему скиннинга контролов в делфи, не имеющих хендла. Так что теперь и эта задача, до этого казавшаяся мне сложноватой решена. Так же сегодня добил ComboBox. Получилось не совсем так, как хотел, всю картинку портит подчиненный edit-контрол, но я думаю, пользователи не расстроятся из за этого. Тем более, потом, в последующих релизах я обещаю все добить и сделать конфетку :о) Очередная порция скриншотов: до: после:
Работа потихоньку близится к первому релизу. Мне осталось сделать ListBox, меню и (о ужас...) окно. Затем несколько внутренних компонентов, используемых в Qip - и выпущу первый релиз:о)
Мда. Казалось, что битва с мемо будет самой тяжелой... Оказалось, что ListView - не менее геморный компонент... Который день уже мои попытки приводят к глюкам, несколько раз со своими экспериментами вызвал синий экран:) Не теряйте из виду, работа продолжается, но столкнулся тут с кое-какими ограничениями, которые пока решить не могу. Буду копать дальше.
З.Ы. Кошмар, а что меня с формой будет ждать. Хочется не думать об этом... Мечтаю уже о первом релизе :о)
Итак, после недельной битвы, скроллбары повержены :о) Ох и намучался же я... Но зато получилось красиво и в коде и в интерфейсе:) (смотрел реализации кое каких движков, они до такой вещи не додумались:о)) Как всегда, скриншоты (хотя они не сильно изменились с прошлого раза):
до(before): после (after):
А еще (думаю, для затравочки) решил я показать вам как это выглядит в динамике. Заранее извиняюсь за тормоза в видео - комп у меня не мощный, я бы сказал даже очень не мощный, но зато хорошо тормоза проги вылавливать:) А так же прошу прощения за низкое качество видео - все мы экономим трафик, не правда ли?:) Вот. Смотрим.
З.Ы. Все таки радует меня гугль своими проектами. Ряд сервисов можно объединить в один аккаунт и управлять ими одним кликом:) Молодцы, ребята:)
For english and international users :o) I've just completed a work under scrollbars and really happy)) It was hard to do and it's working:) Sorry for bad video quality - it is made because of traffic economy:o) And don't be scared of app-freezing in the video - my computer is pretty old (Wanna renew it all the time, but to many work and no free time:o))
В общем, скроллбары отрисовать получилось, но пока не избавился от отрисовки старых... Осталось перебороть этот неприятный момент - и можно браться за остальное. before:
В ходе битвы с мемо обнаружил таки способ рисования текста прозрачно, но с эдитами почему то работает только в одном случае - если он в нормальном разрешенном состоянии и с границами (borders). C мемо работает во всех вариантах. В общем, как всегда, мистика:) Мемо почти добил, осталось решить проблему отрисовки скроллбаров (ScrollBars - полоса прокрутки). Смотрим скриншоты, восхищаемся:) Было (before): Стало (after):
Ну, теперь и WinAPI'шный эдит добит. Пока не добился чего хотел - область ввода текста по идее должна быть прозрачной, но пока добиться этого не удалось. Оставлю это на следующий релиз, когда займусь оптимизацией всего этого добра. Пока хватит того, что сделал, ибо если я буду столько времени убивать на каждый элемент, то релиз будет в следующем году... Ну да ладно, не будем о грустном. Теперь все будет выглядеть так: Теперь у меня на примете Memo и ComboBox. Ох чуется мне, что этот геморрой еще только начало...
Это были тяжелые 3 дня... Поле ввода aka Edit никак не поддавалось скиннигу. Сказать, что логика отрисовки удивительная - это ничего не сказать... Пока удалось переделать эдит в делфи (см. скриншоты). Завтра начну изучать логи сообщений в винапишных... Не теряйте из виду, процесс идет. Итак, должно все выглядеть так: было (before): стало (after):
Итак, двое суток у меня ушло на переделку тулбара. Сейчас уже ночь, голова соображает туго, завтра еще протестирую, но! Тулбар готов! Есть подозрения, что будет неадекватное поведение при вертикальном расположении и еще парочке моментов, но думаю, завтра я это все предусмотрю)) Ура, товарищи! Смотрим скриншоты, восхищаемся:)
Вчера отрихтовал header, но способа определить, отсортирован столбец или нет я так и не нашел. Вероятно, прийдется применять хакерские методы:) (как будто сейчас не хакерские:)) Сегодня как то быстро и без особых проблем заскинил TrackBar (см. скрины). Самое смешное - это то, что труднее всего было отрисовать метки самому:) Завтра думаю взяться за тулбар. Это будет последний "легкий" контрол... Дальше прийдется очень сильно попотеть и провести парочку бессонных ночей в изучении логов сообщений...
В общем, пришло вчера в голову. Будет диалог выбора скина. Думаю, было бы здорово, если в нем будет дополнительная кнопка, по нажатию на которую появится дополнительный диалог с выбором скина с сайта - будут скачиваться превьюшки скинов с сайта, пользователь смотрит, что-то ему понравилось - он жмет "скачать и установить" - скин качается с сайта и устанавливается. Как вы думаете, нужно это делать или нет? (естественно, само это все скачиваться не будет, только по запросу пользователя). Голосуйте здесь и/или на главной странице блога (пока не будет сделано/принято решение не делать:))
В комментах не материмся, не флудим:) Все кратко, по делу и максимально культурно:) нас могут читать дети:)
Ряд последних комментариев показал, что среди анонимных пользователей культурных весьма мало, я закрыл возможность комментировать анонимам. Хотите прокомментировать - регистрируйтесь.