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 }
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); }
/*------------------------------------------------ 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; }
//-------------------------------------------------------------------------------- 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; }
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; }