powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание кнопки в Runtime и работа с ней
4 сообщений из 4, страница 1 из 1
Создание кнопки в Runtime и работа с ней
    #34270352
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача сводится к следующему - приложение висит в трее, периодически запрашивает с сервера нечто (допустим некий массив строк), по результатам ответа от сервера - если что-то получено - вывешивает TOPMOST окно с набором кликабельных контролов. Естественно эти самые контролы нужно создавать в рантайме, поскольку сколько их будет заранее не известно.

Лобовое решение - создавать массив указателей на CButton, раскладывать их по этому окошку и обрабатывать клики от них. В качестве прототипа пробую следующее (запрос к серверу заменен нажатием заранее созданной кнопки)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
void Ctest1Dlg::OnBnClickedButton2()
{
           // получаем фонт для создаваемого кнопаря
	CFont * fnt = btn2.GetFont();
           // собственно создаем кнопарь (в дальнейшем добавить расчет координат и генерацию ID)
	myButton1.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
		CRect( 10 , 10 , 100 , 30 ), this, здесьID);
	myButton1.SetFont(fnt,TRUE);
}

BOOL Ctest1Dlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
	if (wParam==здесьID) {
		myButton1.SetWindowTextW(_T("I am clicked!!!"));
                      // здесь будет обработчик от нашего кнопаря
	}

	return CDialog::OnCommand(wParam, lParam);
}

Поскольку в основном ранее на VC я писал либо виндовые сервисы, либо гуй с заранее предопределенным набором контролов - вопрос: а по правильному пути ли я иду?
...
Рейтинг: 0 / 0
Создание кнопки в Runtime и работа с ней
    #34270454
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Kozlov пишет:
> Автор: "Vladimir Kozlov"
> Задача сводится к следующему - приложение висит в трее, периодически
> запрашивает с сервера нечто (допустим некий массив строк), по
> результатам ответа от сервера - если что-то получено - вывешивает
> TOPMOST окно с набором кликабельных контролов. Естественно эти самые
> контролы нужно создавать в рантайме, поскольку сколько их будет заранее
> не известно.

CreateWindow, и вперед, в чем проблемы ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Создание кнопки в Runtime и работа с ней
    #34271180
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
CreateWindow, и вперед, в чем проблемы ?


А CButton::Create разве внутри себя не делает CreateWindow? Что я выиграю, используя голое API без MFC-шной обертки?
...
Рейтинг: 0 / 0
Создание кнопки в Runtime и работа с ней
    #34271871
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Kozlov пишет:
> А CButton::Create разве внутри себя не делает CreateWindow? Что я
> выиграю, используя голое API без MFC-шной обертки?

Да, делает, ничего не выиграешь, может даже и проиграешь.

Принципиальной разницы вообще нет.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание кнопки в Runtime и работа с ней
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]