Changeset 2204 for trunk/src/user32/scroll.cpp
- Timestamp:
- Dec 26, 1999, 6:30:20 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/scroll.cpp
r2093 r2204 1 /* $Id: scroll.cpp,v 1.2 8 1999-12-16 16:53:57 cbratschi Exp $ */1 /* $Id: scroll.cpp,v 1.29 1999-12-26 17:30:17 cbratschi Exp $ */ 2 2 /* 3 3 * Scrollbar control … … 732 732 if (!(dwStyle & SBS_SIZEGRIP)) return res; 733 733 734 if (msg == WM_SETCURSOR) 735 { 736 RECT rect; 737 738 SCROLL_GetSizeBox(hwnd,dwStyle,&rect); 739 GetCursorPos(&pt); 740 ScreenToClient(hwnd,&pt); 741 742 if (PtInRect(&rect,pt)) 743 { 744 SetCursor(LoadCursorA(0,IDC_SIZENWSEA)); 745 return TRUE; 746 } 747 748 return DefWindowProcA(hwnd,WM_SETCURSOR,wParam,lParam); 749 } else if (msg == WM_LBUTTONDOWN) 734 if (msg == WM_NCHITTEST) 750 735 { 751 736 if (dwStyle & SBS_SIZEGRIP) … … 755 740 pt.x = (SHORT)LOWORD(lParam); 756 741 pt.y = (SHORT)HIWORD(lParam); 742 ScreenToClient(hwnd,&pt); 757 743 SCROLL_GetSizeBox(hwnd,dwStyle,&rect); 758 744 if (PtInRect(&rect,pt)) 759 745 { 760 HWND hwndFrame; 761 762 Win32BaseWindow *win32wnd = Win32BaseWindow::GetWindowFromHandle(hwnd); 763 if (!win32wnd) return res; 764 hwndFrame = OSLibWinQueryWindow(win32wnd->getOS2WindowHandle(),QWOS_OWNER); 765 win32wnd = Win32BaseWindow::GetWindowFromOS2FrameHandle(hwndFrame); 766 if (!win32wnd) return res; 767 FrameTrackFrame(win32wnd,dwStyle & SBS_SIZEBOXTOPLEFTALIGN); 746 if (dwStyle & SBS_SIZEBOXTOPLEFTALIGN) 747 return HTTOPLEFT; 748 else 749 return HTBOTTOMRIGHT; 768 750 } 769 751 } 752 return DefWindowProcA(hwnd,WM_NCHITTEST,wParam,lParam); 753 } else if (msg == WM_LBUTTONDOWN) 754 { 755 return DefWindowProcA(hwnd,WM_LBUTTONDOWN,wParam,lParam); 770 756 } 771 757 … … 774 760 } 775 761 776 if (msg == WM_SETCURSOR) return DefWindowProcA(hwnd,WM_SETCURSOR,wParam,lParam); 777 if (!SCROLL_Scrolling && msg != WM_LBUTTONDOWN) return res; 778 779 vertical = SCROLL_GetScrollBarRect( hwnd, nBar, &rect, 780 &arrowSize, &thumbSize, &thumbPos ); 762 if (msg == WM_NCHITTEST) return DefWindowProcA(hwnd,WM_NCHITTEST,wParam,lParam); 763 764 vertical = SCROLL_GetScrollBarRect(hwnd,nBar,&rect,&arrowSize,&thumbSize,&thumbPos); 781 765 if (nBar == SB_CTL) hwndOwner = GetParent(hwnd); else 782 766 { … … 792 776 } 793 777 794 hwndCtl = (nBar == SB_CTL) ? hwnd :0;778 hwndCtl = (nBar == SB_CTL) ? hwnd:0; 795 779 796 780 switch (msg) … … 800 784 pt.y = (SHORT)HIWORD(lParam); 801 785 SCROLL_trackVertical = vertical; 802 SCROLL_trackHitTest = hittest = SCROLL_HitTest( hwnd, nBar, pt, FALSE);786 SCROLL_trackHitTest = hittest = SCROLL_HitTest(hwnd,nBar,pt,FALSE); 803 787 if (SCROLL_trackHitTest == SCROLL_NOWHERE) 804 788 { … … 819 803 trackThumbPos = thumbPos; 820 804 prevPt = pt; 821 SetCapture( hwnd);822 if (nBar == SB_CTL) SetFocus( hwnd);805 if (nBar == SB_CTL) SetFocus(hwnd); 806 SetCapture(hwnd); 823 807 break; 824 808 825 809 case WM_MOUSEMOVE: 826 pt.x = (SHORT)LOWORD(lParam); 827 pt.y = (SHORT)HIWORD(lParam); 828 hittest = SCROLL_HitTest( hwnd, nBar, pt, TRUE ); 829 prevPt = pt; 810 if (SCROLL_Scrolling) 811 { 812 pt.x = (SHORT)LOWORD(lParam); 813 pt.y = (SHORT)HIWORD(lParam); 814 hittest = SCROLL_HitTest(hwnd,nBar,pt,TRUE); 815 prevPt = pt; 816 } else return res; 830 817 break; 831 818 … … 1138 1125 case WM_LBUTTONDOWN: 1139 1126 case WM_LBUTTONUP: 1127 case WM_NCHITTEST: 1140 1128 case WM_CAPTURECHANGED: 1141 1129 case WM_MOUSEMOVE: 1142 case WM_SETCURSOR:1143 1130 case WM_SYSTIMER: 1144 1131 case WM_SETFOCUS: … … 1216 1203 case WM_LBUTTONDOWN: 1217 1204 case WM_LBUTTONUP: 1205 case WM_NCHITTEST: 1218 1206 case WM_CAPTURECHANGED: 1219 1207 case WM_MOUSEMOVE: 1220 case WM_SETCURSOR:1221 1208 case WM_SYSTIMER: 1222 1209 case WM_SETFOCUS: … … 1271 1258 case WM_LBUTTONDOWN: 1272 1259 case WM_LBUTTONUP: 1260 case WM_NCHITTEST: 1273 1261 case WM_CAPTURECHANGED: 1274 1262 case WM_MOUSEMOVE: 1275 case WM_SETCURSOR:1276 1263 case WM_SYSTIMER: 1277 1264 case WM_SETFOCUS:
Note:
See TracChangeset
for help on using the changeset viewer.