Страница 1 из 2

Кнопка на TOOLBAR

Добавлено: 07 Декабрь 2020, 15:31
Игорь Столяров
Привет всем !

C11. Есть AppFrame, на нём TOOLBAR, на нём кнопки. Обычная история.
Непредсказуемо, эпизодически при открытии окна пропадает какая-нибудь кнопка.
Всегда одна. Наводишь курсор мышки на то место где она была - кнопка появляется.
От иконки на кнопке не зависит, от места кнопки на TOOLBAR - не зависит.
От компьютера и Windows не зависит. Что это ? :(

P/S: Не пил.

Кнопка на TOOLBAR

Добавлено: 07 Декабрь 2020, 15:49
gopstop2007
вы хотя бы свойства кнопки бросили, замечал такое только с иконкими, пропадала иконка сам текст оставался

Кнопка на TOOLBAR

Добавлено: 07 Декабрь 2020, 17:00
Игорь Столяров
Да нет там ничего военного ... в том-то и проблема. :)

Код: Выделить всё

                       TOOLBAR,AT(0,0,,19),USE(?ToolB)
                         BUTTON,AT(2,1,23,17),USE(?B1),ICON('Plat.ico')
                         BUTTON,AT(26,1,23,17),USE(?B2),ICON('card1.ico')
                         BUTTON,AT(50,1,23,17),USE(?B3),ICON('money.ico')
                         ...

Кнопка на TOOLBAR

Добавлено: 07 Декабрь 2020, 17:10
finsoftrz
Anyscreen? Хотя нет, там сразу все пропадают. :-)

Я такое в среде С6 периодически вижу на вин7. Не на тулбаре, а просто в окнах в дизайнере.

Кнопка на TOOLBAR

Добавлено: 07 Декабрь 2020, 18:50
Игорь Столяров
finsoftrz писал(а): 07 Декабрь 2020, 17:10 Anyscreen? Хотя нет, там сразу все пропадают.
Нет-c, глюкс-с был до AnyScreen'а, да и в FRAME я сей чудный шаблон не активирую.
Может, что с опцией "Enable Window Frame Dragging" или манифестом ... :(

Кнопка на TOOLBAR

Добавлено: 07 Декабрь 2020, 22:49
kreator
Может prop:Buffer задействовать? Хотя я проблем не замечал.

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 12:55
Yufil
Мож, положить просто картинку (иконку) на тулбар, а на неё прозрачную кнопку ...

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 14:18
Игорь Столяров
Yufil писал(а): 08 Декабрь 2020, 12:55 Мож, положить просто картинку (иконку) на тулбар, а на неё прозрачную кнопку ...
Что-то я очкую так кардинально всё менять в жизни ... :(
finsoftrz писал(а): 07 Декабрь 2020, 17:10 Я такое в среде С6 периодически вижу на вин7.
Среда C6 ведь написана на Clarion ? Потому и проявляются в ней те же клюки RTL, что и в приложениях ... :(

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 14:33
Yufil
Игорь Столяров писал(а): 08 Декабрь 2020, 14:18
Yufil писал(а): 08 Декабрь 2020, 12:55 Мож, положить просто картинку (иконку) на тулбар, а на неё прозрачную кнопку ...
Что-то я очкую так кардинально всё менять в жизни ... :(

Ну дык, попробовать-то можно, вдруг взлетит...
Правда, как это со стилем срастётся?
finsoftrz писал(а): 07 Декабрь 2020, 17:10 Я такое в среде С6 периодически вижу на вин7.
Среда C6 ведь написана на Clarion ? Потому и проявляются в ней те же клюки RTL, что и в приложениях ... :(
Это вряд ли, Cw6 был 16-битным, но генерил 32-битный код.

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 14:41
kreator
Интересно - почему я не наблюдаю? От количества кнопок зависит? Какая по счёту пропадает? Всегда одна и та же?

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 15:26
finsoftrz
Игорь Столяров писал(а): 08 Декабрь 2020, 14:18
finsoftrz писал(а): 07 Декабрь 2020, 17:10 Я такое в среде С6 периодически вижу на вин7.
Среда C6 ведь написана на Clarion ? Потому и проявляются в ней те же клюки RTL, что и в приложениях ... :(
Насколько я знаю, среда С6 написана на modula 2.
Но это не факт, что проблема именно среды. В собранных приложениях, если переключать alt+tab, не всегда полностью обновляется содержимое окон. Еще раз переключишься туда-сюда, все нормально. И это не только проблема в кларионовских приложениях. Наверно, что-то связано с видеокартой. Это я только на одном компьютере наблюдаю, такая терпимая мелочь, не очень снижающая качество жизни.

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 15:45
Yufil
kreator писал(а): 08 Декабрь 2020, 14:41 Интересно - почему я не наблюдаю? От количества кнопок зависит? Какая по счёту пропадает? Всегда одна и та же?
Суслика видишь? А он есть...

1. Иконки бывают разномастные ( 16x16, 32x32, 48x48 и т д ), кто знает-какой размер кажется наиболее подходящим? Несколько раз было - в дизайнере иконки одного размера, а в боевом режиме - разные ( одна иконка содержит 16x16, другая 32x32 ). Или даже вообще не показывается...

2. Ещё бы выровнял размеры кнопок, по вертикали кратно 4, а по горизонтали кратно 2. Тогда кнопки не наползут, и дизайнер по сетке может аккуратно выровнять, когда-то мануаль переводил...

3. Ещё когда-то очень давно было ( можно даже поискать на форуме ). Отображаю, например, иконку 'my.ico', потом вызываю функцию ( окно ) из другой DLL, к которой тоже прилинкован my.ico. После возврата из DLL исходной иконки на окне уже нету.

Чего только не бывает на свете :D

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 17:42
Игорь Столяров
Yufil писал(а): 08 Декабрь 2020, 15:45 После возврата из DLL исходной иконки на окне уже нету
Уточню (напомню) вопрос: исчезает не иконка, а полностью кнопка ...
Наводишь на это место курсор - кнопка появляется с иконкой, функционал нормальный.
Yufil писал(а): 08 Декабрь 2020, 15:45 Ещё бы выровнял размеры кнопок, по вертикали кратно 4, а по горизонтали кратно 2. Тогда кнопки не наползут
Спасибо, я вот тоже склоняюсь к этой мысли. Её и попробуем-с ... О результате доложу. :)

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 20:11
Игорь Столяров
У меня возникла идея, что предложение Юрия имеет под собой основу ... если предположить,
что RTL при прорисовке кнопки пытается масштабировать её размеры и что-то здесь может
пойти не так. Пиксели-то они целочисленные - это, кстати, есть в AnyFont, если копнуть исходники.

Поэтому разумно установить размер кнопок, с целочисленным соотношением сторон, по отношению к размеру пикселя.
Т.е. размер кнопки должен быть W=24, H=18, т.к. 24 * 0.75 = 18. Вот этим путём мы и пойдём дальше ... :)
kreator писал(а): 08 Декабрь 2020, 14:41 Интересно - почему я не наблюдаю?
Скажите пожалуйста, а какой у Вас размер кнопок на TOOLBAR, а также шрифт и его размер ?

Кнопка на TOOLBAR

Добавлено: 08 Декабрь 2020, 21:01
finsoftrz
Практически уверен, что причина не в этом. Проверите, расскажите про результат.