Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
#1

Как лучше реализовать кнопку? - C++

03.10.2012, 11:25. Просмотров 370. Ответов 7
Метки нет (Все метки)

Здравствуйте!
Я вижу два решения:
1)Создать класс button с указателем на функцию clickEvent, и каждому объекту присваивать ее отдельно.
2)Или создать базовый класс с виртуальной функцией clickEvent и под каждую кнопку создавать новый класс-наследник.

Не могу определиться. Мне не нравятся оба варианта.

Как вообще принято создавать кнопки в лучших домах?
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 11:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как лучше реализовать кнопку? (C++):

Как лучше реализовать конфиг? - C++
Написал программку, которая читает файл конфигурации, берет от туда некоторые параметры и присваивает их кнопкам. Файл конфигурации...

ООП. Как лучше реализовать? - C++
Здравствуйте всем. Собственно сабж: Есть встроенная структура struct MqlRates { datetime time; double open; ...

Как лучше реализовать обработку строки? - C++
Здравствуйте, делаю простецкий обработчик HTTP заголовков. Как лучше сделать, с начало узнать длину подстроки с заголовками, а потом...

Как лучше реализовать структуру класса? - C++
Есть задача создать класс авто-архив. Класс реализовал со структурой внутри класса. Создал указатель на структуру с полями, марка, модель,...

Как лучше реализовать прозрачность окна? - C++
надо реализовать сабж, пожозреваю что надо для этого окна установить флаг прозрачности окна. Но деталей найти несмог. Подскажите.

Как лучше всего реализовать настройки в программе? - C++
Хочу грамотно сделать настройки для своей программы. Сейчас примерно так: программа создаёт объект класса Settings, там пользователь...

7
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.10.2012, 11:47 #2
А если понадобится динамически менять назначение кнопки в зависимости от других событий, например, как это сделано на калькуляторах с кнопкой F? Поменять на ходу класс существующего объекта вряд ли получится, а заменить указатель на обработчик - раз плюнуть.
0
romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
03.10.2012, 12:00  [ТС] #3
Цитата Сообщение от taras atavin Посмотреть сообщение
А если понадобится динамически менять назначение кнопки в зависимости от других событий, например, как это сделано на калькуляторах с кнопкой F? Поменять на ходу класс существующего объекта вряд ли получится, а заменить указатель на обработчик - раз плюнуть.
dynamic_cast не поможет?
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.10.2012, 12:04 #4
C++
1
TButton1 b1=(dynamic_cast)<TButton1>(b2);
создаст новую кнопку другого типа. При чём здесь старая?
0
romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
03.10.2012, 12:13  [ТС] #5
C++
1
TButton1 * b1=(dynamic_cast)<TButton1*>(b2);
Я про это.

Не по теме:

я не спорю, я спрашиваю

0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.10.2012, 12:14 #6
Какая разница? Старая то кнопка тип не меняет.
1
romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
03.10.2012, 12:24  [ТС] #7
Цитата Сообщение от taras atavin Посмотреть сообщение
Какая разница? Старая то кнопка тип не меняет.
Если обработчик нажатий кнопок будет хранить указатели на кнопки, можно в нем изменить тип указателя с b1 на b2.
Впрочем это лишняя морока, и потенциальных ошибок больше, чем в варианте с указателем на функцию.

А еще есть варианты реализации кнопки?
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.10.2012, 12:29 #8
И почему это стоматологи ни когда пациентов от зубов не отрывают?
1
03.10.2012, 12:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 12:29
Привет! Вот еще темы с ответами:

Архитектура программы: как лучше реализовать иерархию классов? (игра "Тамагочи") - C++
Здравствуйте! Пишу игру тамагочи на с++ ооп. Есть класса Critter (основная). Походными классами од Critter являются Dog , Cat, Hamster. ...

Наследование vs Композиция vs Агрегация: что лучше выбрать? Как лучше передавать объекты в функции? - C++
Добрый день!! Дело вот в чём, я хочу создать класс, внутри которого будут созданы объекты других классов (реализованных в некоторой...

Посоветуйте, пожалуйста, каким образом будет лучше реализовать мою задачу? (MFC, Win API, Windows Forms)) - C++
Предупрежу, что я профан во всём сразу - MFC, Win API, Windows Forms (я даже не уверена, что правильно их написала...), но задачу нужно...

Как лучше учиться: писать консольные приложения или оконные? И если писать оконные, то на чём лучше? - C++
На днях я узнал про Borland c++ builder и хочу воспользоваться им, но можно и писать код, что-бы было оконное приложение, так что-же лучше?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru