Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> буд-то бы живой тулбар :), или странное его поведение 
V
    Опции темы
artemiy
Дата 7.11.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 22.2.2007

Репутация: нет
Всего: нет



На форме есть TPageControl, на TabSheet которого расположены несколько тулбаров. У PageСontrol'a все Anchors выставлены в true. Так вот при ресайзе формы один из тулбаров постепенно "сползает" влево...

Почему и как с этим бороться?

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  example.zip 1,85 Kb
PM MAIL   Вверх
ivan219
  Дата 7.11.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Используй TabControl или на всех TabSheet ставь свои ToolBar
PM MAIL ICQ   Вверх
artemiy
Дата 7.11.2007, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 22.2.2007

Репутация: нет
Всего: нет



Ставить тулбар на каждую страницу пробовал - не помогло... А вот использовать TabControl не получится, нужен именно PageControl
PM MAIL   Вверх
ivan219
  Дата 8.11.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Цитата(artemiy @  7.11.2007,  17:46 Найти цитируемый пост)
Ставить тулбар на каждую страницу пробовал - не помогло...

Интересно это почему smile покрайней мере с этой проблемой будет поконченно!!!
PM MAIL ICQ   Вверх
Alix
Дата 8.11.2007, 15:11 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 7
Всего: 23



С этой проблемой не покончить даже если кинуть coolbar на форму, а не на pagecontrol. Меня заинтересовало то, что при удаленном XPMan все работает корректно и стал искать код, где используется GetComCtlVersion в ComCtrls. В итоге ошибка была найдена тут:
Код
function TCoolBar.GetCaptionSize(Band: TCoolBand): Integer;
...
      { The grip size in IE4 is 3 pixels narrower than IE3 }
      if GetComCtlVersion < ComCtlVersionIE4 then
        Inc(Result, GripSizeIE3)
      else
        Inc(Result, GripSizeIE4);

Исправить можно введя свою константу GripSizeIE5 (или 6?) со значением 6 (найдено экспериментальным путем, т.к. при GripSizeIE3 бары разьезжались, а при ***IE4 - сближались) и добавив еще одно условие.
Можешь кинуть в папку с программой пропатченый ComCtrls.pas и будет тебе счастье. 

PS: Я использовал D7.


--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
ivan219
  Дата 8.11.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Хмм может тогда поробовать про абгрейдить Delphi smile 
PM MAIL ICQ   Вверх
artemiy
Дата 8.11.2007, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 22.2.2007

Репутация: нет
Всего: нет



Спасибо, Alix!

Но видимо я где то туплю :( Я добавил 
Код

const GripSizeIE6: Integer = 6;

в ComCtrls.pas (так же пробовал const GripSizeIE5: Integer = 6;) и скинул этот файл в папку с проектом... Но ничего не происходит - тулбары как "ездили", так и "ездят"  smile  
Ты так же писал:
Цитата(Alix @  8.11.2007,  15:11 Найти цитируемый пост)
и добавив еще одно условие.

что за условие? может быть я как раз здесь туплю? smile

PM MAIL   Вверх
Alix
Дата 8.11.2007, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 7
Всего: 23



Цитата(artemiy @  8.11.2007,  17:34 Найти цитируемый пост)
что за условие? может быть я как раз здесь туплю? smile

наверное как-то так:
Код
      if GetComCtlVersion < ComCtlVersionIE4 then
        Inc(Result, GripSizeIE3)
      else if GetComCtlVersion = ComCtlVersionIE4 then
        Inc(Result, GripSizeIE4)
      else
        Inc(Result, GripSizeIE6);



--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
artemiy
Дата 8.11.2007, 18:10 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 22.2.2007

Репутация: нет
Всего: нет



Alix,  smile 

Как говорится "Сэнкью вэри мач" smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.