- Timestamp:
- Aug 21, 1999, 2:10:02 PM (26 years ago)
- Location:
- trunk/src/comctl32
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/comctl32/progress.c
r592 r603 1 /* $Id: progress.c,v 1. 9 1999-08-19 21:24:19cbratschi Exp $ */1 /* $Id: progress.c,v 1.10 1999-08-21 12:10:01 cbratschi Exp $ */ 2 2 /* 3 3 * Progress control … … 28 28 // "Unknown parameter(s) for message " #msg \ 29 29 // "(%04x): wp=%04x lp=%08lx\n", msg, wParam, lParam); 30 #define UNKNOWN_PARAM(msg, wParam, lParam)31 32 #define PROGRESS_GetInfoPtr(hwnd) ((PROGRESS_INFO *)GetWindowLongA(hwnd, 30 //#define UNKNOWN_PARAM(msg, wParam, lParam) 31 32 #define PROGRESS_GetInfoPtr(hwnd) ((PROGRESS_INFO *)GetWindowLongA(hwnd,0)) 33 33 34 34 -
trunk/src/comctl32/tab.c
r496 r603 1 /* $Id: tab.c,v 1.1 0 1999-08-14 16:13:13cbratschi Exp $ */1 /* $Id: tab.c,v 1.11 1999-08-21 12:10:02 cbratschi Exp $ */ 2 2 /* 3 3 * Tab control … … 389 389 TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); 390 390 POINT pt; 391 INT newItem,dummy; 391 INT newItem; 392 UINT dummy; 392 393 393 394 if (infoPtr->hwndToolTip) … … 1795 1796 TAB_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 1796 1797 { 1798 //if (uMsg == WM_CREATE) MessageBoxA(hwnd,"wm_create!",NULL,MB_OK);//CB:bug!!! 1799 //CB: WM_CREATE never send!!! 1797 1800 switch (uMsg) 1798 1801 { -
trunk/src/comctl32/trackbar.c
r592 r603 1 /* $Id: trackbar.c,v 1.1 4 1999-08-19 21:24:19cbratschi Exp $ */1 /* $Id: trackbar.c,v 1.15 1999-08-21 12:10:02 cbratschi Exp $ */ 2 2 /* 3 3 * Trackbar control … … 357 357 } 358 358 359 static VOID TRACKBAR_FillHorzTics(TRACKBAR_INFO *infoPtr,HDC hdc,int flags,COLORREF clrTic) 360 { 361 RECT rect; 362 INT range = infoPtr->nRangeMax-infoPtr->nRangeMin; 363 INT width = infoPtr->rcChannel.right-infoPtr->rcChannel.left; 364 HBRUSH hbr = CreateSolidBrush(clrTic); 365 366 if (flags & TBS_TOP) 367 { 368 rect.bottom = infoPtr->rcFullThumb.top-SCALE_SPACE-1+1; 369 rect.top = rect.bottom-3; 370 } else 371 { 372 rect.top = infoPtr->rcFullThumb.bottom+SCALE_SPACE+1; 373 rect.bottom = rect.top+3; 374 } 375 rect.left = infoPtr->rcChannel.left+(width*(infoPtr->tics[0]-infoPtr->nRangeMin))/range; 376 rect.right = infoPtr->rcChannel.left+(width*(infoPtr->tics[infoPtr->uNumTics-1]-infoPtr->nRangeMin))/range+1; 377 378 FillRect(hdc,&rect,hbr); 379 DeleteObject(hbr); 380 } 381 359 382 static VOID 360 383 TRACKBAR_DrawVertTic (TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, … … 415 438 } 416 439 440 static VOID TRACKBAR_FillVertTics(TRACKBAR_INFO *infoPtr,HDC hdc,int flags,COLORREF clrTic) 441 { 442 RECT rect; 443 INT range = infoPtr->nRangeMax-infoPtr->nRangeMin; 444 INT width = infoPtr->rcChannel.bottom-infoPtr->rcChannel.top; 445 HBRUSH hbr = CreateSolidBrush(clrTic); 446 447 if (flags & TBS_TOP) 448 { 449 rect.right = infoPtr->rcFullThumb.left-SCALE_SPACE-1+1; 450 rect.left = rect.right-3; 451 } else 452 { 453 rect.left = infoPtr->rcFullThumb.right+SCALE_SPACE+1; 454 rect.right = rect.left+3; 455 } 456 rect.top = infoPtr->rcChannel.top+(width*(infoPtr->tics[0]-infoPtr->nRangeMin))/range; 457 rect.bottom = infoPtr->rcChannel.top+(width*(infoPtr->tics[infoPtr->uNumTics-1]-infoPtr->nRangeMin))/range+1; 458 459 FillRect(hdc,&rect,hbr); 460 DeleteObject(hbr); 461 } 417 462 418 463 static VOID … … 749 794 int ticFlags = dwStyle & 0x0f; 750 795 COLORREF clrTic = GetSysColor(COLOR_3DDKSHADOW); 751 752 for (i = 0;i < infoPtr->uNumTics;i++) 753 TRACKBAR_DrawTics(infoPtr,hdc,infoPtr->tics[i],ticFlags,clrTic); 796 INT range = infoPtr->nRangeMax-infoPtr->nRangeMin; 797 INT width = (dwStyle & TBS_VERT) ? rcChannel.bottom-rcChannel.top:rcChannel.right-rcChannel.left; 798 799 //check if maximum of visible marks is reached 800 if (dwStyle & TBS_AUTOTICKS && infoPtr->uNumTics > 1 && (INT)(width*infoPtr->tics[0]/range) == (INT)(width*infoPtr->tics[1]/range)) 801 { 802 //draw all pixels at once -> much faster 803 if (dwStyle & TBS_VERT) 804 { 805 if ((ticFlags & TBS_LEFT) || (ticFlags & TBS_BOTH)) 806 TRACKBAR_FillVertTics(infoPtr,hdc,ticFlags | TBS_LEFT,clrTic); 807 if (!(ticFlags & TBS_LEFT) || (ticFlags & TBS_BOTH)) 808 TRACKBAR_FillVertTics(infoPtr,hdc,ticFlags & ~TBS_LEFT,clrTic); 809 } else 810 { 811 if ((ticFlags & TBS_TOP) || (ticFlags & TBS_BOTH)) 812 TRACKBAR_FillHorzTics(infoPtr,hdc,ticFlags | TBS_TOP,clrTic); 813 if (!(ticFlags & TBS_TOP) || (ticFlags & TBS_BOTH)) 814 TRACKBAR_FillHorzTics(infoPtr,hdc,ticFlags & ~TBS_TOP,clrTic); 815 } 816 } else 817 { 818 for (i = 0;i < infoPtr->uNumTics;i++) 819 TRACKBAR_DrawTics(infoPtr,hdc,infoPtr->tics[i],ticFlags,clrTic); 820 } 754 821 755 822 TRACKBAR_DrawTics(infoPtr,hdc,0,ticFlags | TIC_LEFTEDGE,clrTic); … … 817 884 TRACKBAR_INFO *infoPtr = TRACKBAR_GetInfoPtr(hwnd); 818 885 DWORD dwStyle = GetWindowLongA(hwnd,GWL_STYLE); 819 RECT lastRect,newRect, windowRect;886 RECT lastRect,newRect,updateRect; 820 887 HDC hdcCompatible; 821 888 HBITMAP bitmap,oldbmp; … … 830 897 infoPtr->flags &= ~TB_DRAGPOSVALID; 831 898 } 832 if ( infoPtr->nPos == lastPos) return;899 if (!mustRedraw && infoPtr->nPos == lastPos) return; 833 900 834 901 if (dwStyle & TBS_NOTHUMB) return; … … 848 915 849 916 //BitBlt from memory -> no flickering 850 GetClientRect(hwnd,&windowRect); 917 updateRect.left = MIN(lastRect.left,newRect.left); 918 updateRect.right = MAX(lastRect.right,newRect.right); 919 updateRect.top = MIN(lastRect.top,newRect.top); 920 updateRect.bottom = MAX(lastRect.bottom,newRect.bottom); 851 921 hdc = GetDC(hwnd); 852 922 hdcCompatible = CreateCompatibleDC(hdc); 853 bitmap = CreateCompatibleBitmap(hdc, windowRect.right,windowRect.bottom);923 bitmap = CreateCompatibleBitmap(hdc,updateRect.right,updateRect.bottom); 854 924 oldbmp = SelectObject(hdcCompatible,bitmap); 855 925 TRACKBAR_Draw(hwnd,hdcCompatible); … … 883 953 } 884 954 885 //redraw thumb at same position886 887 static VOID TRACKBAR_UpdateThumb(HWND hwnd)888 {889 HDC hdc;890 TRACKBAR_INFO *infoPtr = TRACKBAR_GetInfoPtr (hwnd);891 DWORD dwStyle = GetWindowLongA(hwnd,GWL_STYLE);892 HRGN hrgn;893 894 if (dwStyle & TBS_NOTHUMB) return;895 896 hdc = GetDC(hwnd);897 hrgn = CreateRectRgnIndirect(&infoPtr->rcFullThumb);898 SelectClipRgn(hdc,hrgn);899 TRACKBAR_Draw(hwnd,hdc);900 SelectClipRgn(hdc,0);901 DeleteObject(hrgn);902 ReleaseDC(hwnd,hdc);903 }904 905 955 //redraw everything 906 956 … … 1751 1801 int clickPlace,prevPos,vertical; 1752 1802 DOUBLE clickPos; 1753 RECT thumb ;1803 RECT thumb,fullThumb; 1754 1804 POINT clickPoint; 1755 1805 … … 1765 1815 1766 1816 //Button down on thumb? 1767 thumb = infoPtr->rcFullThumb; //approzimative 1817 thumb = infoPtr->rcThumb; 1818 fullThumb = infoPtr->rcFullThumb; 1768 1819 if ((vertical && 1769 (clickPoint.y >= thumb.top) && 1770 (clickPoint.y <= thumb.bottom) && 1771 (clickPoint.x >= thumb.left) && 1772 (clickPoint.x <= thumb.right)) || 1820 clickPoint.y >= thumb.top && 1821 clickPoint.y <= thumb.bottom && 1822 ((dwStyle & TBS_BOTH && 1823 clickPoint.x >= thumb.left && 1824 clickPoint.x <= thumb.right 1825 ) || 1826 (dwStyle & TBS_LEFT && 1827 clickPoint.x <= thumb.right && 1828 (clickPoint.x >= thumb.left || 1829 (clickPoint.x >= fullThumb.left && 1830 (thumb.left-clickPoint.x <= clickPoint.y-thumb.top && 1831 thumb.left-clickPoint.x <= thumb.bottom-clickPoint.y 1832 ) 1833 ) 1834 ) 1835 ) || 1836 (!(dwStyle & (TBS_BOTH | TBS_LEFT)) && 1837 clickPoint.x >= thumb.left && 1838 (clickPoint.x <= thumb.right || 1839 (clickPoint.x <= fullThumb.right && 1840 (clickPoint.x-thumb.right <= clickPoint.y-thumb.top && 1841 clickPoint.x-thumb.right <= thumb.bottom-clickPoint.y 1842 ) 1843 ) 1844 ) 1845 )) 1846 ) || 1773 1847 (!vertical && 1774 (clickPoint.x >= thumb.left) && 1775 (clickPoint.x <= thumb.right) && 1776 (clickPoint.y >= thumb.top) && 1777 (clickPoint.y <= thumb.bottom))) 1848 clickPoint.x >= thumb.left && 1849 clickPoint.x <= thumb.right && 1850 ((dwStyle & TBS_BOTH && 1851 clickPoint.y >= thumb.top && 1852 clickPoint.y <= thumb.bottom 1853 ) || 1854 (dwStyle & TBS_TOP && 1855 clickPoint.y <= thumb.bottom && 1856 (clickPoint.y >= thumb.top || 1857 (clickPoint.y >= fullThumb.top && 1858 (thumb.top-clickPoint.y <= clickPoint.x-thumb.left && 1859 thumb.top-clickPoint.y <= thumb.right-clickPoint.x 1860 ) 1861 ) 1862 ) 1863 ) || 1864 (!(dwStyle & (TBS_BOTH | TBS_TOP)) && 1865 clickPoint.y >= thumb.top && 1866 (clickPoint.y <= thumb.bottom || 1867 (clickPoint.y <= fullThumb.bottom && 1868 (clickPoint.y-thumb.bottom <= clickPoint.x-thumb.left && 1869 clickPoint.y-thumb.bottom <= thumb.right-clickPoint.x 1870 ) 1871 ) 1872 ) 1873 )) 1874 )) 1778 1875 { 1779 1876 infoPtr->flags |= TB_DRAG_MODE; … … 1801 1898 } 1802 1899 SetCapture(hwnd); 1803 TRACKBAR_UpdateThumb (hwnd); //change arrow color1900 TRACKBAR_UpdateThumbPosition(hwnd,infoPtr->nPos,TRUE); //change arrow color 1804 1901 return 0; 1805 1902 } … … 1873 1970 } 1874 1971 1875 TRACKBAR_UpdateThumb (hwnd); //change arrow color1972 TRACKBAR_UpdateThumbPosition(hwnd,infoPtr->nPos,TRUE); //change arrow color 1876 1973 } 1877 1974
Note:
See TracChangeset
for help on using the changeset viewer.