|
|
|
Как открыть диалог?
|
|||
|---|---|---|---|
|
#18+
Здраствуйте! У меня диалог на основе СRecordView. Его нужно открыть из меню. Подскажите пожалуйста как это можно сделать? Я пробовал это: Код: plaintext 1. 2. 3. Помагите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2007, 20:22 |
|
||
|
Как открыть диалог?
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > У меня диалог на основе СRecordView. Его нужно открыть из меню. > Подскажите пожалуйста как это можно сделать? > > Я пробовал это: > > ::DialogBox( ::GetModuleHandle(NULL), > MAKEINTRESOURCE(IDD_DLG_ZAKAZ), > NULL, > NULL); СRecordView - Это не диалог, а CView, его нельзя так создавать. (точнее конечно можно, но только MFC не предполагает такой способ его создания и код СRecordView просто не будет работать). Его надо создавать как View, с документом и фреймом , на основе CDocTemplate-а. Как - смотри документацию, примеры. Например, знаменитый scrible. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 10:39 |
|
||
|
Как открыть диалог?
|
|||
|---|---|---|---|
|
#18+
Вопрос частично решон. Диалог создается на основе CDialog, используется функция onPaint вместо onDraw. Подскажите есть ли между ними существенная разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 11:19 |
|
||
|
Как открыть диалог?
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > Вопрос частично решон. Диалог создается на основе CDialog, используется > функция onPaint вместо onDraw. Уже не первый раз за последнее время кто-то говорит, что в диалоговом окне он использует onPaint. ЕЕ НЕ НАДО ИСПОЛЬЗОВАТЬ, даже нельзя использовать. Потому что диалог - это набор контролов, он должен сам себя отрисовывать, это делает WinAPI само, там не нужно и даже нельзя использовать WM_PAINT. > Подскажите есть ли между ними > существенная разница? Да, есть. ОnDraw - более универсальный аналог, позволяющий делать независимый от устройства вывод как на экран, так и на печать. При чем чтобы код был один и тот же. Это достигается путем введения некоеко более мощного чем в Win32 API полиморфизма в MFC-классах , это делающих. OnDraw нет в Win API, OnDraw есть только в MFC, и MFC-шные классы типа CView должны использовать именно ее для вывода, как на экран (в окно), так и на принтер. OnPaint - это просто хендлер виндового сообщения WM_PAINT, он немного подготавливает контекст рисования и вызывает OnDraw (на сколько я помню). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 13:49 |
|
||
|
Как открыть диалог?
|
|||
|---|---|---|---|
|
#18+
Спасибо, разницу почуствовал на практике. Кстати нашел решение как открыть диалоговое окно созданое на базе класса CRecordView. Оказывается все намного сложнее чем казалосьь раньще. Нужно использовать представления и юзать класс CMultiDocTemplate Всем спасибо, вопрос решон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 19:51 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34524593&tid=2028880]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
159ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 273ms |
| total: | 498ms |

| 0 / 0 |
