0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 5
|
|
1 | |
Работа Dialog-based MFC приложения08.06.2009, 19:47. Показов 3914. Ответов 11
Метки нет (Все метки)
Здравствуйте. Есть Dialog-based MFC приложение. Необходимо по нажатию кнопки вызвать новое диалоговое окно и произвести в нем рисование. Ка такое можно раелизовать?
0
|
08.06.2009, 19:47 | |
Ответы с готовыми решениями:
11
Проблема с COM и MFC Dialog-based Application MFC Dialog based, перехват нажатия клавиш mfc. dialog-based application. CStatic, CButton MFC Dialog-based Application: Combo Box |
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||||||
08.06.2009, 20:01 | 2 | |||||
Делаешь в ресурсах новый диалог.
прицепляешь к нему Визардом новый класс CMyDialog. а дальше... в нужном месте:
В ней и рисуешь. Либо, делаешь на этом диалоге новое окно, получаешь в OnInitDialog указатель на него и переопределяешь рисование уже у этого дочернего окна. Второе, вообще, предпочтительнее, но сложнее. Экспериментировать можно и по первому варианту.
0
|
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 5
|
|
08.06.2009, 20:15 [ТС] | 3 |
При попытке переопределить функцию пишет:
...queueing_model\queueing_model\sucdlg.cpp(29) : error C2509: 'OnPaint' : member function not declared in 'CMyDlg' определение класса вроде нужное class CMyDlg : public CDialog
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
08.06.2009, 20:27 | 4 |
в хэдере CMyDlg вставь
afx_msg void OnPaint(); вообще, он ставится автоматом, если переопределяешь через "Window Message Handler"
0
|
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 5
|
|
08.06.2009, 20:30 [ТС] | 5 |
Теперь пишет
'CDialog::OnPaint' cannot access protected member declared in class 'CDialog' а если вставить в public: то получается error LNK2001: unresolved external symbol "public: void __thiscall CЬнDlg::OnPaint(void)" (?OnPaint@CSUCDlg@@QAEXXZ)
0
|
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
|
|
08.06.2009, 20:33 | 6 |
kremov,
Скачай книгу "Visual C++ и MFC. Программирование для Windows NT и Windows 95." и почитай её, тогда таких вопросов возникать не будет.
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
08.06.2009, 20:34 | 7 |
0
|
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 5
|
|
08.06.2009, 20:36 [ТС] | 8 |
автора подскажешь?
Добавлено через 1 минуту 25 секунд поставил опять в protected: - ошибки не исчезли
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
08.06.2009, 20:43 | 10 |
0
|
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 5
|
|
08.06.2009, 20:49 [ТС] | 11 |
В целом он пишет что не может получить доступ к protected члену класса.
вызываю вот так: CMyDlg dlg; dlg.OnPaint();
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
08.06.2009, 21:00 | 12 |
OnPaint() вызывается АВТОМАТИЧЕСКИ. вручную его вызывать НЕЛЬЗЯ! хоть основы-то почитай...
0
|
08.06.2009, 21:00 | |
08.06.2009, 21:00 | |
Помогаю со студенческими работами здесь
12
Dialog based MFC приложение, установка лимита для переменной Edit типа Double MFC dialog Dialog MFC MFC docking dialog MFC Dialog box MFC Dialog в виде ActiveX Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |