Я хочу получать сообщения из дочернего окна. Я не могу этого сделать. Pls помогает мне. Я хочу получить сообщение, отправленное другим дочерним окном. Здесь определяются пользователем сообщения постоянно 510, и я эта обработка внутри OnGirish()Получение сообщений от ребенка Windows
// WndSecond.cpp: Файл реализации //
#include "stdafx.h"
#include "DemoB.h"
#include "WndSecond.h"
// #define ID_GIRISH 500
// CWndSecond
IMPLEMENT_DYNAMIC(CWndSecond, CWnd)
//Constructor
CWndSecond::CWndSecond()
{
}
//Destructor
CWndSecond::~CWndSecond()
{
}
//Message map for this window
BEGIN_MESSAGE_MAP(CWndSecond, CWnd)
ON_WM_PAINT()
ON_COMMAND(510,OnGirish)
END_MESSAGE_MAP()
// CWndSecond message handlers
BOOL CWndSecond::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CWnd::PreCreateWindow(cs))
return FALSE;
cs.dwExStyle |= WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS,
::LoadCursor(NULL, IDC_ARROW), CreateSolidBrush(RGB(0,255,0)), NULL);
return TRUE;
}
void CWndSecond::OnPaint()
{
CClientDC dc(this);
}
//Handler for retrieving user defined message sent by another window
void CWndSecond::OnGirish()
{
//Here I want to retrieve the message sent by another child window
GetMessae(510,0,0);
MessageBox(_T("Message"), _T("Hello World"),MB_ICONASTERISK|MB_OK);
}
@ rrirower- благодарит меня за помощь. Я надеюсь, что вы снова поможете мне в будущем. –
Мы можем использовать обработчик ON_MESSAGE для определения пользовательского сообщения и дескриптора с помощью функции afx_msg LRESULT Имя_функции (WPARAM, LPARAM); WPARAM и LPARAM будут определены пользователем. –
-1 'RegisterWindowMessage' - неправильный инструмент. Если вы управляете отправкой и получением кода, используйте статически определенный идентификатор сообщения в диапазоне «WM_APP + x». Если вы являетесь исполнителем класса окна получающего окна, используйте сообщение в диапазоне 'WM_USER + x'. – IInspectable