We zijn op school met een project bezig waarbij we een software DVD-speler (à la PowerDVD) aan het maken zijn als SDI. We zijn bezig in VC++ met MFC en DirectShow. We gebruiken de DVDSample uit de DirectX SDK als voorbeeld. De sample is echter in gewone C++ code geschreven, niet MFC.
We hebben hem zover af dat hij een DVD-film afdraait in een apart venster. Dit doet de applicatie automatisch door de IVideoInterface. Dit aparte venster vangt echter geen berichten af. Of misschien doet ie dit wel maar stuurt ze niet door naar de view-klasse. De sample registreert eerst een apart window en creëert er een. Dit doen ze als volgt:
Dat lukt ons niet met MFC.
Hoe kunnen we ervoor zorgen dat berichten van het 'afspeelscherm' doorgestuurd worden naar de view-klasse?
We hebben hem zover af dat hij een DVD-film afdraait in een apart venster. Dit doet de applicatie automatisch door de IVideoInterface. Dit aparte venster vangt echter geen berichten af. Of misschien doet ie dit wel maar stuurt ze niet door naar de view-klasse. De sample registreert eerst een apart window en creëert er een. Dit doen ze als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| // register playback window
WNDCLASSEX wndclass = {
sizeof(WNDCLASSEX),
CS_HREDRAW | CS_VREDRAW,
CDvdCore::WndProc,
0,
0,
m_hInstance,
LoadIcon(m_hInstance, MAKEINTRESOURCE(IDI_APPICON)),
LoadCursor(NULL, IDC_ARROW),
HBRUSH(COLOR_WINDOW+1),
NULL,
TEXT("EventWindow"),
NULL
};
RegisterClassEx(&wndclass);
// create the playback window
RECT rPlayback = GetPlaybackWindowRect();
m_hWnd = CreateWindow(
TEXT("EventWindow"),
TEXT("Video Window"),
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
rPlayback.left,
rPlayback.top,
rPlayback.right - rPlayback.left,
rPlayback.bottom - rPlayback.top,
NULL,
NULL,
m_hInstance,
this); // we send the this pointer here so we can retrieve it from WM_CREATE later |
Dat lukt ons niet met MFC.
Hoe kunnen we ervoor zorgen dat berichten van het 'afspeelscherm' doorgestuurd worden naar de view-klasse?
hard ware - The part of the computer that can be kicked