Здравствуйте, уважаемые коллеги.
Столкнулся тут с такой проблемой: свои программы я пишу на ноутбуке с установленными Delphi5+Win98SE. Недавно мне потребовалось запустить софтину, написанную на этом буке, на другом компе под ХР Home Edition. В качестве главного окна выступает форма размером 160х160, его свойство Position=poDesktopCenter. В Win98 в разрешении 800х600 все отображается нормально, а в ХР в этом же разрешении на этом окне почему-то появляются scrollbarы. Подскажите плз, почему так происходит, можно ли как это исправить, где копаться, или киньте ссылку, где про все это можно прочитать.
Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
23-10-2008 20:15 | Комментарий к предыдущим ответам
Всем откликнувшимся - огромное спасибо. Теперь буду знать, что при написании программ под ХР на всех маленьких окнах следует устанавливать AutoScroll в False.
Если изучить исходники, то станет понятно, что в DFM сохраняются или ClientWidth и ClientHeight или Width и Height. А управляют этим функции IsFormSizeStored и IsClientSizeStored из кода которых видно, что для сохранения размеров именно клиентской области нужно поставить AutoScroll в False и отключить прокрутку (не менять вручную HorzScrollBar и VertScrollBar). Шрифты тут не причём, просто, как тут уже сказали, в темах XP ширина рамки и заголовка отличается от 98-ых.
20-12-2005 10:12 | Комментарий к предыдущим ответам
либо привязываться не к размерам формы, а к клиентским размерам... тем более еще в Win98 можно было САМОСТОЯТЕЛЬНО задаватьвысоту заголовка у окна (в настройках монитора)...
20-12-2005 03:02
У XP, при включеных темах, высота заголовка формы немного больше чем у Win98. Соответственно ClientWidth становится немного меньше и контролы не влезают.
Выход - немного увеличить форму чтобы все влезло.
Не уверен, что помогу. Но нечто подобное было у меня, когда в 98 выставлено в свойствах экрана что то типа "крупный шрифт". После этого всегда программирую на 96 точек/дюйм.
Как писать "универсально" - не знаю :)
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.