Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

StringGrid->Column

323
27 августа 2002 года
Sergun
228 / / 20.09.2000
Как сделать чтобы при изменении размера окна/колонок остальные уменьшались/увеличивались... т.е. чтобы не возникало горизонтального скролла?
250
27 августа 2002 года
Joker
1.4K / / 20.02.2000
Цитата:

On 2002-08-27 1250, Sergun wrote
Как сделать чтобы при изменении размера окна/колонок остальные уменьшались/увеличивались... т.е. чтобы не возникало горизонтального скролла?


Если я не ошибаюсь(т.е как я помню), такой опции нет, просто убери опции ScrolingBar в опциях, И сам следи за размерами, окна и твоих полей.. , другово способа вроде нет..

// http//www.sp1r1tual.com

323
27 августа 2002 года
Sergun
228 / / 20.09.2000
В том то и дело, что нужно следить за событиями OnCloumnResize и OnResize, но если в событии OnCloumnResize написать изменить размеры других колонок, то оно вызывается опять и все зацикливается... как быть?
Аноним
Цитата:

On 2002-08-27 1312, Joker wrote
[quote]
On 2002-08-27 1250, Sergun wrote
Как сделать чтобы при изменении размера окна/колонок остальные уменьшались/увеличивались... т.е. чтобы не возникало горизонтального скролла?


Если я не ошибаюсь(т.е как я помню), такой опции нет, просто убери опции ScrolingBar в опциях, И сам следи за размерами, окна и твоих полей.. , другово способа вроде нет..

// http//www.sp1r1tual.com
[/quote]

323
27 августа 2002 года
Sergun
228 / / 20.09.2000
Цитата:

On 2002-08-27 1430, Anonymous wrote
[quote]
On 2002-08-27 1312, Joker wrote
[quote]
On 2002-08-27 1250, Sergun wrote
Как сделать чтобы при изменении размера окна/колонок остальные уменьшались/увеличивались... т.е. чтобы не возникало горизонтального скролла?


Если я не ошибаюсь(т.е как я помню), такой опции нет, просто убери опции ScrolingBar в опциях, И сам следи за размерами, окна и твоих полей.. , другово способа вроде нет..

// http//www.sp1r1tual.com
[/quote]
[/quote]
очень приятно

317
28 августа 2002 года
Relax
573 / / 20.09.2000
кстати, у СтрингГрида нету таких событий или я торможу?
323
28 августа 2002 года
Sergun
228 / / 20.09.2000
Цитата:

On 2002-08-28 0819, Relax wrote
кстати, у СтрингГрида нету таких событий или я торможу?



Да, действительно нету
Они есть у другого компонента TAdvStringGrid.
Ну что, можешь предложить мне решение проблемы?
Пасиба.

317
28 августа 2002 года
Relax
573 / / 20.09.2000
если юзать эти события, то по-моему главная задача - определить ширина какого столбца изменена первой, т.е. руками, а не вызовом функции и потом просто для других столбцов делать только их сдвиг и не бежать по остальным...
323
29 августа 2002 года
Sergun
228 / / 20.09.2000
В том то и дело что если писать в обработчике OnColSize (или как он там) чтобы изменить размеры др. столбцов, то в следствии такого изменения этот обработчик вызывается по циклу... понимаешь?
317
29 августа 2002 года
Relax
573 / / 20.09.2000
да это-то понятно... поэтому и предлагаю завести переменную, хранящую идентификатор первого измененного столбца или просто булевскую показывающую первый это вызов или рекурсивный. сдвинул границу, вызвался OnColSize - в нем инициализируешь переменную и бежишь по остальным столбцам, сдвигая их... когда ты будешь их сдвигать, то конечно будет тоже вызываться OnColSize, но вот здесь то и пригодится переменная - посмотрел - вызов рекурсивный, значит нужно изменить только ширину текущего столбца и не трогать остальных...
697
31 августа 2002 года
bjaka_max
22 / / 20.04.2000
Можно при запуске обработчика отключать событие, а потом включать обратно, примерно так...

void __fastcall TForm1::FormResize(TObject *Sender)
{
Form1->onResize=NULL;
//Обработчик
Form1->onResize=FormResize;
}
250
31 августа 2002 года
Joker
1.4K / / 20.02.2000
Цитата:

On 2002-08-31 0955, bjaka_max wrote
Можно при запуске обработчика отключать событие, а потом включать обратно, примерно так...

void __fastcall TForm1FormResize(TObject *Sender)
{
Form1->onResize=NULL;
//Обработчик
Form1->onResize=FormResize;
}


Еще путь, создать новый компонент, на основе AdvStringGrid (ну или как там), и добавить туда доступ к флажку, который будет показывать, кто сейчас ресайзит ты сам и пользователь, при закончивание выравнивания, опускаешь флажок...


// http//www.sp1r1tual.com

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог