Splitter ?!?

2 отговора 0 прегледа
#1

Splitter ?!?

Здравейте,

на един от компютрите, на които съм инсталирал програмата си (delphi 7), се появи един много дразнещ и досаден проблем. Почти всички splitter-и вместо да изглеждат както си трябва - ~1 мм широчина станаха няколко сантиметра широки. На формата не се вижда почти нищо друго освен splitter-a и естествено е абсолютно невъзможно да се работи с програмата. Системата е windows xp sp 2 (както и на всички останали инсталации). Версиите на comctr32.dll са едни и същи навсякъде. Пробвах да сложа/махна xpmanifest но нямаше ефект. Някой сблъсквал ли се е с подобна дивотия някога?

Time is like a drug, too much of it kills you
Отговор
в отговор на killall #2

А този компютър с какво е по-различен?

А този компютър с какво е по-различен?
Разделителната способност на монитора?
Понякога, когато изравняването на контролите е двусмислено, се получава подобен ефект.
Ако случеят е такъв, решението е, като рънтайм, при създаване (и/или при промяна на размера) на контейнера да указваш адекватни позиции на контролите.
Примерно, ако имаш няколко панела с готно изравняване, сплитер и контрола с клиенстко изравняване, да зададеш Top на горните панели съгласно твоите предпочитания (всеки по-долен да бъде Top=Top(по-горния)+Height(по-горния)+1, примерно)
Да зададеш Топ и Height на сплитера и проблемът се решава.

Отговор
в отговор на NikB #3

Re: А този компютър с какво е по-различен?

С нищо не е по-различен от останалите на пръв поглед. Има инсталирани само MS Office, Skype и Firefox. Разделителната способност навсякъде е една и съща . Изравняването не е двусмислено, ефекта се наблюдава дори и при един панел с align=Top и един с align=Client със сплитер между тях. Задаване на top и height не помага за съжаление ...

Time is like a drug, too much of it kills you
Отговор