C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
не перерисовывается иногда StatusBar c XP-темой
Tertium
Отправлено: 01.06.2005, 15:34


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Народ, никто не заметил, что когда у тебя контролы все XP-шные, статус бар при горизонтальном изменении размера окна не перерисовывается, что ни делай? Я пробовал на onResize формы вызывать StatusBar1->Repaint(); и StatusBar1->Update(); — хрен там, не помогает. Ктонть сталкивался?
** avtoritet
Отправлено: 01.06.2005, 16:12


Не зарегистрирован







Бывало такое! Но ведь ты задаешь статистическую величину ширине панелям в СтатусБаре.
Я делаю так:

void TMain::StatusPanelsWidth(){
SB->Panels->Items[0] = SB->Width / 3;//
SB->Panels->Items[1] = SB->Width / 6;
}
void __fastcall TMain::FormCanResize(TObject *Sender, int &NewWidth,
int &NewHeight, bool &Resize)
{
StatusPanelsWidth();
}

Думаю достаточно, чтобы мыслю уловить!?
Успехов!
** avtoritet
Отправлено: 01.06.2005, 16:20


Не зарегистрирован







Ой, вопрос помоему не правильно понял!
** avtoritet
Отправлено: 01.06.2005, 16:40


Не зарегистрирован







Попрбовал. Не глючит.
На 2-ух машинах с ХР: одна только сегодня установлена — все работает.
Tertium
Отправлено: 01.06.2005, 21:26


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Да вот у меня только почему-то не работает. Мож тема такая? Короче вот что всё фиксит — даблбуфферинг! smile.gif

CODE

StatusBar1->ControlStyle<<csOpaque;
StatusBar1->DoubleBuffered=true;


Отредактировано Tertium — 01/06/2005, 21:26

Вернуться в Вопросы программирования в C++Builder