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

Ваш аккаунт

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

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

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

Динамическая кнопка

435
02 апреля 2004 года
avatara
188 / / 07.07.2003
Делаю динамическую кнопку
void CDom2Dlg::CreateButton()
{
CButton * temp = new CButton;
CSize size_but;
size_but.cx = 80;
size_but.cy = 30;
CRect rect(Start, size_but);
CString s;
s.Format("%d - Кнопка", num_but);
temp->Create(s, WS_VISIBLE|SS_LEFT, rect, this, 1 );
but_array.Add(temp);

}

but_array - это объект класса CArray, куда добавляю динамические кнопки.
Вопрос вот в чем, как назначить этой кнопке какой-то обработчик. Т.Е. по нажатию на кнопку можно было что-то сделать, например вывести в заголовок какое-то слово?
6.0K
02 апреля 2004 года
cozy dude
7 / / 10.01.2004
Цитата:
Originally posted by avatara

Вопрос вот в чем, как назначить этой кнопке какой-то обработчик. Т.Е. по нажатию на кнопку можно было что-то сделать, например вывести в заголовок какое-то слово?



MSDN - твой друг лучший ;)

Цитата:
If you want to handle Windows notification messages sent by a button control to its parent (usually a class derived from CDialog), add a message-map entry and message-handler member function to the parent class for each message.

Each message-map entry takes the following form:
ON_BN_CLICKED( id, memberFxn )
where id specifies the child window ID of the control sending the notification and memberFxn is the name of the parent member function you have written to handle the notification.


The parent's function prototype is as follows:

afx_msg void memberFxn( );

435
02 апреля 2004 года
avatara
188 / / 07.07.2003
Цитата:
Originally posted by cozy dude


MSDN - твой друг лучший ;)



Хорошо. Вопрос тогда такой - а как получить ID созданной динамически кнопки?

461
02 апреля 2004 года
gerard
102 / / 20.12.1999
Цитата:
Originally posted by avatara


Хорошо. Вопрос тогда такой - а как получить ID созданной динамически кнопки?



Вызывайте метод GetDlgCtrlID() - он возвращает ID любого объекта класса CWnd или его потомка (в том числе и CButton).

Воистину, MSDN - твой друг лучший

527
03 апреля 2004 года
pavor
275 / / 28.09.2003
Цитата:
Originally posted by gerard


Вызывайте метод GetDlgCtrlID() - он возвращает ID любого объекта класса CWnd или его потомка (в том числе и CButton).

Воистину, MSDN - твой друг лучший



MSDN - друг лучший но не всем:P

temp->Create(s, WS_VISIBLE|SS_LEFT, rect, this, 1 );

Последняя 1 это и есть твой ID

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