|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Нет свойства Font конкретно у этого объекта Toolbar. И вообще, как правильно находить и решать подобные проблемы прямо из кода универсально? Может быть, и у вкладки не будет видно русских символов, а будет что-то подобное... и у прочих Label-контролах. С приходом Windows10 подобные проблемы стали очень часто вылезать. Нет ли у кого универсального решения? Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 17:06 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Игорь1973, Что за тулбар? Этих тулбаров как собак нерезанных. Если что то самописное, то сразу в топку. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 20:12 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Microsoft - овский стандартный. Microsoft Windows Common Controls-2 6.0 (SP6) mscomct2.ocx ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 22:29 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Наверное юникод в него пишешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2020, 00:09 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Попробуйте что-то отсюда: Как исправить отображение кириллицы или кракозябры в Windows 10 вдруг поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2020, 08:26 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
The_Prist Попробуйте что-то отсюда: Как исправить отображение кириллицы или кракозябры в Windows 10 вдруг поможет Не поможет. Не надо фигню советовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2020, 10:19 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Игорь1973 Microsoft - овский стандартный. Microsoft Windows Common Controls-2 6.0 (SP6) mscomct2.ocx Microsoft - овский стандартный - это Microsoft Windows Common Controls 5.0 (SP2) COMCTL32.OCX Пора бы уж это давно знать, раз на VB6 еще пишите. А то что вы используете - это чисто VB поделка, оставшаяся в классическом интерфейсе Win98. Стили через манифесты даже не примените. Eolt The_Prist Попробуйте что-то отсюда: Как исправить отображение кириллицы или кракозябры в Windows 10 вдруг поможет Не поможет. Не надо фигню советовать. Не фигня. И возможно поможет. Но поставить русский для НЕ-Юникод в настройках OS по-любому надо, если уж VB6, да и вообще. Без этого много где крякозябры будут. Опыт(C). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 03:08 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Дмитрий77, Какие нафиг настройки системы? У человека проблема в том, что он пишет Unicode текст в контрол, который юникод не поддерживает. Вот и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 10:16 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Eolt он пишет Unicode текст в контрол, который юникод не поддерживает. А где у ТС написано что он туда Юникод пишет? Это Вы так за него решили. Он сидит себе в конструкторе VB и пишет русский текст из кода не задумываясь, у него на машине все работает. А в настройках target machine стоит вдруг английский для НЕ-юникод, вот и крякозябры. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2020, 15:24 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Битва экстрасенсов :D ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 12:27 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Стандартный тулбар VB6. Кнопка "ДОБАВИТЬ" Свойств для изменения шрифта нет. Наверное, можно вызовом API-функции какой-нибудь изменить. Кракозябры в под Windows2003Server А вообще - как определять, что у пользователя кракозябры появились? If btnAppend.Caption = "ÄÎÁÀÂÈÒÜ" Then End If или If Left(btnAppend.Caption, 1) LIKE "[А-я]*" Then 'нет кракозябр Else 'есть кракозябры End If Заранее спасибо за любую помощь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2020, 12:18 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Игорь1973 Стандартный тулбар VB6. Кнопка "ДОБАВИТЬ" Свойств для изменения шрифта нет. Ясно, значит я перепутал тулбары. авторНаверное, можно вызовом API-функции какой-нибудь изменить. Изменение шрифта контрола можно выполнить посылкой сообщения WM_SETFONT авторКракозябры в под Windows2003Server Значит видимо в этой Windows2003Server нет шрифта который используется по-дефолту в VB6. По-моему это Tahoma или MS Sans Serif. Можно включить его в инсталлятор и ставить в Win2003. Еще вариант, программно определять версию ОС и при запуске в Win2003 и вместо текста выводить битмапки на которых написан текст. Костыль конечно, но работать будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2020, 18:28 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
А как правильно использовать эту функцию WM_SETFONT учитывая, что тулбар содержится в UserControl (нет события Form_Load) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 18:12 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
[quot Дмитрий77#22216436] Игорь1973 Microsoft - овский стандартный. Microsoft Windows Common Controls-2 6.0 (SP6) mscomct2.ocx - фигня, поделка Microsoft Windows Common Controls 5.0 (SP2) - Microsoft - овский стандартный А нельзя ли получить дополнительную инфу по этому поводу? Вроде бы, если верить цифрам, то 6 больше чем 5. И SP6 больше чем SP2 Не проясните ли этот момент? Заранее благодарю) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 18:19 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Integrator2 А как правильно использовать эту функцию WM_SETFONT Через SendMessage. Что то типа: Call SendMessage(hwnd, WM_SETFONT, hFont, 0) hwnd - хендл окна в котором устанавливаем шрифт hFont - хендл шрифта ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 18:44 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
[quot Integrator2#22223117] Дмитрий77 пропущено... А нельзя ли получить дополнительную инфу по этому поводу? Вроде бы, если верить цифрам, то 6 больше чем 5. И SP6 больше чем SP2 Не проясните ли этот момент? Заранее благодарю) Использовать надо Microsoft Common Controls 6.0 (SP6). Это последняя версия из SP6 в которой пофиксены некоторые баги предыдущий версий. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 18:48 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Eolt Integrator2А нельзя ли получить дополнительную инфу по этому поводу? Вроде бы, если верить цифрам, то 6 больше чем 5. И SP6 больше чем SP2 Не проясните ли этот момент? Заранее благодарю) Использовать надо Microsoft Common Controls 6.0 (SP6). Это последняя версия из SP6 в которой пофиксены некоторые баги предыдущий версий. Вот честно пытался искать место на этом форуме (к сожалению не нашел), где мне это один раз 10 лет назад объяснили почему надо использовать Common Controls 5.0 а не 6.0, чего я усвоил один раз. Суть такова. Common Controls 5.0 - это надстройка над системными API. При применении манифеста ваши контролы будут использовать стиль OS на которой запущена прога, т.е. ваша прога на Win10 (а также на будущих Win11 и Win12) будет выглядеть современно в соответствии со стилем OS на которой запущена . Common Controls 6.0 - это тупиковая вещь в себе, написанная в 98г. для VB6 или в духе того, и независимо от наличия манифеста все кнопки будут выглядеть в классическом стиле как на Win98. Они даже для XP не годятся в этом смысле. И не удивлюсь что баги со шрифтами растут из этих же Common Controls 6.0. Я бы однозначно посоветовал начать с замены Common Controls 6.0 -> Common Controls 5.0 И совет с "настройками OS для НЕ-ЮНИКОД" отнюдь не тупой. А любые "баги" в Common Controls 5.0 можно легко подправить через API. API вроде как и к Common Controls 6.0 применяются, но манифесты стилей вы к ним не примените никогда. Eolt, судя по вашим постам вы вроде умный человек, и странно что вы этой фишки не знаете. EoltЗначит видимо в этой Windows2003Server нет шрифта который используется по-дефолту в VB6. По-моему это Tahoma или MS Sans Serif. Можно включить его в инсталлятор и ставить в Win2003. Еще вариант, программно определять версию ОС и при запуске в Win2003 и вместо текста выводить битмапки на которых написан текст. Костыль конечно, но работать будет Не обижайтесь, но чушь. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 01:48 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Дмитрий77, Не согласен с вами. Windows Common Controls 5.0 разрабатывался еще для VB5. Для совсем старой версии comdlg32.dll В 5.0 нет следующий контролов которые есть в 6.0:
И самое важное, Windows Common Controls 5.0 больше не поддерживается Microsoft и с любым обновлением эти контролы могут перестать работать, как описано здесь У версии 6.0 наоборот, есть официальная поддержка Microsoft. Пока MS будет поддерживать рантайм VB6 в новых версиях Windows, будет поддерживаться и Windows Common Controls 6.0. А значит есть гарантия, что приложение не умрет с очередным обновлением винды. Про стили я конечно знаю, но считаю это совсем незначительным моментом. авторНе обижайтесь, но чушь. На техническом форуме недостаточно сказать, что кто-то пишет чушь. Приведите свои аргументы. Если они конечно есть :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 14:07 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
авторCommon Controls 6.0 - это тупиковая вещь в себе, написанная в 98г. Диалог About говорит совсем о другом. Версия 5.0 была написана еще до выхода Windows 98 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 14:19 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Eolt автор Диалог About говорит... Диалог About говорит о том, что все эти контролы были написаны 20+ лет назад. И ни тот ни другой (ActiveX контролы) уже очень давно официально не поддерживаются. Microsoft Windows Common Controls 5.0 (SP2) == comctl32.ocx+comct232.ocx Microsoft Windows Common Controls-2 6.0 (SP6) ==mscomctl.ocx+mscomct2.ocx+comct332.ocx Все это ссылается (и 5.0 и 6.0) на comctl32.dll Только так уж получилось, что сделанное в 5.0 поддерживает стили через манифесты, а в 6.0 - не поддерживает. И хотя бы поэтому 5.0 - хорошо, а 6.0 - плохо. А UpDown и через API можно нарисовать. EoltПро стили я конечно знаю, но считаю это совсем незначительным моментом. Ну как сказать, смотря какие цели. От того как выглядит кнопка на то что она делает конечно не влияет. Но мне бы было стыдно в 20-м году толкать свой продукт с тулбарами и кнопками в классическом стиле Win95/98. А вот на чем он написан на VB6, C/C++ или .NET пользователю в принципе неважно. EoltНа техническом форуме недостаточно сказать, что кто-то пишет чушь. Приведите свои аргументы. Если они конечно есть :) Про вставить картинку вместо текста я лучше промолчу. Про отсутствие каких-то шрифтов в вот именно Win2003 - это вряд ли. У меня все VB6 проги написаны так, что они всегда работают от XP до Win10. И единственное решение (если вдруг крякозябры на русском тексте в VB6) - это да пойти в настройки OS и проверить что стоит русский для НЕ-Юникод - и это всегда работает. Вообще я на VB6 с 14-го года ничего не пишу, в VB.Net как бы таки удобней, все API применяются точно также. Есть ньюансы, пришлось привыкать. Но опыт с VB6 как бы очень большой, чтобы дать разумный совет не использовать те ActiveX которые в VB обозваны как "Microsoft Windows Common Controls 6.0". ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 17:01 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Дмитрий77 Диалог About говорит о том, что все эти контролы были написаны 20+ лет назад. И ни тот ни другой (ActiveX контролы) уже очень давно официально не поддерживаются.. Неправду пишите. SP 6 поддерживается, смотрите ссылку в предыдущем посте. Более того есть заявление Microsoft о политике в отношении VB6. Там черным по-белому задекларирована поддержка run-time библиотеки и визуальных компонентов (Common Controls из ссылки выше) до 2027 года. Поддержка, если вы не знаете что это, означает обязательное тестирование всех обновлений ОС с данным компонентом. А в случае если все таки обновление сломает компонент, Майкрософт его восстановит хотфиксом. Вы же советуете версию, которая уже много лет никем не поддерживается. Более того, содержит в себе критические баги Любое новое обновление системы может сломать не поддерживаемый компонент. И все ваши проекты разом перестанут работать. Если пользователей сотни и тысячи, это просто катастрофа для разработчика и потеря доверия пользователей. Придётся срочно все переписывать с новой версией Common Controls или использовать что-то другое. авторИ хотя бы поэтому 5.0 - хорошо, а 6.0 - плохо. Плохо рассуждать о предмете в котором не разбираешься. авторНу как сказать, смотря какие цели. От того как выглядит кнопка на то что она делает конечно не влияет. Но мне бы было стыдно в 20-м году толкать свой продукт с тулбарами и кнопками в классическом стиле Win95/98. Тулбар в SP6 он в стиле стандартном Win32. С плоскими кнопками выглядит совсем обычно. Если по-зарез нужны стили, можно попробовать опенсорсный CommonControls c vbforums.com Он хоть и глючный еще, но зато есть Unicode, DPI, стили, и много новых свойств. Для некоторых проектов вполне сойдет. авторПро вставить картинку вместо текста я лучше промолчу. Там явно у человека квалификация низкая. Раз он путается в таком простом вопросе. И программно инсталлировать нужный шрифт он не сможет. Картинка для него будет простым выходом. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 19:18 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Eolt, какой-то спор получается ни о чем, продолжать и тратить время не очень охота. Common Controls они как бы одни, и все описано в документации Microsoft. About Common Controls Control Library Все те "версии" о чем мы тут говорили (Microsoft Windows Common Controls 6.0 / 5.0), включая очевидно ваш OpenSource это версии прибамбасов-надстроек, которые используются чтоб "дурак нарисовал в конструкторе" и не создавал с нуля через API. И если че-то с контролом не так (поведение не соответствует, API как должно не применяются, стили не работают), то это баг прибамбаса. Изначально в VB6 я использовал прибамбас Microsoft Windows Common Controls 6.0 (типа самые новые). Но когда я стал задумываться о том как мое приложение смотрится и т.п., встал вопрос о "стилях" и "манифестах", то всплыл баг в прибамбасе Microsoft Windows Common Controls 6.0 (категорическая неподдержка стилей), и я навсегда отказался от этого прибамбаса в пользу Microsoft Windows Common Controls 5.0, где этот принципиальный баг отсутствует, а весь прочий функционал прекрасно допиливается через API ссылки на которые я дал в начале сообщения. Моя задача по внешнему виду контрола чтоб он выглядел "системно, стандартно и профессионально" на любой OS а не "курица лапой". Так вот "Microsoft Windows Common Controls 6.0" - это "курица лапой". А "Microsoft Windows Common Controls 5.0" напротив прекрасно допиливается до "системно, стандартно и профессионально", если уж продолжаете писать на древнем VB6. Если стили не нужны (итак сойдет), в API лезть неохота/неумею, а VB6 самый лучший навеки, то тогда да, поем оду самой свежей и прогрессивной версии прибамбаса 6.0 от 1995-2000 года выпуска с кучей новых функций и кучей "исправленных багов", которая еще оказывается официально поддерживается аж до 2027г. Для меня лично все это в далеком прошлом, т.к. пишу на .NET где свои прибамбасы-контролы со своими заморочками и глюками, хотя суть все те же 2 ссылки что я дал вначале и все допиливания делаются через те же классические API. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 23:24 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
Спасибо, дорогие)) Очень много нового узналось, и будет полезно всем. Но только вот - не получилось применить функцию WM_SETFONT Те примеры, которые находил в инете, не срабатывали. Шрифт не менялся у тулбара. Может ли кто-нибудь конкретный рабочий пример использования этой функции показать? Я пробовал это Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2020, 20:40 |
|
Как решить проблему с кракозябрами у кнопки Toolbar-а
|
|||
---|---|---|---|
#18+
с тулбаром будет трудно, там релизить нужно на контексте рисования, а этот тулбар постоянно рефрешит его. ps вот проект ocx-тулбара, там есть примеры рисования своим шрифтом ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2020, 11:26 |
|
|
start [/forum/topic.php?fid=60&msg=40009663&tid=2154741]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 157ms |
0 / 0 |