|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.08.2014, 14:12 | #1 |
Пользователь
Регистрация: 15.10.2013
Сообщений: 29
|
Обработка нажатия в другом файле
Здравствуйте Недавно начал осваивать C++ Builder в связи с чем возник вопрос. Наваял я некую программку (окошко) на котором полно элементов CheckBox. Всё здорово, нажимаю в форме на элементик 2 раза и открывается файл с кусом кода куда нужно вставить код, который программа должна будит выполнить - всё просто. Только, как я уже писал - элементов этих много, и хотелось бы создать отдельный файлик с кодом, который бы и отвечал за обработку нажатий, иначе код становится чертовски трудным. Можно ли это как то сделать?
Заранее спасибо! |
27.08.2014, 15:49 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Можно... хотя я не очень понял что куда надо вставлять, хоть скриншот покажите...
|
27.08.2014, 16:12 | #3 |
Пользователь
Регистрация: 15.10.2013
Сообщений: 29
|
Не думаю, что сриншот поможет, попробую написать, и если не понятно будет тогда срин добавлю. Значит так, нажимаю 2 раза на элемент CheckBox, выскакивает файл с таким вот кодом
Код:
Последний раз редактировалось Stilet; 27.08.2014 в 21:54. |
28.08.2014, 10:02 | #4 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Грендайзер
Конечно можно перенести. Только среда по умолчанию добавляет код в файл формы, поэтому надо немного вручную это делать. Щёлкнул по кнопке/чек-боксу, вырезал появившийся код, вставил его в другой файл по вкусу. Естественно, все правила С по части области видимости никто не отменял и, как минимум, требуется #include файла заголовка формы... И ещё забыл. Потом, при поиске обработчиков, будет немного неудобно. При клике на тот же чек-бокс, среда скажет, что не смогла найти функцию чек-боксКлик. Так что, если такие трудности не пугают... Лучше было бы сделать наоборот. В файл формы запихать все обработчики, а вот сам основной код - в другом файле. Тогда всё будет нормально. Последний раз редактировалось Stilet; 28.08.2014 в 13:59. |
28.08.2014, 10:54 | #5 |
Пользователь
Регистрация: 15.10.2013
Сообщений: 29
|
Большое спасибо, вот буквально 10 минут назад сам разобрался. Хотел бы особо подчеркнуть, для тех у кого будит то же вопрос, что приведённый мною код необходимо именно вырезать, а не копировать, т.к. в заголовочнике на него (этот код) создаётся ссылка, и если его просто скопировать, то после нажатия на кнопочку save ссылка удалится, так как код не был дополнен (изменён). Т.о. после копирования в другой фай данного куска кода, программа не скомпилируется.
И раз уж пошла такая пьянка хочу ещё вопросик. И так у меня несколько чекбоксов, но я хочу их обрабатывать в одном обработчике, для этого написал такой код Код:
CheckBox1, CheckBox2, CheckBox3 и т. д. Что бы понять, какой чекбокс был нажат - из переменной Neme необходимо как то выудить последнюю циферку, как это сделать? Последний раз редактировалось Stilet; 28.08.2014 в 13:59. |
28.08.2014, 11:53 | #6 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Не самый оптимальный подход. Зачем назначать один обработчик, если потом приходится отдельно анализировать, что нажато? В любом случае, надо выделить последние цифры из строки... Думаю, это не сложно...
|
28.08.2014, 12:14 | #7 | |
Пользователь
Регистрация: 15.10.2013
Сообщений: 29
|
Цитата:
Наверняка не сложно... Мне говорили, что в делфи ф-ция для этого есть... а в билдере? Всё же чисто из интереса попробовать нужно... |
|
28.08.2014, 14:20 | #8 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Да, нет никаких функций. Надо немного фантазию включить. Например, мы точно знаем длину текстовой строки "CheckBox" - 8 символов. Всё, что после - номер. Как выделить?
Код:
|
28.08.2014, 16:03 | #9 |
Пользователь
Регистрация: 15.10.2013
Сообщений: 29
|
FataLL, большое спасибо, помогли. Буду теперь дальше сидеть творить!!
|
11.09.2014, 10:21 | #10 |
Пользователь
Регистрация: 15.10.2013
Сообщений: 29
|
Снова здравствуйте, появился ещё вопросик. Нужно устанавливать (или снимать) галочку на CheckBox без выполнения кода. В сети нашёл такой кодик
Код:
Код:
"CheckBox1->OnClick=CheckBox1Click;" выскакивает ошибка [C++ Error] COM_func.cpp(202): E2451 Undefined symbol 'CheckBox1Click' Как правильно сделать? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка нажатия на STATIC | DETONAVOMEK | Win Api | 2 | 23.07.2012 16:11 |
поиск ячейки в другом файле | maksim_serg | Microsoft Office Excel | 21 | 05.08.2010 13:18 |
Получить в другом файле тот же текст, записанный заглавными буквами. | Nightt | Помощь студентам | 5 | 21.06.2009 00:01 |
может ли программма выполнять действия описаные в другом файле? | Iceman | Общие вопросы Delphi | 9 | 14.03.2009 21:22 |