![]() |
|
|
![]()
|
|
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Я делаю создаю одно дерево на диалоге в ресурсах, а второе вот так:
После чего у окна дерева совсем нет рамке, что не очень красиво. Спай++ проверил - у окон одинаковые свойства. -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Попробуй добавь стиль WS_BORDER во второй параметр
-------------------- ... |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Поробывал, рисуется какаято чёрная рамка, а хочется (в ХР) чтоб ьылна красивая синенькая, короче от теммы зависила, если создавать ресурсами то всё ОК, почему?
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
||||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Damarus, нет она сам рисуется, когда в ХР работаеш, и у эдитов и у списков почти у всего.
А руками я её рисовать не буду, я же цвета с учетом теммы и стиля не знаю!!! -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
Rapalex, я почему так сказал. Я сейчас создал проект - диалог, на нём Tree Control связанный с m_TreeCtrlDlg, и m_TreeCtrlWnd, который создаётся через CreateEx. В CreateEx все стили такие же, как и у m_TreeCtrlDlg (стили m_TreeCtrlDlg проверил с помощью InqSoft Window Scanner), но m_TreeCtrlWnd рисуется без рамки вообще.
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Rapalex,
а у тебя в проекте есть сразу оба контрола, и из ресурсов, и динамический? Если нет, то, возможно во втором случае отсутствует ресурс-манифест? Дело в том, что в XP-шных стилях рамка (голубенькая) рисуется спец. функцией из спец. библиотеки, которая загружается с помощью манифеста... Как загрузить и нарисовать руками, знаю... а вот с чем может быть связано отсутствие рамки если манифест таки есть - не представляю... -------------------- ... |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Да в нужном пректе не получилось, я создал тестовый и на одном диалоге создал один контрол ресурсами, а второй ручками и они по разному смотрятся.
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| The Thing |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 286 Регистрация: 6.9.2004 Репутация: 1 Всего: 3 |
Ищи по форуму.. Объекты стиль аля XP
Дело в том, что когда ты создаешь обычным образом через креата.. создается старая версия объекта. посмотри может здесь чего найдешь... http://forum.sources.ru/index.php?showtopi...mp;view=showall Вот... помоему оно!http://forum.sources.ru/index.php?act=ST&f=4&t=26738 Это сообщение отредактировал(а) The Thing - 2.9.2006, 11:13 -------------------- Правильность работы программы зависит от двух велечин. В нужном месте должны стоять нолик и еденичка. |
|||
|
||||
| Dart |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 26.6.2006 Где: Саратов, РФ Репутация: 2 Всего: 2 |
Вообще-то при создании контрола из ресурсов он создается с помощью Create, а только потом на него разные WS_EX навешиваются.
Посмотри в ресурсах, что конкретно определено в стилях, ну и попробуй повторить. А манифест здесь ни при чем. Если он есть, то есть для всех окон. --------------------
ЦитатаЛюблю смотреть, как другие работают Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
The Thing, спасибо, но это я знал и ето устарело, и манифест у меня есть.
Поспробывл создать CEdit:
И создался он с нормальной синей рамочкой. -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Dart, в ресурсах стоят только WS_BORDER | WS_TABSTOP а когда я смотрю в редакторе ресурсов там и скрол свойство стоит. Еороче это не поможет.
Да что такое я коро сума сойду. Чтото сложно контролы в ХР динамически создавать. -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| Rapalex |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Dart, ты малость не то сказал:
При создании контролов динамиески функцией CreateEx вначяле вызывается функция Ceate етого же класса, а после делается ModifyStyleEx(0, WS_EX_*). Прошло какоето времмя и вспомнил как я создавал извращённый тултип, и сделал тоже с деревом:
И таким образом создавая создаётся нормальное дерево. Прошу заметит, та красивая синяя рамка в ХР это стиь WS_EX_CLIENTEDGE у окна, и никукого WS_BORDER. Вот в этом то и есть проблемма. Когда я создаю это же окно также как это делает кат=ркас MFC:
Эта запись идентична моим предидущим попыткам. Вот в таком случае получается что у моего окна вообще нет рамки. Тогда в последней строкеделаю так:
И у меня получается обычная "вмятая" в окно поверхность как будто это при класическом виде!!! И из этой ситуации 2 выхода: 1 - "преобразровать" CWnd к CTreeCtrl (чтоб не парится с сообщениями) 2 - Либо найти способ "правильного" (подходящего) применения стиля WS_EX_CLIENTEDGE. Во втором случае я подумываю о SetWindowLong или о других функциях (я понятия не имею что эта функция делает, если можно подскажите). ЛЮДИ, ПОДСКАЖИТЕ, всё что можно и по первому способу и по второму, вы же видите, эта проблемма рано и поздно и до вас доберётся!!! -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
||||||||
|
|||||||||
| Earnest |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Переопредели PreCreateWindow и поставь там все нужные стили...
Попробуй флаг SWP_FRAMECHANGED вместо SWP_DRAWFRAME -------------------- ... |
||||
|
|||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Так момогает, но ради одной строчки както не хочется целый класс создавать. Пробывал не помогает. Может какойто другой функцией стили менять? -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |