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

Ваш аккаунт

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

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

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

Проблема с фокусами..

9.8K
14 февраля 2006 года
AlexSob
24 / / 14.02.2006
Появилась такая проблема:
Есть форма, на канве формы идет отрисовка.
Есть обработчик событий OnKeyPress(у формы)

Когда сбросил на формы ScrollBar, OnKeyPress формы
перестал работать, потому что фокус все время на ScrollBar.

Вопрос: как сделать так чтобы фокус был все время на форме.

Пробовал: Form->SetFocus(); - все равно фокус у скролла
пробовал
void __fastcall TForm::ScrollBarEnter(TObject *Sender)
{
Form->SetFocus();
}
и Tab Order тоже менял...
все равно фокус сразу при создании формы на ScrollBar и с него уходить не хочет..

Помогите плиз...
1
14 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by AlexSob
Появилась такая проблема:
Есть форма, на канве формы идет отрисовка.
Есть обработчик событий OnKeyPress(у формы)

Когда сбросил на формы ScrollBar, OnKeyPress формы
перестал работать, потому что фокус все время на ScrollBar.

Вопрос: как сделать так чтобы фокус был все время на форме.

Пробовал: Form->SetFocus(); - все равно фокус у скролла
пробовал
void __fastcall TForm::ScrollBarEnter(TObject *Sender)
{
Form->SetFocus();
}
и Tab Order тоже менял...
все равно фокус сразу при создании формы на ScrollBar и с него уходить не хочет..

Помогите плиз...


Не проще ли назначить один обработчик для формы и линейки прокрутки?

9.8K
14 февраля 2006 года
AlexSob
24 / / 14.02.2006
Цитата:
Originally posted by kot_
Не проще ли назначить один обработчик для формы и линейки прокрутки?



Если не сложно, можете ответить как это сделать?(хотя бы в общих чертах)
Заранее большое спасибо!

246
14 февраля 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by AlexSob
Появилась такая проблема:
Есть форма, на канве формы идет отрисовка.
Есть обработчик событий OnKeyPress(у формы)

Когда сбросил на формы ScrollBar, OnKeyPress формы
перестал работать, потому что фокус все время на ScrollBar.

Вопрос: как сделать так чтобы фокус был все время на форме.

Пробовал: Form->SetFocus(); - все равно фокус у скролла
пробовал
void __fastcall TForm::ScrollBarEnter(TObject *Sender)
{
Form->SetFocus();
}
и Tab Order тоже менял...
все равно фокус сразу при создании формы на ScrollBar и с него уходить не хочет..

Помогите плиз...


TForm::KeyPreview = true;

9.8K
14 февраля 2006 года
AlexSob
24 / / 14.02.2006
GIZMO, спасибо. заработало!
только вопрос не решился до конца..
KeyPreview, не отлавливает стрелки вниз, вверх..

есть картинка на форме, есть вертикальных и горизонтальный скролл. хочу, когда жмешь вниз-вверх работал вертикальный скролл, а влево-вправо горизонтальный..
для этого, насколько я понимаю, мне нужен постоянно фокус на форме, и если жмем на стрелки, то давать фокус скроллу, а потом сразу его забирать..

- это правильное решение такой задачи?
подскажите как можно это реализовать..
заранее большое спасибо
1
14 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by AlexSob
GIZMO, спасибо. заработало!
только вопрос не решился до конца..
KeyPreview, не отлавливает стрелки вниз, вверх..

есть картинка на форме, есть вертикальных и горизонтальный скролл. хочу, когда жмешь вниз-вверх работал вертикальный скролл, а влево-вправо горизонтальный..
для этого, насколько я понимаю, мне нужен постоянно фокус на форме, и если жмем на стрелки, то давать фокус скроллу, а потом сразу его забирать..

- это правильное решение такой задачи?
подскажите как можно это реализовать..
заранее большое спасибо


Баян. :) Один и тот же обработчик нажатия клавиши как для скролла так и для формы. Только лучше не KeyPress а KeyUp.

9.8K
14 февраля 2006 года
AlexSob
24 / / 14.02.2006
Всем спасибо. Буду пробовать
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог