Динамическая кнопка
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, куда добавляю динамические кнопки.
Вопрос вот в чем, как назначить этой кнопке какой-то обработчик. Т.Е. по нажатию на кнопку можно было что-то сделать, например вывести в заголовок какое-то слово?
Цитата:
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( );
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( );
Цитата:
Originally posted by cozy dude
MSDN - твой друг лучший ;)
MSDN - твой друг лучший ;)
Хорошо. Вопрос тогда такой - а как получить ID созданной динамически кнопки?
Цитата:
Originally posted by avatara
Хорошо. Вопрос тогда такой - а как получить ID созданной динамически кнопки?
Хорошо. Вопрос тогда такой - а как получить ID созданной динамически кнопки?
Вызывайте метод GetDlgCtrlID() - он возвращает ID любого объекта класса CWnd или его потомка (в том числе и CButton).
Воистину, MSDN - твой друг лучший
Цитата:
Originally posted by gerard
Вызывайте метод GetDlgCtrlID() - он возвращает ID любого объекта класса CWnd или его потомка (в том числе и CButton).
Воистину, MSDN - твой друг лучший
Вызывайте метод GetDlgCtrlID() - он возвращает ID любого объекта класса CWnd или его потомка (в том числе и CButton).
Воистину, MSDN - твой друг лучший
MSDN - друг лучший но не всем:P
temp->Create(s, WS_VISIBLE|SS_LEFT, rect, this, 1 );
Последняя 1 это и есть твой ID