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

Ваш аккаунт

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

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

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

динамическое создание кнопок и др. элементов формы

16K
21 апреля 2008 года
Zloi_kefir
20 / / 01.04.2007
можно ли создавать элементы диалогового окна, всякие разные флажки-кнопки динамически, во время выполнения программы? :confused:

буду благодарен за ссылки на статьи или хотя бы название функций, которые это делают. а еще больше - за примеры программ ))
27K
21 апреля 2008 года
NikiFar
16 / / 01.03.2008
Mogno, dlia etogo v svoiom faile(k primeru exampleDlg.h obiavliaesh element kakogo tipa tebe nado(k primeru CButton exm)), a potom vizivaesh Create, k primru exm.Create( ukazivaesh nujnie tebe parametri,stil' knopki, visible/invisible i t.d.) )
esli usaesh' MFC pocitai Meshkov Tihomirov : Visual C++ i MFC, tak budet napisano pro raznie stili(svoistva, kotorie ukazivaesh v Create) i t.d.
Primer :
CButton example;
example.Create(L"OK",WS_CHILD | BS_NOTIFY | BS_PUSHBUTTON | WS_VISIBLE ,OkRect,this,IDC_BUTTON_OK);
16K
22 апреля 2008 года
Zloi_kefir
20 / / 01.04.2007
[COLOR="Silver"]CButton example;
example.Create(L"OK",WS_CHILD | BS_NOTIFY | BS_PUSHBUTTON | WS_VISIBLE ,OkRect,this,IDC_BUTTON_OK);
[/COLOR]
спасибо )
а как к этому элементу привязать обработчик события?
как в таком случае юзать ddx ? то есть как можно связать переменную и элемент управления вне DoDataExchange?

кстати, компилятор ругается на ИДшник, который я пытаюсь присвоить вновь созданному LisBox'y.
пишет: IDC_CLB: undeclared identifier
где его определить?

зы: сори за ламерские вопросы )
240
23 апреля 2008 года
aks
2.5K / / 14.07.2006
Цитата: Zloi_kefir
[COLOR="Silver"]CButton example;
example.Create(L"OK",WS_CHILD | BS_NOTIFY | BS_PUSHBUTTON | WS_VISIBLE ,OkRect,this,IDC_BUTTON_OK);
[/COLOR]
кстати, компилятор ругается на ИДшник, который я пытаюсь присвоить вновь созданному LisBox'y.
пишет: IDC_CLB: undeclared identifier
где его определить?


Да где хочешь. Можешь вобще написать генератор ID-шников, который будет увеличивать их значения каждый раз на 1 при вызове и инициализировать им константы вроде IDC_CLB.

16K
01 мая 2008 года
Zloi_kefir
20 / / 01.04.2007
и все таки... как привязать функцию-обработчик к динамически созданному элементу?

нашел только про привязку в message_map.
а в коде какой-нибудь функции можно привязать?
11
02 мая 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Zloi_kefir
и все таки... как привязать функцию-обработчик к динамически созданному элементу?

нашел только про привязку в message_map.
а в коде какой-нибудь функции можно привязать?



свой класс-наследник от CButton делаешь, в нем же прописываешь и события (нажатие и т.п.)
а потом сколько хочешь столько и создавай динамически от него кнопки, главное что бы у них координыты (Rect) разные были и IDC тоже разные.

 
Код:
for (int i=0; i<10; i++)
{
MyButton = new MyButton();
MyButton->Create(L"MyButton",WS_CHILD|WS_VISIBLE|SS_CENTER,
    CRect(120,10,220+(i*10),50),this,i+100);
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог