Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Yak Гость
|
Добавлено: Вт Фев 05 2002 09:37 Заголовок сообщения: По C++Builder |
|
|
Как переопределить функцию, например,нажатия кнопки, чтобы она не нажималась или любую другую функцию класса. Если можно то поподробнее. |
|
Вернуться к началу |
|
|
Владимир Гость
|
Добавлено: Вт Фев 05 2002 18:38 Заголовок сообщения: Re: Попробуй как Я! |
|
|
Если ты хочешь чтобы при вводе текста в ComboBox8 обрабатывались только те кнопки которые тебе нужны, в событие KeyPress нужно прописать вызов своей функции фильтра PressKey (Key). Эта функция будет описана ниже. Как это работает? Очень просто. Нажимаеш кнопку вызывается функция PressKey (Key) в нее в качестве параметра передается код нажатой клавиши Key, но заметь это таже переменная которая указана в ComboBox8KeyPress(TObject *Sender, char &Key)
Событие KeyPress void __fastcall TZayvka::ComboBox8KeyPress(TObject *Sender, char &Key) { PressKey (Key); }
Своя функция ее нужно ручками прописать
void PressKey (char &KeyPr) { switch (KeyPr) { case '1':break; case '2':break; case '3':break; case '4':break; case '5':break; case '6':break; case '7':break; case '8':break; case '9':break; case '0':break; case '.':KeyPr=','; break; case ',':break; case 8:break; case 9:break; case 13:break;
default:KeyPr=0;break;} }
Эта функция может возвращить код только перечисленных символов или заменять один символ другим (например точку на запятую) Если введенного символа нет сред перечисленных, то вместо его кода будет прописан ноль. И в результате программа на него почти не как не среагирует. Да еще эта функция меняет непосредственно переменную в которой компонент хранит код нажатой клавиши, а поскольку она выполняется раньше чем остальные события, то получается что она перехватывает код и заменяет его другим.
Вставлять вызов функции PressKey (Key) придется в каждый компонент в котором она тебе нужна. |
|
Вернуться к началу |
|
|
KWS Гость
|
Добавлено: Ср Фев 06 2002 09:35 Заголовок сообщения: Когда нужно отключи "Visible" или"Enable" |
|
|
Если я правильно понял, тебе иногда надо чтоб твои кнопки не работали. Visibl=false -делает её невидимой Enable -//- -///- нерабочей |
|
Вернуться к началу |
|
|
|