или как можно разделить сообщения, что бы не водной 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 ) ;
}
кнопка прорисовалась нормально. но когда ее нажимаешь она не двигается. а если быстро нажимаешь то через рас нажимается.