|
|
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
1) CFormView - какой обработчик (событие) вызывается при "инициализации окна" - необходимо работать с контролами на форме - в конструкторе нельзя, в OnInitialUpdate тоже. 2) CWinApp - какой обработчик (событие) вызывается при закрытии приложения (по дефолту конструктора нет, в ExitInstance() не входит). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2006, 12:05 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
wolverin1) CFormView - какой обработчик (событие) вызывается при "инициализации окна" - необходимо работать с контролами на форме - в конструкторе нельзя, в OnInitialUpdate тоже. можно объявить в конструкторе CMainFrame wolverin2) CWinApp - какой обработчик (событие) вызывается при закрытии приложения (по дефолту конструктора нет, в ExitInstance() не входит). проверила - получилось добавить метод int CClassApp::ExitInstance() с вызовом из него чего-то другого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2006, 17:51 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
Lenieможно объявить в конструкторе CMainFrame Мне не нужно объявлять, я хочу обратиться к контролу и проставить ему свойства. Lenie с вызовом из него чего-то другого Из "чего-то другого" я могу вызвать все что угодно. Просто инициализацию всех глобальных переменных приложения делаю в CWinApp::InitInstance(), вот и хочется освободить память по уничтожению объекта данного класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 08:50 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
1) CFormView - какой обработчик (событие) вызывается при "инициализации окна" - необходимо работать с контролами на форме - в конструкторе нельзя, в OnInitialUpdate тоже. При создании экземпляра класса - конструктор. При СОЗДАНИИ OКНА - WM_CREATE. 2) CWinApp - какой обработчик (событие) вызывается при закрытии приложения (по дефолту конструктора нет, в ExitInstance() не входит) ExitInstance() и вызывается. Это когда уже все, приложение завершается. Он ДОЛЖЕН вызываться, если нет, у тебя что-то сильно не так, ищи ошибки. Еще можно WM_CLOSE WM_QUIT на главном окне, CanCloseFrame на любом фрейме (это не совсем закрытие приложения, но может понадобится). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 14:14 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
wolverin Просто инициализацию всех глобальных переменных приложения делаю в CWinApp::InitInstance(), вот и хочется освободить память по уничтожению объекта данного класса. Освобождать надо в ДЕСТРУКТОРЕ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 14:15 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
Не знаю чем OnInitialUpdate не устраивает, но можно к примеру в PreCreateWindow на второе как в последнем посте MasterZiv. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2006, 22:26 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
MasterZivОсвобождать надо в ДЕСТРУКТОРЕ. Визар не создал в моем классе приложения (наследник от CWinApp) деструктор и я где-то в книжке прочитал, что вроде как в MFC (извините, не знаю как правильно выразиться) "закрыт" этот деструктор. А где искать ошибки почему CWinApp::ExitInstance() не вызывается - ума не приложу, может быть эта проблема вызвана неправильным освобождением указателей на интерфейсы COM-сервера (или "отписка" от событий)??? Потому что он мне сообщает в лог файле Код: plaintext MasterZiv Chernomor Вот такой код пишу Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Помещаю этот же код в CFormView::OnCreate(LPCREATESTRUCT lpCreateStruct), вываливается ошибка Код: plaintext Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 10:06 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
Chernomorможно к примеру в PreCreateWindow Таже фигня, что и с конструктором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 10:10 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
wolverin MasterZivОсвобождать надо в ДЕСТРУКТОРЕ. Визар не создал в моем классе приложения (наследник от CWinApp) деструктор и я где-то в книжке прочитал, что вроде как в MFC (извините, не знаю как правильно выразиться) "закрыт" этот деструктор. Не закрыт. Вообще такое почти невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 14:08 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
Еще раз. 1) CFormView - какой обработчик (событие) вызывается при "инициализации окна" - необходимо работать с контролами на форме - в конструкторе нельзя, в OnInitialUpdate тоже. Штатно это делается именно в OnInitialUpdate. После вызова родительского OnInitialUpdate. 2) CWinApp - какой обработчик (событие) вызывается при закрытии приложения (по дефолту конструктора нет, в ExitInstance() не входит). Штатно это делается в ExitInstance. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 14:12 |
|
||
|
CFormView и CWinApp в VC++
|
|||
|---|---|---|---|
|
#18+
wolverinМне не нужно объявлять, я хочу обратиться к контролу и проставить ему свойства. попробуйте это сделать здесь: void CMainFrame::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) wolverinИз "чего-то другого" я могу вызвать все что угодно. вы меня неправильно поняли, или я плохо выразилась. Я имела в виду, что в int CClassApp::ExitInstance() МОЖНО делать другие вещи, по крайней мере я у себя попробовала и у меня получилось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2006, 12:21 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33716857&tid=2031321]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 505ms |

| 0 / 0 |
