void CImageView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default if (!m_pImage || m_pImage->empty()) { return; } switch(nChar) { case VK_HOME: OnVScroll(SB_TOP,0,NULL); OnHScroll(SB_LEFT,0,NULL); break; case VK_END: OnVScroll(SB_BOTTOM,0,NULL); OnHScroll(SB_RIGHT,0,NULL); break; case VK_UP: OnVScroll(SB_LINEUP,0,NULL); break; case VK_DOWN: OnVScroll(SB_LINEDOWN,0,NULL); break; case VK_LEFT: OnHScroll(SB_LINELEFT,0,NULL); break; case VK_RIGHT: OnHScroll(SB_LINERIGHT,0,NULL); break; case VK_SPACE: if (m_pMVSDoc->m_imgHandled.empty()) { return; } if (!m_bShowHandled) { m_pImage = &m_pMVSDoc->m_imgHandled; m_bShowHandled = TRUE; } else { m_pImage = &m_pMVSDoc->m_image; m_bShowHandled = FALSE; } Invalidate(TRUE); break; default: break; } CScrollView::OnKeyDown(nChar, nRepCnt, nFlags); }
static LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CREATE: OnCreate(hwnd); break; #ifndef WINCE case WM_DROPFILES: OnDropFiles((HDROP)wParam); break; #endif case WM_COMMAND: OnCommand((HWND)lParam); break; case WM_HSCROLL: OnHScroll(hwnd, LOWORD(wParam), HIWORD(wParam)); break; case WM_SIZE: OnSize(hwnd); break; case WM_TIMER: OnTimer(hwnd); break; case WM_CLOSE: OnClose(hwnd); delete g_pPlayer; delete g_pGoodlayer; break; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, uMsg, wParam, lParam); }
LRESULT CMyScrollBar::OnMessageReflect(UINT uMsg, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (uMsg) { case WM_HSCROLL: return OnHScroll(wParam, lParam); } return 0L; }
LRESULT CView::WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DROPFILES: return OnDropFiles(wParam, lParam); case WM_HSCROLL: return OnHScroll(wParam, lParam); case WM_VSCROLL: return OnVScroll(wParam, lParam); case WM_WINDOWPOSCHANGED: return OnWindowPosChanged(wParam, lParam); } // Pass unhandled messages on for default processing return WndProcDefault(uMsg, wParam, lParam); }
/*============================================================================*/ LRESULT WScrollBars:: ScrollProc(UINT uMsg, WPARAM wParam, LPARAM lParam) /* Process the system message uMsg from the view's message loop. All scroll request messages pass through this procedure. Return 0 if the message was handled, -1 otherwise. *-----------------------------------------------------------------------------*/ { switch (uMsg) { case WM_VSCROLL: // received when the v-scrollbar is clicked if (OnVScroll(wParam, lParam) == 0) return 0; break; case WM_HSCROLL: // received when the v-scrollbar is clicked if (OnHScroll(wParam, lParam) == 0) return 0; break; case WM_KEYDOWN: // received when a key is pressed if (OnKeyScroll(wParam, lParam) == 0) return 0; break; case WM_MOUSEWHEEL: // rotation detected if (OnMouseWheel(wParam, lParam) == 0) return 0; break; } // message was not one for scrolling: notify caller no processing // took place return -1; }
void CConfigSound::bassFreq_valueChanged(int value) { OnHScroll(SB_HORZ,value,dynamic_cast<CScrollBar*>(GetDlgItem(IDC_BASS_FREQ))); }
void CConfigSound::bufLength_valueChanged(int value) { OnHScroll(SB_HORZ,value,dynamic_cast<CScrollBar*>(GetDlgItem(IDC_BUF_LENGTH))); }
INT_PTR CMessageForwarder::ForwardMessage(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { m_hwnd = hwnd; m_uMsg = uMsg; m_wParam = wParam; m_lParam = lParam; /* Private message? */ if(uMsg > WM_APP && uMsg < 0xBFFF) { return OnPrivateMessage(uMsg,wParam,lParam); } switch(uMsg) { case WM_INITDIALOG: return OnInitDialog(); break; case WM_CTLCOLORSTATIC: return OnCtlColorStatic(reinterpret_cast<HWND>(lParam), reinterpret_cast<HDC>(wParam)); break; case WM_CTLCOLOREDIT: return OnCtlColorEdit(reinterpret_cast<HWND>(lParam), reinterpret_cast<HDC>(wParam)); break; case WM_HSCROLL: return OnHScroll(reinterpret_cast<HWND>(lParam)); break; case WM_APPCOMMAND: return OnAppCommand(reinterpret_cast<HWND>(wParam), GET_APPCOMMAND_LPARAM(lParam), GET_DEVICE_LPARAM(lParam), GET_KEYSTATE_LPARAM(lParam)); break; case WM_TIMER: return OnTimer(static_cast<int>(wParam)); break; case WM_MBUTTONUP: return OnMButtonUp(&MAKEPOINTS(lParam)); break; case WM_COMMAND: return OnCommand(wParam,lParam); break; case WM_NOTIFY: return OnNotify(reinterpret_cast<LPNMHDR>(lParam)); break; case WM_GETMINMAXINFO: return OnGetMinMaxInfo(reinterpret_cast<LPMINMAXINFO>(lParam)); break; case WM_SIZE: return OnSize(static_cast<int>(wParam), LOWORD(lParam),HIWORD(lParam)); break; case WM_CLOSE: return OnClose(); break; case WM_DESTROY: return OnDestroy(); break; case WM_NCDESTROY: return OnNcDestroy(); break; case EM_SETSEL: OnEMSetSel(wParam,lParam); break; } return GetDefaultReturnValue(hwnd,uMsg,wParam,lParam); }
BOOL CQueuePropertiesDlg::OnInitDialog() { CSkinDialog::OnInitDialog(); SkinMe( _T("CQueuePropertiesDlg"), ID_VIEW_UPLOADS ); m_wndTransfersMin.SetRange( 1, 128 ); m_wndTransfersMax.SetRange( 1, 512 ); m_wndRotateTimeSpin.SetRange( 30, 15 * 60 ); CoolInterface.LoadIconsTo( m_gdiProtocols, protocolIDs ); m_wndProtocols.SetImageList( &m_gdiProtocols, LVSIL_SMALL ); m_wndProtocols.SetExtendedStyle( LVS_EX_CHECKBOXES ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 0, _T("HTTP"), 0, 0, PROTOCOL_HTTP, PROTOCOL_HTTP ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 1, _T("ED2K"), 0, 0, PROTOCOL_ED2K, PROTOCOL_ED2K ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 2, _T("DC++"), 0, 0, PROTOCOL_DC, PROTOCOL_DC ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 3, _T("BitTorrent"), 0, 0, PROTOCOL_BT, PROTOCOL_BT ); CSingleLock pLock( &UploadQueues.m_pSection, TRUE ); if ( ! UploadQueues.Check( m_pQueue ) ) { PostMessage( WM_CLOSE ); return TRUE; } m_sName = m_pQueue->m_sName; m_nFileStatusFlag = m_pQueue->m_nFileStateFlag; if ( m_nFileStatusFlag == CUploadQueue::ulqPartial ) { m_wndPartialOnly.SetCheck(BST_CHECKED); m_wndLibraryOnly.SetCheck(BST_UNCHECKED); m_wndBoth.SetCheck(BST_UNCHECKED); } else if ( m_nFileStatusFlag == CUploadQueue::ulqLibrary ) { m_wndPartialOnly.SetCheck(BST_UNCHECKED); m_wndLibraryOnly.SetCheck(BST_CHECKED); m_wndBoth.SetCheck(BST_UNCHECKED); } else { m_wndPartialOnly.SetCheck(BST_UNCHECKED); m_wndLibraryOnly.SetCheck(BST_UNCHECKED); m_wndBoth.SetCheck(BST_CHECKED); } m_bMinSize = m_pQueue->m_nMinSize > 0; m_sMinSize = Settings.SmartVolume( m_bMinSize ? m_pQueue->m_nMinSize : 0 ); m_bMaxSize = m_pQueue->m_nMaxSize < SIZE_UNKNOWN; m_sMaxSize = Settings.SmartVolume( m_bMaxSize ? m_pQueue->m_nMaxSize : 0 ); m_bMarked = ( ! m_pQueue->m_sShareTag.IsEmpty() ); m_sMarked = m_pQueue->m_sShareTag; m_bMatch = ( ! m_pQueue->m_sNameMatch.IsEmpty() ); m_sMatch = m_pQueue->m_sNameMatch; m_bProtocols = ( m_pQueue->m_nProtocols != 0 ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_HTTP) ) ) m_wndProtocols.SetItemState( 0, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_ED2K) ) ) m_wndProtocols.SetItemState( 1, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_DC) ) ) m_wndProtocols.SetItemState( 2, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_BT) ) ) m_wndProtocols.SetItemState( 3, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); m_bEnable = m_pQueue->m_bEnable || m_bEnableOverride; m_nCapacity = max( m_pQueue->m_nCapacity, m_pQueue->m_nMaxTransfers ); m_nTransfersMin = m_pQueue->m_nMinTransfers; m_nTransfersMax = m_pQueue->m_nMaxTransfers; m_bRotate = m_pQueue->m_bRotate; m_nRotateTime = m_pQueue->m_nRotateTime; m_bReward = m_pQueue->m_bRewardUploaders; //DWORD nTotal = Settings.Connection.OutSpeed * 1024 / 8; //DWORD nLimit = Settings.Bandwidth.Uploads; //if ( nLimit == 0 || nLimit > nTotal ) nLimit = nTotal; int nOtherPoints = (int)UploadQueues.GetTotalBandwidthPoints( !( m_pQueue->m_nProtocols & (1<<PROTOCOL_ED2K) ) ) - (int)m_pQueue->m_nBandwidthPoints; if ( nOtherPoints < 0 ) nOtherPoints = 0; m_wndBandwidthSlider.SetRange( 1, max( 100, nOtherPoints * 3 ) ); m_wndBandwidthSlider.SetPos( m_pQueue->m_nBandwidthPoints ); UpdateData( FALSE ); m_wndPartialOnly.EnableWindow(TRUE); m_wndLibraryOnly.EnableWindow(TRUE); m_wndBoth.EnableWindow(TRUE); m_wndMinSize.EnableWindow( m_bMinSize ); m_wndMaxSize.EnableWindow( m_bMaxSize ); m_wndMarked.EnableWindow( m_bMarked ); m_wndMatch.EnableWindow( m_bMatch ); m_wndProtocols.EnableWindow( m_bProtocols ); m_wndRotateTime.EnableWindow( m_bRotate ); m_wndRotateTimeSpin.EnableWindow( m_bRotate ); m_wndCapacity.SetRange32( static_cast< int >( m_nTransfersMax ), 4096 ); OnHScroll( 0, 0, NULL ); if ( Settings.General.GUIMode == GUI_BASIC && !( Settings.eDonkey.EnableAlways | Settings.eDonkey.Enabled ) ) { m_bProtocols = FALSE; m_wndProtocols.EnableWindow( FALSE ); m_wndProtocols.ShowWindow( FALSE ); (GetProtocolCheckbox())->EnableWindow( FALSE ); (GetProtocolCheckbox())->ShowWindow( FALSE ); } return TRUE; }
LRESULT CMultiLineEditCanvasWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; if ( uMsg == WM_CTLCOLOREDIT ) { ::DefWindowProc(m_hWnd, uMsg, wParam, lParam); HDC hDC = (HDC) wParam; ::SetTextColor(hDC,RGB(0,0,0)); ::SetBkColor(hDC, RGB(255,255,255)); lRes = (LRESULT) ::CreateSolidBrush(RGB(255,255,255)); } else if( uMsg == WM_COMMAND && GET_WM_COMMAND_CMD(wParam, lParam) == EN_CHANGE ) lRes = OnEditChanged(uMsg, wParam, lParam, bHandled); else if( uMsg == WM_COMMAND && GET_WM_COMMAND_CMD(wParam, lParam) == EN_HSCROLL ) lRes = OnHScroll(uMsg, wParam, lParam, bHandled); else if( uMsg == WM_COMMAND && GET_WM_COMMAND_CMD(wParam, lParam) == EN_VSCROLL ) lRes = OnVScroll(uMsg, wParam, lParam, bHandled); else bHandled = FALSE; if( !bHandled ) return CWindowWnd::HandleMessage(uMsg, wParam, lParam); return lRes; }
/*---------------------------------------------------------------------------------------------- This processes Windows messages on the window. In general, it normally calls the appropriate method on the edit class. ----------------------------------------------------------------------------------------------*/ bool TssEdit::FWndProc(uint wm, WPARAM wp, LPARAM lp, long & lnRet) { bool fRet; switch (wm) { case WM_GETDLGCODE: // This is essential when embedded in a dialog to tell the dialog manager that it // wants to get key strokes. (We could try DLGC_WANTALLKEYS but I think we would then // get the Tab and Return keys...we may get them anyway with this combination...) // The last value tells Windows that when tabbing to this control we should use // EM_SETSEL to select all the text. lnRet = DLGC_WANTCHARS | DLGC_WANTARROWS | DLGC_HASSETSEL; return true; case EM_GETLINE: // Use FW_EM_GETLINE. case EM_REPLACESEL: // Use FW_EM_REPLACESEL. // We don't support these methods. Use the replacement TsString versions instead. Assert(false); lnRet = LB_ERR; return true; // NOTE: DO NOT send this message to a TssEdit if you want the actual text. Send the // FW_EM_GETTEXT message instead. This method is required for TssEdit controls on a // dialog because Windows will send the message to the control anytime the user hits a // key. case WM_GETTEXT: { ITsStringPtr qtss; GetText(&qtss); const wchar * pwrgch; int cch; HRESULT hr; IgnoreHr(hr = qtss->LockText(&pwrgch, &cch)); if (FAILED(hr)) return true; StrApp str(pwrgch, cch); qtss->UnlockText(pwrgch); lnRet = Min(cch + 1, (int)wp); achar * psz = reinterpret_cast<achar *>(lp); StrCpyN(psz, str.Chars(), lnRet); } return true; // NOTE: You should be sending an FW_EM_SETTEXT message instead of this. case WM_SETTEXT: { achar * psz = reinterpret_cast<achar *>(lp); StrUni stu(psz); ITsStrFactoryPtr qtsf; qtsf.CreateInstance(CLSID_TsStrFactory); ITsStringPtr qtss; CheckHr(qtsf->MakeStringRgch(stu.Chars(), stu.Length(), m_wsBase, &qtss)); SetText(qtss); } return true; case EM_CANUNDO: case EM_CHARFROMPOS: case EM_EMPTYUNDOBUFFER: case EM_FMTLINES: case EM_GETFIRSTVISIBLELINE: case EM_GETHANDLE: case EM_GETMODIFY: case EM_GETPASSWORDCHAR: case EM_GETRECT: case EM_GETTHUMB: case EM_GETWORDBREAKPROC: case EM_POSFROMCHAR: case EM_SETHANDLE: case EM_SETMODIFY: case EM_SETPASSWORDCHAR: case EM_SETRECT: case EM_SETRECTNP: case EM_SETTABSTOPS: case EM_SETWORDBREAKPROC: case EM_UNDO: case WM_GETFONT: case WM_SETFONT: // We don't support these methods. Assert(false); lnRet = LB_ERR; return true; case EM_GETLIMITTEXT: lnRet = GetLimitText(); return true; case FW_EM_GETLINE: lnRet = GetLine(wp, (ITsString **)lp); return true; case EM_GETLINECOUNT: lnRet = GetLineCount(); return true; case EM_GETMARGINS: lnRet = GetMargins(); return true; case FW_EM_GETSTYLE: GetStyle((StrUni *)lp, (COLORREF *)wp); return true; case EM_GETSEL: lnRet = GetSel((int *)wp, (int *)lp); return true; case EM_LINEFROMCHAR: lnRet = LineFromChar(wp); return true; case EM_LINEINDEX: lnRet = LineIndex(wp); return true; case EM_LINELENGTH: lnRet = LineLength(wp); return true; case EM_LINESCROLL: LineScroll(lp, wp); return true; case FW_EM_REPLACESEL: ReplaceSel((ITsString *)lp); return true; case EM_SCROLL: lnRet = ::SendMessage(m_hwnd, WM_VSCROLL, LOWORD(wp), 0); return true; case EM_SCROLLCARET: ScrollCaret(); return true; case EM_SETLIMITTEXT: SetLimitText(wp); return true; case EM_SETMARGINS: SetMargins(wp, LOWORD(lp), HIWORD(lp)); return true; case EM_SETREADONLY: SetReadOnly(wp); return true; case EM_SETSEL: SetSel(wp, lp); return true; case FW_EM_SETSTYLE: SetStyle((StrUni *)lp, (COLORREF)wp); return true; case WM_GETTEXTLENGTH: lnRet = GetTextLength(); return true; case FW_EM_GETTEXT: GetText((ITsString **)lp); return true; case FW_EM_SETTEXT: SetText((ITsString *)lp); return true; case WM_COPY: Copy(); return true; case WM_CUT: Cut(); return true; case WM_PASTE: Paste(); return true; case WM_HSCROLL: if (!OnHScroll(LOWORD(wp), HIWORD(wp), (HWND)lp)) { ::SendMessage(::GetParent(m_hwnd), WM_COMMAND, MAKEWPARAM(::GetDlgCtrlID(m_hwnd), EN_HSCROLL), (LPARAM)m_hwnd); } return true; case WM_VSCROLL: if (!OnVScroll(LOWORD(wp), HIWORD(wp), (HWND)lp)) { ::SendMessage(::GetParent(m_hwnd), WM_COMMAND, MAKEWPARAM(::GetDlgCtrlID(m_hwnd), EN_VSCROLL), (LPARAM)m_hwnd); } return true; case WM_KILLFOCUS: if (!OnKillFocus((HWND)wp)) { ::SendMessage(::GetParent(m_hwnd), WM_COMMAND, MAKEWPARAM(::GetDlgCtrlID(m_hwnd), EN_KILLFOCUS), (LPARAM)m_hwnd); } return true; case WM_SETFOCUS: if (!OnSetFocus((HWND)wp)) { ::SendMessage(::GetParent(m_hwnd), WM_COMMAND, MAKEWPARAM(::GetDlgCtrlID(m_hwnd), EN_SETFOCUS), (LPARAM)m_hwnd); } return true; // Calling SuperClass here causes two OnSetFocus calls for each OnKillFocus. //return SuperClass::FWndProc(wm, wp, lp, lnRet); case WM_CHAR: fRet = false; if (wp == VK_TAB) // '\t' { fRet = OnCharTab(); } else if (wp == VK_RETURN) // '\r' { fRet = OnCharEnter(); } else if (wp == VK_ESCAPE) // '\33' { fRet = OnCharEscape(); } if (fRet) return fRet; else return SuperClass::FWndProc(wm, wp, lp, lnRet); case WM_LBUTTONDOWN: case WM_LBUTTONUP: case WM_MBUTTONDOWN: case WM_MBUTTONUP: case WM_RBUTTONDOWN: case WM_RBUTTONUP: case WM_MOUSEMOVE: if (HasToolTip()) { // Notify the tooltip belonging to the parent toolbar of the mouse message. Assert(m_hwndToolTip); MSG msg; msg.hwnd = m_hwnd; // ::GetParent(m_hwnd); msg.message = wm; msg.wParam = wp; msg.lParam = lp; ::SendMessage(m_hwndToolTip, TTM_RELAYEVENT, 0, (LPARAM)&msg); } break; default: break; } return SuperClass::FWndProc(wm, wp, lp, lnRet); }
void CConfigSound::trebleDamp_valueChanged(int value) { OnHScroll(SB_HORZ,value,dynamic_cast<CScrollBar*>(GetDlgItem(IDC_TREBLE_DAMP))); }
LRESULT CPredView::OnFindCompound(WPARAM wParam, LPARAM lParam) { //lParam=0 means the message is sent from "Find" dialog lParam=1 means the message is sent from LButtonDown without CTRL pressed. //lParam=2 means the message is sent from LBUttonDown and CTRL is pressed CFCCDoc* pDoc=(CFCCDoc*)GetDocument(); if(pDoc->list_CompoundTest.IsEmpty()) return LRESULT(); bool flag=false; if(wParam==FINDNEXT) { POSITION pos; CCompound* pTmpCompound=NULL; bool bFound=false; pos=pDoc->list_CompoundTest.GetTailPosition(); while(pos) { pTmpCompound=(CCompound*)pDoc->list_CompoundTest.GetAt(pos); if(pTmpCompound->bSelect) break; pDoc->list_CompoundTest.GetPrev(pos); } if(pos) pDoc->list_CompoundTest.GetNext(pos); if(!pos) pos=pDoc->list_CompoundTest.GetHeadPosition(); while(pos) { pTmpCompound=(CCompound*)pDoc->list_CompoundTest.GetAt(pos); if(pTmpCompound->strCompoundName.Find(dlg.strMessage)>=0) { bFound=true; break; } pDoc->list_CompoundTest.GetNext(pos); } if(bFound) { int index=1; POSITION posa=pDoc->list_CompoundTest.GetHeadPosition(); while(posa) { if(posa==pos) { break; } pDoc->list_CompoundTest.GetNext(posa); index++; } dlg.nIndex=index; flag=true; pDoc->strMessage="Matching item is found."; pDoc->MessageCenter(IDS_MESSAGE_FINDCOMPOUND); } else { pDoc->strMessage="No matching item is found."; pDoc->MessageCenter(IDS_MESSAGE_FINDCOMPOUND); } } if(wParam==FINDPREV) { POSITION pos; CCompound* pTmpCompound=NULL; bool bFound=false; pos=pDoc->list_CompoundTest.GetHeadPosition(); while(pos) { pTmpCompound=(CCompound*)pDoc->list_CompoundTest.GetAt(pos); if(pTmpCompound->bSelect) break; pDoc->list_CompoundTest.GetNext(pos); } if(pos) pDoc->list_CompoundTest.GetPrev(pos); if(!pos) pos=pDoc->list_CompoundTest.GetHeadPosition(); while(pos) { pTmpCompound=(CCompound*)pDoc->list_CompoundTest.GetAt(pos); if(pTmpCompound->strCompoundName.Find(dlg.strMessage)>=0) { bFound=true; break; } pDoc->list_CompoundTest.GetPrev(pos); } if(bFound) { int index=1; POSITION posa=pDoc->list_CompoundTest.GetHeadPosition(); while(posa) { if(posa==pos) { break; } pDoc->list_CompoundTest.GetNext(posa); index++; } dlg.nIndex=index; flag=true; pDoc->strMessage="Matching item is found."; pDoc->MessageCenter(IDS_MESSAGE_FINDCOMPOUND); } else { pDoc->strMessage="No matching item is found."; pDoc->MessageCenter(IDS_MESSAGE_FINDCOMPOUND); } } if(wParam==GOTOPAGE) { if(dlg.nIndex<1) dlg.nIndex=1; if(dlg.nIndex>wnd_navi.nTotalPage) dlg.nIndex=wnd_navi.nTotalPage; wnd_navi.nCurPage=dlg.nIndex; wnd_navi.Invalidate(); Invalidate(); pDoc->strMessage.Format("Page No. %d",dlg.nIndex); pDoc->MessageCenter(IDS_MESSAGE_FINDCOMPOUND); } if(wParam==GOTOLINE || flag) { int curCol; int curRow; int subLine; POSITION pos; int nTotalLine=pDoc->list_CompoundTest.GetCount(); if(dlg.nIndex<1) dlg.nIndex=1; if(dlg.nIndex>nTotalLine) dlg.nIndex=nTotalLine; wnd_navi.nCurPage=(dlg.nIndex-1)/(nCol*nItemPage)+1; subLine=dlg.nIndex-(wnd_navi.nCurPage-1)*(nCol*nItemPage); curCol=(subLine-1)/nItemPage+1; curRow=subLine-(curCol-1)*nItemPage; if(lParam==0) { ScrollToPosition(CPoint((curCol-1)*(80+widthCompoundName+widthYhat+widthClassName+widthID),(curRow-1)*20)); OnHScroll(SB_LINELEFT,0,0); OnHScroll(SB_LINERIGHT,0,0); OnVScroll(SB_LINEUP,0,0); OnVScroll(SB_LINEDOWN,0,0); wnd_navi.SetWindowPos(&CWnd::wndTop,1,1,0,0,SWP_NOSIZE|SWP_SHOWWINDOW); wnd_navi.Invalidate(); pDoc->strMessage.Format("Line No. %d",dlg.nIndex); pDoc->MessageCenter(IDS_MESSAGE_FINDCOMPOUND); } if(lParam==0 || lParam==1) { pos=pDoc->list_CompoundTest.GetHeadPosition(); while(pos) { pCompound=pDoc->list_CompoundTest.GetNext(pos); ((CCompound*)pCompound)->bSelect=false; } } /*pos=pDoc->list_CompoundTest.Find(pCompound); if(pos) ((CCompound*)pCompound)->bSelect=false;*/ pos=pDoc->list_CompoundTest.FindIndex(dlg.nIndex-1); pCompound=pDoc->list_CompoundTest.GetAt(pos); ((CCompound*)pCompound)->bSelect=true; if(wnd_navi.nCurPage==wnd_navi.nTotalPage) Invalidate(1); else Invalidate(0); } return LRESULT(); }
bool TextViewBase::HandleWndProc(UINT msg, WPARAM wParam, LPARAM lParam, LONG *pResult) { HIMC hIMC = NULL; switch (msg) { // Draw contents of TextView whenever window needs updating case WM_ERASEBKGND: *pResult = 1; return true; // Need to custom-draw the border for XP/Vista themes case WM_NCPAINT: *pResult = OnNcPaint((HRGN)wParam); return true; case WM_PAINT: *pResult = OnPaint(); return true; // Set a new font case WM_SETFONT: *pResult = OnSetFont((HFONT)wParam); return true; case WM_SIZE: *pResult = OnSize(wParam, LOWORD(lParam), HIWORD(lParam)); return true; case WM_VSCROLL: *pResult = OnVScroll(LOWORD(wParam), HIWORD(wParam)); return true; case WM_HSCROLL: *pResult = OnHScroll(LOWORD(wParam), HIWORD(wParam)); return true; case WM_MOUSEACTIVATE: *pResult = OnMouseActivate((HWND)wParam, LOWORD(lParam), HIWORD(lParam)); return true; //case WM_CONTEXTMENU: // return OnContextMenu((HWND)wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); case WM_MOUSEWHEEL: if (IsKeyPressed(VK_CONTROL)) return false; else *pResult = OnMouseWheel((short)HIWORD(wParam)); return true; case WM_SETFOCUS: *pResult = OnSetFocus((HWND)wParam); return true; case WM_KILLFOCUS: *pResult = OnKillFocus((HWND)wParam); return true; // make sure we get arrow-keys, enter, tab, etc when hosted inside a dialog case WM_GETDLGCODE: *pResult = DLGC_WANTALLKEYS;//DLGC_WANTMESSAGE;//DLGC_WANTARROWS; return true; case WM_LBUTTONDOWN: *pResult = OnLButtonDown(wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); return true; case WM_LBUTTONUP: *pResult = OnLButtonUp(wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); return true; case WM_LBUTTONDBLCLK: *pResult = OnLButtonDblClick(wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); return true; case WM_RBUTTONDOWN: *pResult = OnRButtonDown(wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); return true; case WM_MOUSEMOVE: *pResult = OnMouseMove(wParam, (short)LOWORD(lParam), (short)HIWORD(lParam)); return true; case WM_KEYDOWN: *pResult = OnKeyDown(wParam, lParam); return true; case WM_UNDO: case TXM_UNDO: case EM_UNDO: *pResult = Undo(); return true; case TXM_REDO : case EM_REDO: *pResult = Redo(); return true; case TXM_CANUNDO: case EM_CANUNDO: *pResult = CanUndo(); return true; case TXM_CANREDO: case EM_CANREDO: *pResult = CanRedo(); return true; case WM_CHAR: OutputDebugString(L"WM_CHAR\n"); *pResult = OnChar(wParam, lParam); return true; case WM_SETCURSOR: if (LOWORD(lParam) == HTCLIENT) { *pResult = TRUE; return true; } else return false; case WM_COPY: *pResult = OnCopy(); return true; case WM_CUT: *pResult = OnCut(); return true; case WM_PASTE: *pResult = OnPaste(); return true; case WM_CLEAR: *pResult = OnClear(); return true; case WM_GETTEXT: *pResult = GetText((WCHAR*)lParam, 0, (ULONG)wParam); return true; case WM_SETTEXT: *pResult = OnSetText((WCHAR*)lParam, lstrlen((WCHAR*)lParam)); return true; //case TXM_SETTEXT: // { // ClearFile(); // EnterText((WCHAR*)lParam, (LONG)wParam); // return 0; // } case WM_TIMER: *pResult = OnTimer(wParam); return true; case WM_IME_STARTCOMPOSITION: OutputDebugString(L"WM_IME_STARTCOMPOSITION\n"); *pResult = OnStartComposition(wParam, lParam); return true; //return DefWindowProc(m_hWnd, WM_IME_STARTCOMPOSITION, wParam, lParam); case WM_IME_COMPOSITION: OutputDebugString(L"WM_IME_COMPOSITION\n"); *pResult = DefWindowProc(m_hWnd, WM_IME_COMPOSITION, wParam, lParam); return true; //return OnComposition(wParam, lParam); case WM_IME_ENDCOMPOSITION: OutputDebugString(L"WM_IME_ENDCOMPOSITION\n"); *pResult = DefWindowProc(m_hWnd, WM_IME_ENDCOMPOSITION, wParam, lParam); return true; //return OnEndComposition(wParam, lParam); case WM_IME_CHAR: OutputDebugString(L"WM_IME_CHAR\n"); *pResult = DefWindowProc(m_hWnd, WM_IME_CHAR, wParam, lParam); return true; case WM_IME_CONTROL: OutputDebugString(L"WM_IME_CONTROL\n"); *pResult = DefWindowProc(m_hWnd, WM_IME_CONTROL, wParam, lParam); return true; case WM_IME_NOTIFY: OutputDebugString(L"WM_IME_NOTIFY\n"); *pResult = DefWindowProc(m_hWnd, WM_IME_NOTIFY, wParam, lParam); return true; //return HandleImeNotify(wParam, lParam); case WM_IME_REQUEST: OutputDebugString(L"WM_IME_REQUEST\n"); *pResult = DefWindowProc(m_hWnd, WM_IME_REQUEST, wParam, lParam); return true; case WM_INPUTLANGCHANGE: *pResult = OnInputLanChange(wParam, lParam); return true; case TXM_PRINT: *pResult = OnPrint((HDC)wParam, (int)lParam); return true; // case TXM_OPENFILE: *pResult = OpenFile((TCHAR *)lParam); return true; case TXM_SAVEFILE: *pResult = SaveFile((TCHAR *)lParam); return true; case TXM_IMPORTFILE: *pResult = ImportFile((TCHAR *)lParam, (int)wParam); return true; case TXM_EXPORTFILE: { int convertype = LOWORD(wParam); int utf_type = HIWORD(wParam); *pResult = ExportFile((TCHAR *)lParam, convertype, utf_type); return true; } case TXM_CLEAR: *pResult = ClearFile(); return true; case TXM_GETFORMAT: *pResult = m_pTextDoc->getformat(); return true; case TXM_SETFORMAT: *pResult = m_pTextDoc->setformat((int)wParam); return true; case TXM_GETSELSIZE: *pResult = SelectionSize(); return true; case TXM_SETSELALL: *pResult = SelectAll(); return true; case TXM_GETCURPOS: *pResult = m_CurrentCharPos.get(); return true; case TXM_GETCURLINE_D: *pResult = m_nCurrentLine_D; return true; case TXM_GETCURLINE_V: *pResult = OnGetCurLineV(); return true; case TXM_GETCURCOL: *pResult = OnGetCurCol(); return true; case TXM_GETEDITMODE: *pResult = m_nEditMode; return true; case TXM_SETEDITMODE: lParam = m_nEditMode; m_nEditMode = wParam; *pResult = lParam; return true; case TXM_FIND_INIT: FindInitial((WCHAR*)lParam); *pResult = 0; return true; case TXM_FIND: { BOOL m = (BOOL)LOWORD(wParam); BOOL b = (BOOL)HIWORD(wParam); //FindText() if (b) *pResult = FindBackward(m, NULL); else *pResult = FindForward(m, NULL); return true; } case TXM_FIND_TEXT: { FIND_OPTION* fp = (FIND_OPTION*)(lParam); *pResult = Find_Text(fp->text, lstrlen(fp->text), fp->fBackward, fp->fMachCase, fp->fWarp); return true; } case TXM_REPLACE_TEXT: { *pResult = Replace_Text((REPLACE_OPTION*)(lParam)); return true; } case TXM_SETRESMODULE: { *pResult = OnSetResModule((HMODULE)lParam); return true; } case WM_GETTEXTLENGTH: case TXM_GETTEXTLEN: { *pResult = OnGetTextLen(); return true; } case TXM_REPLACE: { BOOL ra = (BOOL)LOWORD(wParam); WORD mb = (WORD)HIWORD(wParam); BOOL m = (BOOL)LOBYTE(mb); BOOL b = (BOOL)HIBYTE(mb); if (b) *pResult = FindBackward(m, (WCHAR*)lParam, ra); else *pResult = FindForward(m, (WCHAR*)lParam, ra); return true; } case TXM_FIND_GETTEXTLENGTH: *pResult = m_pFndIterator->find_text_length(); return true; case TXM_GETSELSTART: *pResult = m_nSelectionStart; return true; case TXM_GETSELEND: *pResult = m_nSelectionEnd; return true; case TXM_GETSELTEXT: *pResult = OnGetSelText((WCHAR*)wParam, ULONG(lParam)); return true; case TXM_SETTESTERMODE: OnTesterMode((bool)wParam); *pResult = 0; return true; case TXM_SETCONTEXTMENU: m_hUserMenu = (HMENU)wParam; *pResult = 0; return true; case TXM_STATISTIC: *pResult = OnDoStatistic((STATISTIC*)(lParam)); return true; case TXM_GETCONVERTTYPES: *pResult = OnGetConvertTypes((convert_type*)(lParam)); return true; case EM_GETSEL: *pResult = OnMsg_EM_GETSEL((ULONG*)wParam, (ULONG*)lParam); return true; case EM_SETSEL: *pResult = OnMsg_EM_SETSEL((LONG)wParam, (LONG)lParam); return true; default: return false; } }
void CModulePropertiesDlg::channels_valueChanged(int value) { OnHScroll(SB_HORZ,value,dynamic_cast<CScrollBar*>(GetDlgItem(IDC_CHANNELS))); }
BOOL CQueuePropertiesDlg::OnInitDialog() { CSkinDialog::OnInitDialog(); SkinMe( _T("CQueuePropertiesDlg"), ID_VIEW_UPLOADS ); m_wndTransfersMin.SetRange( 1, 128 ); m_wndTransfersMax.SetRange( 1, 512 ); m_wndRotateTimeSpin.SetRange( 30, 15 * 60 ); CBitmap bmProtocols; bmProtocols.LoadBitmap( IDB_PROTOCOLS ); if ( theApp.m_bRTL ) bmProtocols.m_hObject = CreateMirroredBitmap( (HBITMAP)bmProtocols.m_hObject ); m_gdiProtocols.Create( 16, 16, ILC_COLOR32|ILC_MASK, 7, 1 ); m_gdiProtocols.Add( &bmProtocols, RGB( 0, 255, 0 ) ); m_wndProtocols.SendMessage( LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_CHECKBOXES, LVS_EX_CHECKBOXES ); m_wndProtocols.SetImageList( &m_gdiProtocols, LVSIL_SMALL ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 0, _T("HTTP"), 0, 0, PROTOCOL_HTTP, PROTOCOL_HTTP ); m_wndProtocols.InsertItem( LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, 1, _T("ED2K"), 0, 0, PROTOCOL_ED2K, PROTOCOL_ED2K ); CSingleLock pLock( &UploadQueues.m_pSection, TRUE ); if ( ! UploadQueues.Check( m_pQueue ) ) { PostMessage( WM_CLOSE ); return TRUE; } m_sName = m_pQueue->m_sName; m_bPartial = m_pQueue->m_bPartial; if ( m_bMinSize = ( m_pQueue->m_nMinSize > 0 ) ) { m_sMinSize = Settings.SmartVolume( m_pQueue->m_nMinSize, FALSE ); } else { m_sMinSize = Settings.SmartVolume( 0, FALSE ); } if ( m_bMaxSize = ( m_pQueue->m_nMaxSize < SIZE_UNKNOWN ) ) { m_sMaxSize = Settings.SmartVolume( m_pQueue->m_nMaxSize, FALSE ); } else { m_sMaxSize = Settings.SmartVolume( 0, FALSE ); } m_bMarked = ( m_pQueue->m_sShareTag.GetLength() > 0 ); m_sMarked = m_pQueue->m_sShareTag; m_bMatch = ( m_pQueue->m_sNameMatch.GetLength() > 0 ); m_sMatch = m_pQueue->m_sNameMatch; m_bProtocols = ( m_pQueue->m_nProtocols != 0 ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_HTTP) ) ) m_wndProtocols.SetItemState( 0, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); if ( ! m_bProtocols || ( m_pQueue->m_nProtocols & (1<<PROTOCOL_ED2K) ) ) m_wndProtocols.SetItemState( 1, INDEXTOSTATEIMAGEMASK(2), LVIS_STATEIMAGEMASK ); m_bEnable = m_pQueue->m_bEnable || m_bEnableOverride; m_nCapacity = max( m_pQueue->m_nCapacity, m_pQueue->m_nMaxTransfers ); m_nTransfersMin = m_pQueue->m_nMinTransfers; m_nTransfersMax = m_pQueue->m_nMaxTransfers; m_bRotate = m_pQueue->m_bRotate; m_nRotateTime = m_pQueue->m_nRotateTime; m_bReward = m_pQueue->m_bRewardUploaders; DWORD nTotal = Settings.Connection.OutSpeed * 1024 / 8; DWORD nLimit = Settings.Bandwidth.Uploads; if ( nLimit == 0 || nLimit > nTotal ) nLimit = nTotal; int nOtherPoints = UploadQueues.GetTotalBandwidthPoints( !( m_pQueue->m_nProtocols & (1<<PROTOCOL_ED2K) ) ) - m_pQueue->m_nBandwidthPoints; if ( nOtherPoints < 0 ) nOtherPoints = 0; m_wndBandwidthSlider.SetRange( 1, max( 100, nOtherPoints * 3 ) ); m_wndBandwidthSlider.SetPos( m_pQueue->m_nBandwidthPoints ); UpdateData( FALSE ); m_wndMinSize.EnableWindow( m_bMinSize ); m_wndMaxSize.EnableWindow( m_bMaxSize ); m_wndMarked.EnableWindow( m_bMarked ); m_wndMatch.EnableWindow( m_bMatch ); m_wndProtocols.EnableWindow( m_bProtocols ); m_wndRotateTime.EnableWindow( m_bRotate ); m_wndRotateTimeSpin.EnableWindow( m_bRotate ); m_wndCapacity.SetRange32( m_nTransfersMax, 4096 ); OnHScroll( 0, 0, NULL ); if ( Settings.General.GUIMode == GUI_BASIC ) { if ( !( Settings.eDonkey.EnableAlways | Settings.eDonkey.EnableToday ) ) { m_bProtocols = FALSE; m_wndProtocols.EnableWindow( FALSE ); m_wndProtocols.ShowWindow( FALSE ); (GetProtocolCheckbox())->EnableWindow( FALSE ); (GetProtocolCheckbox())->ShowWindow( FALSE ); } } return TRUE; }
BOOL tomEdit::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT * pResult) { BOOL consumed = FALSE ; switch (message) { case WM_SETCURSOR : { POINT pt ; ::GetCursorPos(&pt) ; ::ScreenToClient(GetCenter()->GetHost(), &pt) ; //RECT bound_in_host ; //GetRectInHost(&bound_in_host) ; RECT client_bound ; GetClientBound(client_bound) ; if (::PtInRect(&client_bound, pt)) { HDC hdc = ::GetDC(GetCenter()->GetHost()) ; m_services->OnTxSetCursor( DVASPECT_CONTENT, -1, NULL, NULL, hdc, NULL, //&bound_in_host, NULL, pt.x, pt.y ); ::ReleaseDC(GetCenter()->GetHost(), hdc) ; consumed = TRUE ; } } break ; case WM_MOUSEWHEEL : { UINT flags = LOWORD(wParam) ; short zDelta = HIWORD(wParam) ; if (flags == 0) { // 1. 缺省的滚轮操作 /*if (zDelta > 0) { m_services->TxSendMessage(WM_VSCROLL, SB_LINEUP, 0, pResult) ; } else { m_services->TxSendMessage(WM_VSCROLL, SB_LINEDOWN, 0, pResult) ; }*/ // 2. 平滑滚动,即每次滚动固定像素,而不是滚动一整行 // 获得当前位置 LONG min, max, pos, page ; BOOL enable = FALSE ; m_services->TxGetVScroll(&min, &max, &pos, &page, &enable) ; LONG line_height = page / 4 ; if (enable) { if (zDelta > 0) { if (pos <= line_height) pos = 0 ; else pos -= line_height ; } else { pos += line_height ; if (pos >= max) pos = max - 1 ; } WPARAM cmb_wParam = MAKEWPARAM(SB_THUMBPOSITION, pos) ; m_services->TxSendMessage(WM_VSCROLL, cmb_wParam, 0, NULL) ; } } else { /*hr = */m_services->TxSendMessage(WM_MOUSEWHEEL, wParam, lParam, pResult) ; } consumed = TRUE ; } break ; case WM_VSCROLL : { OnVScroll((LPSCROLLMSGINFO)wParam, (WLScrollBar*)lParam) ; consumed = TRUE ; } break ; case WM_HSCROLL : { OnHScroll((LPSCROLLMSGINFO)wParam, (WLScrollBar*)lParam) ; consumed = TRUE ; } break ; // 允许输入字符,才能允许启用输入法 case WM_GETDLGCODE : { *pResult |= (DLGC_WANTCHARS | DLGC_HASSETSEL) ; consumed = TRUE ; } break ; case WM_TIMER : { if (!m_caret.OnTimer(wParam)) m_services->TxSendMessage(message, wParam, lParam, pResult) ; consumed = TRUE ; } break ; case WM_KILLFOCUS : { m_caret.DestroyCaret() ; m_services->TxSendMessage(message, wParam, lParam, pResult) ; consumed = TRUE ; } break ; default : if (S_FALSE != (m_services->TxSendMessage(message, wParam, lParam, pResult))) { consumed = TRUE ; } } return consumed ; }
DWORD Window::WndProc( UINT message, WPARAM wParam, LPARAM lParam ) { switch (message) { case WM_CLOSE: OnClose(); return 0; case WM_DESTROY: OnDestroy(); return 0; case WM_PAINT: PAINTSTRUCT paint; BeginPaint(GetHWND(), &paint); OnPaint(paint.hdc, paint.rcPaint); EndPaint(GetHWND(), &paint); return 0; case WM_MOVE: case WM_SIZE: UpdateRect(); RectChanged(); break; case WM_TIMER: if (OnTimer()) return 0; break; case WM_HSCROLL: if (OnHScroll((int)LOWORD(wParam), (short int) HIWORD(wParam), (HWND)lParam)) return 0; break; case WM_VSCROLL: if (OnVScroll((int)LOWORD(wParam), (short int) HIWORD(wParam), (HWND)lParam)) return 0; break; case WM_COMMAND: if (OnCommand(wParam, lParam)) return 0; break; case WM_SYSCOMMAND: if (OnSysCommand(wParam & 0xFFF0, MakePoint(lParam))) return 0; break; case WM_ACTIVATE: if (OnActivate(LOWORD(wParam), HIWORD(wParam) != 0)) return 0; break; case WM_ACTIVATEAPP: if (OnActivateApp(wParam != 0)) return 0; break; case WM_CHAR: { KeyState ks; ks.vk = wParam; ks.bShift = (GetKeyState(VK_SHIFT) & 0x8000) != 0; ks.bControl = (GetKeyState(VK_CONTROL) & 0x8000) != 0; ks.countRepeat = LOWORD(lParam); return !OnChar(ks); } break; case WM_KEYDOWN: case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: { KeyState ks; ks.vk = wParam; ks.bShift = (GetKeyState(VK_SHIFT) & 0x8000) != 0; ks.bControl = (GetKeyState(VK_CONTROL) & 0x8000) != 0; ks.bAlt = (message == WM_SYSKEYUP || message == WM_SYSKEYDOWN) && (lParam & (1 << 29)); // See help for WM_SYSKEYDOWN ks.bDown = (message == WM_KEYDOWN || message == WM_SYSKEYDOWN); ks.countRepeat = LOWORD(lParam); return !OnKey(ks); } break; case WM_MOUSEWHEEL: //imago 8/13/09 case WM_XBUTTONDOWN: case WM_XBUTTONUP: case WM_MOUSEHOVER: // imago --^ case WM_LBUTTONDOWN: case WM_RBUTTONDOWN: case WM_MBUTTONDOWN: case WM_LBUTTONUP: case WM_RBUTTONUP: case WM_MBUTTONUP: case WM_MOUSEMOVE: case WM_MOUSELEAVE: case WM_NCMOUSEHOVER: //Imago 7/10 case WM_NCMOUSELEAVE: //<--^ { WinPoint pointMouse; if (message != WM_MOUSEWHEEL) { WinPoint point(MakePoint(lParam)); pointMouse = WinPoint(point.X(),m_rectClient.YSize() - 1 - point.Y()); m_lastPointMouse = pointMouse; } else { pointMouse = m_lastPointMouse; } // // Handle mouse leave // if (message == WM_MOUSELEAVE || message == WM_NCMOUSELEAVE) { if (m_bMouseInside) { m_bMouseInside = false; OnMouseMessage(WM_MOUSELEAVE, 0, pointMouse); } } else { // // Handle mouse enter // if (!m_bMouseInside && (message != WM_NCMOUSEHOVER && message != WM_MOUSEHOVER && message != 0)) { m_bMouseInside = true; OnMouseMessage(0, 0, pointMouse); if (s_pfnTrackMouseEvent) { TRACKMOUSEEVENT tme; tme.cbSize = sizeof(TRACKMOUSEEVENT); tme.dwFlags = TME_LEAVE; tme.hwndTrack = m_hwnd; tme.dwHoverTime = HOVER_DEFAULT; ZVerify(s_pfnTrackMouseEvent(&tme)); } } // // Handle the mouse message // DWORD ret = OnMouseMessage(message, wParam, pointMouse) ? 0 : 1; } return true; } break; case WM_SETCURSOR: // // use the custom cursor for the client area // if (LOWORD(lParam) == HTCLIENT) { ::SetCursor(NULL); } else { ::SetCursor(GetCursor()); } break; case WM_WINDOWPOSCHANGING: if (OnWindowPosChanging((LPWINDOWPOS)lParam)) return 0; break; } return m_pfnWndProc(m_hwnd, message, wParam, lParam); }
void CConfigSound::volume_valueChanged(int value) { OnHScroll(SB_HORZ,value,dynamic_cast<CScrollBar*>(GetDlgItem(IDC_VOLUME))); }
LRESULT COXScrollTipOwner::ScrollTipOwnerProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) // --- In : hWnd : // uMsg : // wParam : // lParam : // --- Out : // --- Returns : The result of the message // --- Effect : This is the member function called by the windows procedure of the // COXScrollTipOwner object { #if defined (_WINDLL) #if defined (_AFXDLL) AFX_MANAGE_STATE(AfxGetAppModuleState()); #else AFX_MANAGE_STATE(AfxGetStaticModuleState()); #endif #endif ASSERT_VALID(this); ASSERT(hWnd == m_hWnd); BOOL bHandled = FALSE; // Let the correct function handle the message switch (uMsg) { case WM_HSCROLL: { UINT nSBCode = LOWORD(wParam); int nPos = (signed short)HIWORD(wParam); HWND hScrollBar = (HWND)lParam; bHandled = OnHScroll(nSBCode, nPos, hScrollBar); break; } case WM_VSCROLL: { UINT nSBCode = LOWORD(wParam); int nPos = (signed short)HIWORD(wParam); HWND hScrollBar = (HWND)lParam; bHandled = OnVScroll(nSBCode, nPos, hScrollBar); break; } default: // Just fall through break; } if (bHandled) // ... Return that we handled the message return 0; else { // ... Let the next window procedure handle the other messages if (m_pNextHandler != NULL) { // Let the next in the chain handle it ASSERT_VALID(m_pNextHandler); return m_pNextHandler->ScrollTipOwnerProc(hWnd, uMsg, wParam, lParam); } else { // Let the original message procedure handle it ASSERT(m_pfnSuper != NULL); ASSERT(m_pfnSuper != GlobalScrollTipOwnerProc); return CallWindowProc(m_pfnSuper, hWnd, uMsg, wParam, lParam); } } }