PeekMessage verarbeitet Nachrichten
-
Hi!
Ich habe ein komisches Problem: Ich habe eine Nachrichtenschleife (ist zwar in MFC, aber ich glaube, das hat mit dem Problem eigentlich nichts zu tun), und in dieser wird PeekMessage aufgerufen. Nun habe ich die komische Situation, dass während die Funktion in PeekMessage steht, weitere Fensternachrichten von mir verarbeitet werden.
So sieht der Call-Stack aus:EditListCtrlDlg!CMyEditListCtrl::StopEdit
EditListCtrlDlg!::::CMySlider::WindowProc+0x2e
MFC42D!AfxCallWndProc+0xed
MFC42D!AfxWndProc+0xad
**MFC42D!AfxWndProcBase+0x4a
USER32!UserCallWinProc+0x18
**USER32!CallWindowProcAorW+0x94
USER32!CallWindowProcW+0x19
COMCTL32!CallOriginalWndProc+0x18
COMCTL32!CallNextSubclassProc+0x58
COMCTL32!DefSubclassProc+0x58
COMCTL32!TTSubclassProc+0x57
COMCTL32!CallNextSubclassProc+0x58
COMCTL32!MasterSubclassProc+0x97
USER32!UserCallWinProc+0x18
USER32!DispatchClientMessage+0x4b
USER32!__fnDWORD+0x22
ntdll!KiUserCallbackDispatcher+0x13
USER32!_PeekMessage+0x72
**USER32!PeekMessageA+0xe9
MFC42D!CWnd::RunModalLoop+0x298
**EditListCtrlDlg!CMyEditListCtrl::OnBeginLabelEdit+0x35a
EditListCtrlDlg!CEditListCtrl::OnDelayedLabelEdit+0x35
MFC42D!CWnd::OnWndMsg+0x69a
MFC42D!CWnd::WindowProc+0x2e
EditListCtrlDlg!CMyEditListCtrl::WindowProc+0x52
MFC42D!AfxCallWndProc+0xed
MFC42D!AfxWndProc+0xad
MFC42D!AfxWndProcBase+0x4a
USER32!UserCallWinProc+0x18
USER32!DispatchMessageWorker+0x2e4
USER32!DispatchMessageA+0xb
MFC42D!CWinThread::PumpMessage+0x100
MFC42D!CWnd::RunModalLoop+0x202
MFC42D!CDialog::DoModal+0x191
EditListCtrlDlg!CEditListCtrlDlgApp::InitInstance+0x63
MFC42D!AfxWinMain+0x83
EditListCtrlDlg!WinMain+0x18
EditListCtrlDlg!WinMainCRTStartup+0x1b3
KERNEL32!BaseProcessStart+0x3dWie kann das sein? Ich dachte, PeekMessage schaut lediglich mal kurz nach, ob es eine Nachricht gibt, und sonst nichts
