Можно ли сделать для отдельной формы или контрола(button, edit или ListView ) свою оконную процедуру ?

программирование C++ WinAPI

или как можно разделить сообщения, что бы не водной WndProc все подряд обрабатывать ?

Примечание:
none7, не катит. функция таковой получается, а вот объект прорисовывается не полностью
только бордюр рисуется.

Примечание:
да.

BOOL WndProc_OnCreate( HWND hWnd, LPCREATESTRUCT Create )
{
//const unsigned short count_point = 8;

//POINT point[ count_point ] = { {,},{,},{,},{,},{,},{,},{,},{,} };

//HRGN hScreen = CreatePolygonRgn( &point, count_point , WINDING );

//SetWindowRgn( hWnd, hScreen, TRUE );

HWND hButton = CreateWindow(L"button", L" ", WS_CHILD | WS_VISIBLE | WS_BORDER , 10, 10, 150, 41, hWnd, NULL, g_hInstance, NULL );

SetWindowLongPtr( hButton, GWLP_WNDPROC, (LONG) WndButt );

return TRUE;
}

LRESULT CALLBACK WndButt ( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
switch( uMsg )
{


//HANDLE_MSG( hWnd, WM_CREATE , WndProc_OnCreate );
//HANDLE_MSG( hWnd, WM_PAINT , WndProc_OnPaint );
// HANDLE_MSG( hWnd, WM_DESTROY, WndProc_OnDestroy );
//HANDLE_MSG( hWnd, WM_COMMAND, WndProc_OnCommand );

case WM_LBUTTONDOWN:
MessageBox( hWnd, 0,0,0 );
break;

default:
return ( DefWindowProc( hWnd, uMsg, wParam, lParam ) );
};

return DefWindowProc( hWnd, uMsg, wParam, lParam );
}

Примечание:
таже фигня кнопка не полностью рисуется.

Примечание:
сделал так
Proc = (WNDPROC)SetWindowLongPtr( hButton, GWLP_WNDPROC, (LONG) WndButt );

LRESULT CALLBACK WndButt ( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
switch( uMsg )
{


//HANDLE_MSG( hWnd, WM_CREATE , WndProc_OnCreate );
//HANDLE_MSG( hWnd, WM_PAINT , WndProc_OnPaint );
// HANDLE_MSG( hWnd, WM_DESTROY, WndProc_OnDestroy );
//HANDLE_MSG( hWnd, WM_COMMAND, WndProc_OnCommand );

case WM_LBUTTONDOWN:

break;

default:
return ( CallWindowProc(Proc, hWnd, uMsg, wParam, lParam ) );
};

return 0L;//CallWindowProc(Proc, hWnd, uMsg, wParam, lParam ) ;
}


кнопка прорисовалась нормально. но когда ее нажимаешь она не двигается. а если быстро нажимаешь то через рас нажимается.

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.