![]() |
|
|
![]()
|
|
| ShurikA |
|
||||||||||||||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Вообщем так (описывать долго, но надо):
Делаю много-оконное приложение в котором:
Внутри него, в его BOOL CFibImApp::InitInstance() создаётся CMDIFrameWnd
в меню IDR_MAINFRAME существует File->New, при нажатии на неё (как бы это не было удивительно) вызывается функция CFibImApp::OnFileNew() :
с уже зарание определёнными новыми Menu и Accelerators. ...открыли... открылось далее: CChildFrame наследует от CMDIChildWnd. В CChildFrame есть обьект CChildView m_wndView который в свою очередь наследует от CWnd. Создаём:
и наконец CChildView: как уже сказанно выше он имеет своё Menu в котором есть обьект File->Open вызывающий (естественно) OnFileOpen().
то есть, запрашиваем у юзера фаил (картинку) и загоняем в imgOriginal, после чего перерисовываем окно уже с картинкой. Сделали... Работает!!! Прекрасно!!! ..... да не очень получается глупо: чтобы открыть картинку, надо открыть новое окно и только потом выбрать фаил и открыть. Хотелось бы иметь File->Open в меню главного окна. Чтобы сначало запросить фаил а потом уже открыть новое окно, залить туда фотау и показать, не так ли? Хорошо, делаем: Создал File->Open в меню главного окна (CFibImApp::IDR_MAINFRAME) есть, присобачили функцию CFibImApp::OnFileOpen()... и вот тут я застрял!!!! единственно до чего я дошёл:
и поменял OnFileNew() на:
все работает и даже картинку показывает, но сразу после этого убивает окно с картинкой... вот такая беда |
||||||||||||||
|
|||||||||||||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Неужели нт кто не знает???
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
ShurikA,
раз уж ты пишешь в MFC, создай шаблон документа (в смысле DocTemplate), зарегистрируй его в InitInstance и не мучайся. После этого стандартный обработчик CWinApp::OnFileOpen все тебе сделает. А если все же хочешь сам - обращайся к первоисточникам. -------------------- ... |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Earnest
Спасибо. Исправь меня если я не прав, но то как я сделал это почти так как ты сказал, только без как такового определения DocTemplate... |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Ты не прав. (Если бы ты был прав, у тебя бы все работало. Объяснять детали долго, пол-MFC привести надо. Лучше сделай стандартным образом. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |