Bonjour,
Comment convertir : afx_msg void OnMM_WIM_DATA(UINT parm1, LONG parm2); pour ne pas utiliser les MFC?
J'ai essay� de comprendre le but des afxmsg...je ne vois toujours pas.
Merci
Bonjour,
Comment convertir : afx_msg void OnMM_WIM_DATA(UINT parm1, LONG parm2); pour ne pas utiliser les MFC?
J'ai essay� de comprendre le but des afxmsg...je ne vois toujours pas.
Merci
salut,
je ne comprends pas la question .
quel est le but ?
![]()
Ce qui est affirm� sans preuve peut �tre ni� sans preuve Euclide.
Les conversions num�riques en C,C++,C++/CLI
DLL d'extensions : �criture d'un plug-in de classe
D�marrer avec les MFC 2/2
Cr�ation d'un ActiveX MFC
Int�gration d'une imprimante PDF pour �ditions automatis�es
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
D�marrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Mon but est de transformer tout le programme MFC en simple win32
pour cela, je ne comprend pas l'utilit� ni le fonction d'un AFX message
D�claration de la class principale
La class Csoundin herite de la class Cwinthread...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 CSoundIn::CSoundIn() { m_QueuedBuffers = 0; m_hRecord = NULL; m_bRecording = false; DataFromSoundIn = NULL; m_pOwner = NULL; CreateThread(); m_bAutoDelete = false; }
Je suppose que le ON_THREAD_MESSAGE d�marre quand la fonction On WIM_DATA quand il recoit un message de MM_WIM_DATA???
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 BEGIN_MESSAGE_MAP(CSoundIn, CWinThread) //{{AFX_MSG_MAP(CSoundIn) // NOTE - the ClassWizard will add and remove mapping macros here. //}}AFX_MSG_MAP ON_THREAD_MESSAGE(MM_WIM_DATA, OnMM_WIM_DATA) END_MESSAGE_MAP()
Ca c la fonction qui ouvre le port...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 mmReturn = ::waveInOpen( &m_hRecord, WAVE_MAPPER, &m_Format, m_ThreadID, NULL, CALLBACK_THREAD);
Fonction qui realise le travail principal, recup buffer du port audio ...
Mon probl�me aujourd'hui c'est que je veux utiliser les threads win32, que je maitrise pas, il faut donc convertir le code,
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 afx_msg void OnMM_WIM_DATA(UINT parm1, LONG parm2); void CSoundIn::OnMM_WIM_DATA(UINT parm1, LONG parm2) { ... }
Je propose
Code : S�lectionner tout - Visualiser dans une fen�tre � part
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 class CWorkerThread { public: CWorkerThread() { m_dwID = 0; m_hThread = 0; } ~CWorkerThread() { CloseHandle(m_hThread); } bool InitThread() { m_hThread = CreateThread(0, 0, ThreadFunc, this, 0, &m_dwID); if(!m_hThread) { // Impossible de créer le thread ! return false; } return true; } public: DWORD GetCurrentThreadId(); private: DWORD m_dwID; HANDLE m_hThread; static DWORD WINAPI ThreadFunc(LPVOID pvParam); }; DWORD WINAPI CWorkerThread::ThreadFunc(LPVOID pvParam) { CWorkerThread *pThis=reinterpret_cast< CWorkerThread *>( pvParam) ; // le code !! return 0; } DWORD CWorkerThread ::GetCurrentThreadId() { return m_dwID; }
Je peux tjours faire ??
Class Csoundin : public CWorkerThread
Comment mettre en place le lien qui existe avec le afx message... et le ON_THREAD_MESSAGE(MM_WIM_DATA, OnMM_WIM_DATA)?
Partager