Example #1
0
void CRadarMapCtrl::OnPaint() 
{
	CPaintDC dc(this); // device context for painting

	GetClientRect(&m_rSize);

	SetSize(m_rSize);	

	OnCustomDraw(&dc);
	
	// Do not call CStatic::OnPaint() for painting messages
}
Example #2
0
LRESULT CInfoPanel::WndProc(HWND hWnd, UINT uCmd, WPARAM wParam, LPARAM lParam)
{
	switch(uCmd)
	{
		case WM_CREATE: return OnCreate((LPCREATESTRUCT)lParam);
		case WM_SETCURSOR: return OnSetCursor(LOWORD(lParam),HIWORD(lParam));
		case WM_DESTROY: return OnDestroy();

		case WM_NOTIFY:
			{
				NMHDR *pNMHDR = (NMHDR*)lParam;
				switch(pNMHDR->code)
				{
				case NM_CUSTOMDRAW: return OnCustomDraw((NMCUSTOMDRAW*)pNMHDR);
				case NM_CLICK: return OnClick((NMITEMACTIVATE*)pNMHDR);
				}
			}
	}
	return DefWindowProc(hWnd,uCmd,wParam,lParam);
}
Example #3
0
/*------------------------------------------------
   subclass procedure of TrayNotifyWnd
--------------------------------------------------*/
LRESULT CALLBACK SubclassProcTrayNotify(HWND hwnd, UINT message,
	WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData)
{
	switch(message)
	{
		case WM_ERASEBKGND:
			OnPaintTray(hwnd, (HDC)wParam);
			return 1;
		case WM_PAINT:
		{
			PAINTSTRUCT ps;
			HDC hdc;
			hdc = BeginPaint(hwnd, &ps);
			OnPaintTray(hwnd, hdc);
			EndPaint(hwnd, &ps);
			return 0;
		}
		case WM_PRINTCLIENT:
			OnPaintTray(hwnd, (HDC)wParam);
			return 0;
		case WM_SIZE:
			if(m_hwndClock) SendMessage(m_hwndClock, WM_SIZE, 0, 0);
			break;
		case WM_NOTIFY:
		{
			LPNMHDR pnmh;
			pnmh = (LPNMHDR)lParam;
			if(pnmh->code == NM_CUSTOMDRAW && pnmh->idFrom == 0)
			{
				LPNMCUSTOMDRAW pnmcd = (LPNMCUSTOMDRAW)lParam;
				if(pnmcd->dwDrawStage  == CDDS_ITEMPREPAINT)
					OnCustomDraw(hwnd, pnmh->hwndFrom, pnmcd);
			}
			break;
		}
	}
	return DefSubclassProc(hwnd, message, wParam, lParam);
}
/// <summary>
/// Process the WM_NOTIFY message from the parent window
/// </summary>
/// <param name="hParentWnd">Handle to the parent window.</param>
/// <param name="pNMLV">Information about the list-view notification message.</param>
LRESULT CustomDrawListControl::HandleNotifyMessage(HWND hParentWnd, LPNMLISTVIEW pNMLV)
{
    switch (pNMLV->hdr.code)
    {
    case NM_CUSTOMDRAW:
        {
            LRESULT result = OnCustomDraw((LPNMLVCUSTOMDRAW)pNMLV);
            SetWindowLongPtr(hParentWnd, DWLP_MSGRESULT, result);
        }
        break;

    case LVN_ITEMCHANGING:
        {
            // Don't highlight when the item is selected
            if ((pNMLV->uChanged) & LVIF_STATE)
            {
                SetWindowLongPtr(hParentWnd, DWLP_MSGRESULT, TRUE);
            }
        }
        break;
    }

    return TRUE;
}
Example #5
0
	//--------------------------------------------------------------------------------
	long CTreeView::OnNotify( NotificationMessageHeader* pHdr )
	{
		_WINQ_FCONTEXT( "CTreeView::OnNotify" );
		long lResult = 0;

		if( pHdr != 0 )
		{
			switch ( pHdr->m_uiCode )
			{
			case NM_CLICK:
				{
					lResult = static_cast< long >( OnClick( pHdr ) ? 0 : 1 );
				}
				break;
			case NM_CUSTOMDRAW:
				{
					lResult = OnCustomDraw( reinterpret_cast< NMTVCUSTOMDRAW* >( pHdr ) );
				}
				break;
			case NM_DBLCLK:
				{
					lResult = static_cast< long >( OnDblClick( pHdr ) ? 0 : 1 );
				}
				break;
			case NM_KILLFOCUS:
				{
					OnKillFocus( pHdr );
				}
				break;
			case NM_RCLICK:
				{
					lResult = static_cast< long >( OnRClick( pHdr ) ? 0 : 1 );
				}
				break;
			case NM_RDBLCLK:
				{
					lResult = static_cast< long >( OnRDblClick( pHdr ) ? 0 : 1 );
				}
				break;
			case NM_RETURN:
				{
					lResult = static_cast< long >( OnReturn( pHdr ) ? 0 : 1 );
				}
				break;
#if		( _WIN32_IE >= 0x0400 )
			case NM_SETCURSOR:
				{
					lResult = static_cast< long >( OnSetCursor( reinterpret_cast< NMMOUSE* >( pHdr ) ) ? 0 : 1 );
				}
				break;
#endif//( _WIN32_IE >= 0x0400 )
			case NM_SETFOCUS:
				{
					OnSetFocus( pHdr );
				}
				break;
#if		( _WIN32_IE >= 0x0600 )
			case TVN_ASYNCDRAW:
				{
					OnAsyncDraw( reinterpret_cast< NMTVASYNCDRAW* >( pHdr ) );
				}
				break;
#endif//( _WIN32_IE >= 0x0600 )
			case TVN_BEGINDRAG:
				{
					OnBeginDrag( reinterpret_cast< NMTREEVIEW* >( pHdr ) );
				}
				break;
			case TVN_BEGINLABELEDIT:
				{
					lResult = static_cast< long >( OnBeginLabelEdit( reinterpret_cast< NMTVDISPINFO* >( pHdr ) ) ? 0 : 1 );
				}
				break;
			case TVN_BEGINRDRAG:
				{
					OnBeginRDrag( reinterpret_cast< NMTREEVIEW* >( pHdr ) );
				}
				break;
			case TVN_DELETEITEM:
				{
					OnDeleteItem( reinterpret_cast< NMTREEVIEW* >( pHdr ) );
				}
				break;
			case TVN_ENDLABELEDIT:
				{
					lResult = static_cast< long >( OnEndLabelEdit( reinterpret_cast< NMTVDISPINFO* >( pHdr ) ) ? 1 : 0 );
				}
				break;
			case TVN_GETDISPINFO:
				{
					OnGetDispInfo( reinterpret_cast< NMTVDISPINFO* >( pHdr ) );
				}
				break;
#if		( _WIN32_IE >= 0x0400 )
			case TVN_GETINFOTIP:
				{
					OnGetInfoTip( reinterpret_cast< NMTVGETINFOTIP* >( pHdr ) );
				}
				break;
#endif//( _WIN32_IE >= 0x0400 )
#if		( _WIN32_IE > 0x0600 )
			case TVN_ITEMCHANGED:
				{
					lResult = static_cast< long >( OnItemChanged( reinterpret_cast< NMTVITEMCHANGE* >( pHdr ) ) ? 0 : 1 );
				}
				break;
			case TVN_ITEMCHANGING:
				{
					lResult = static_cast< long >( OnItemChanging( reinterpret_cast< NMTVITEMCHANGE* >( pHdr ) ) ? 0 : 1 );
				}
				break;
#endif//( _WIN32_IE > 0x0600 )
			case TVN_ITEMEXPANDED:
				{
					OnItemExpanded( reinterpret_cast< NMTREEVIEW* >( pHdr ) );
				}
				break;
			case TVN_ITEMEXPANDING:
				{
					lResult = static_cast< long >( OnItemExpanding( reinterpret_cast< NMTREEVIEW* >( pHdr ) ) ? 0 : 1 );
				}
				break;
			case TVN_KEYDOWN:
				{
					lResult = static_cast< long >( OnKeyDown( reinterpret_cast< NMTVKEYDOWN* >( pHdr ) ) ? 0 : 1 );
				}
				break;
			case TVN_SELCHANGED:
				{
					OnSelChanged( reinterpret_cast< NMTREEVIEW* >( pHdr ) );
				}
				break;
			case TVN_SELCHANGING:
				{
					lResult = static_cast< long >( OnSelChanging( reinterpret_cast< NMTREEVIEW* >( pHdr ) ) ? 0 : 1 );
				}
				break;
			case TVN_SETDISPINFO:
				{
					OnSetDispInfo( reinterpret_cast< NMTVDISPINFO* >( pHdr ) );
				}
				break;
#if		( _WIN32_IE >= 0x0400 )
			case TVN_SINGLEEXPAND:
				{
					lResult = OnSingleExpand( reinterpret_cast< NMTREEVIEW* >( pHdr ) );
				}
				break;
#endif//( _WIN32_IE >= 0x0400 )
			default:
				{
					lResult = OnUnknownNotification( pHdr );
				}
				break;
			}
		}
		return lResult;
	}
Example #6
0
HRESULT CMenuToolbarBase::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
{
    NMHDR * hdr;

    *theResult = 0;
    switch (uMsg)
    {
    case WM_COMMAND:
        //return OnCommand(wParam, lParam, theResult);
        return S_OK;

    case WM_NOTIFY:
        hdr = reinterpret_cast<LPNMHDR>(lParam);
        switch (hdr->code)
        {
        case TBN_DELETINGBUTTON:
            return OnDeletingButton(reinterpret_cast<LPNMTOOLBAR>(hdr));

        case PGN_CALCSIZE:
            return OnPagerCalcSize(reinterpret_cast<LPNMPGCALCSIZE>(hdr));

        case TBN_DROPDOWN:
            return ProcessClick(reinterpret_cast<LPNMTOOLBAR>(hdr)->iItem);

        case TBN_HOTITEMCHANGE:
            //return OnHotItemChange(reinterpret_cast<LPNMTBHOTITEM>(hdr), theResult);
            return S_OK;

        case NM_CUSTOMDRAW:
            return OnCustomDraw(reinterpret_cast<LPNMTBCUSTOMDRAW>(hdr), theResult);

        case TBN_GETINFOTIP:
            return OnGetInfoTip(reinterpret_cast<LPNMTBGETINFOTIP>(hdr));

            // Silence unhandled items so that they don't print as unknown
        case RBN_CHILDSIZE:
            return S_OK;

        case TTN_GETDISPINFO:
            return S_OK;

        case NM_RELEASEDCAPTURE:
            break;

        case NM_CLICK:
        case NM_RDOWN:
        case NM_LDOWN:
            break;

        case TBN_GETDISPINFO:
            break;

        case TBN_BEGINDRAG:
        case TBN_ENDDRAG:
            break;

        case NM_TOOLTIPSCREATED:
            break;

            // Unknown
        case -714: return S_FALSE;

        default:
            TRACE("WM_NOTIFY unknown code %d, %d\n", hdr->code, hdr->idFrom);
            return S_OK;
        }
        return S_FALSE;
    }

    return S_FALSE;
}