- Timestamp:
- Jun 16, 1999, 5:29:27 PM (26 years ago)
- Location:
- trunk/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/comctl32/progress.c
r106 r109 1 /* $Id: progress.c,v 1. 3 1999-06-12 20:44:06 cbratschi Exp $ */1 /* $Id: progress.c,v 1.4 1999-06-16 15:29:26 cbratschi Exp $ */ 2 2 /* 3 3 * Progress control … … 18 18 /* Control configuration constants */ 19 19 20 #define LED_GAP 2 20 #define LED_GAP 2 21 #define BORDER_WIDTH 3 21 22 22 23 /* Work constants */ … … 38 39 { 39 40 PROGRESS_INFO *infoPtr = PROGRESS_GetInfoPtr(hwnd); 40 HBRUSH hbrBar, hbrBk;41 HBRUSH hbrBar,hbrBk,hbrLight,hbrShadow,hbrOld; 41 42 int rightBar, rightMost, ledWidth; 43 int lastBar; 42 44 RECT rect; 43 45 DWORD dwStyle; … … 46 48 // infoPtr->CurVal, infoPtr->MinVal, infoPtr->MaxVal); 47 49 50 if (infoPtr->MinVal == infoPtr->MaxVal) return; //Prevent division through 0 51 48 52 /* get the required bar brush */ 49 if (infoPtr->ColorBar == CLR_DEFAULT) 50 hbrBar = GetSysColorBrush(COLOR_HIGHLIGHT); 51 else 52 hbrBar = CreateSolidBrush (infoPtr->ColorBar); 53 if (infoPtr->ColorBar == CLR_DEFAULT) hbrBar = GetSysColorBrush(COLOR_HIGHLIGHT); 54 else hbrBar = CreateSolidBrush (infoPtr->ColorBar); 53 55 54 56 /* get the required background brush */ 55 if (infoPtr->ColorBk == CLR_DEFAULT) 56 hbrBk = GetSysColorBrush (COLOR_3DFACE); 57 else 58 hbrBk = CreateSolidBrush (infoPtr->ColorBk); 57 if (infoPtr->ColorBk == CLR_DEFAULT) hbrBk = GetSysColorBrush (COLOR_3DFACE); 58 else hbrBk = CreateSolidBrush (infoPtr->ColorBk); 59 59 60 60 /* get client rectangle */ 61 61 GetClientRect (hwnd, &rect); 62 rect.right--; 63 rect.bottom--; 62 64 63 65 /* draw the background */ 64 FillRect(hdc, &rect, hbrBk); 65 66 rect.left++; rect.right--; rect.top++; rect.bottom--; 66 if (!inUpdate) 67 { 68 FillRect(hdc, &rect, hbrBk); 69 //Border 70 hbrLight = GetSysColorBrush(COLOR_3DLIGHT); 71 hbrShadow = GetSysColorBrush(COLOR_3DSHADOW); 72 MoveToEx(hdc,rect.left,rect.bottom,NULL); 73 hbrOld = SelectObject(hdc,hbrShadow); 74 LineTo(hdc,rect.left,rect.top); 75 LineTo(hdc,rect.right,rect.top); 76 SelectObject(hdc,hbrLight); 77 LineTo(hdc,rect.right,rect.bottom); 78 LineTo(hdc,rect.left,rect.bottom); 79 SelectObject(hdc,hbrOld); 80 } 81 82 rect.left += BORDER_WIDTH; 83 rect.right -= BORDER_WIDTH; 84 rect.top += BORDER_WIDTH; 85 rect.bottom -= BORDER_WIDTH; 67 86 68 87 /* get the window style */ … … 72 91 if (dwStyle & PBS_VERTICAL) 73 92 { 74 rightBar = rect.bottom - 75 MulDiv(infoPtr->CurVal-infoPtr->MinVal, 76 rect.bottom - rect.top, 77 infoPtr->MaxVal-infoPtr->MinVal); 93 rightBar = rect.bottom-MulDiv(infoPtr->CurVal-infoPtr->MinVal,rect.bottom-rect.top,infoPtr->MaxVal-infoPtr->MinVal); 94 if (inUpdate) lastBar = rect.bottom-MulDiv(lastVal-infoPtr->MinVal,rect.bottom-rect.top,infoPtr->MaxVal-infoPtr->MinVal); 78 95 ledWidth = MulDiv ((rect.right - rect.left), 2, 3); 79 96 rightMost = rect.top; … … 81 98 else 82 99 { 83 rightBar = rect.left + 84 MulDiv(infoPtr->CurVal-infoPtr->MinVal, 85 rect.right - rect.left, 86 infoPtr->MaxVal-infoPtr->MinVal); 100 rightBar = rect.left+MulDiv(infoPtr->CurVal-infoPtr->MinVal,rect.right-rect.left,infoPtr->MaxVal-infoPtr->MinVal); 101 if (inUpdate) lastBar = rect.left+MulDiv(lastVal-infoPtr->MinVal,rect.right-rect.left,infoPtr->MaxVal-infoPtr->MinVal); 87 102 ledWidth = MulDiv ((rect.bottom - rect.top), 2, 3); 88 103 rightMost = rect.right; … … 93 108 { 94 109 if (dwStyle & PBS_VERTICAL) 95 rect.top = rightBar; 96 else 97 rect.right = rightBar; 98 FillRect(hdc, &rect, hbrBar); 99 } 100 else 110 { 111 if (inUpdate) 112 { 113 if (infoPtr->CurVal > lastVal) 114 { 115 rect.top = rightBar; 116 rect.bottom = lastBar; 117 FillRect(hdc,&rect,hbrBar); 118 } else if (infoPtr->CurVal < lastVal) 119 { 120 rect.top = lastBar; 121 rect.bottom = rightBar; 122 FillRect(hdc,&rect,hbrBk); 123 } 124 } else 125 { 126 rect.top = rightBar; 127 FillRect(hdc,&rect,hbrBar); 128 } 129 } else //Horizontal 130 { 131 if (inUpdate) 132 { 133 if (infoPtr->CurVal > lastVal) 134 { 135 rect.left = lastBar; 136 rect.right = rightBar; 137 FillRect(hdc,&rect,hbrBar); 138 } else if (infoPtr->CurVal < lastVal) 139 { 140 rect.left = rightBar; 141 rect.right = lastBar; 142 FillRect(hdc,&rect,hbrBk); 143 } 144 } else 145 { 146 rect.right = rightBar; 147 FillRect(hdc,&rect,hbrBar); 148 } 149 } 150 } else 101 151 { 102 152 if (dwStyle & PBS_VERTICAL) 103 { 104 while(rect.bottom > rightBar) { 105 rect.top = rect.bottom-ledWidth; 106 if (rect.top < rightMost) 107 rect.top = rightMost; 108 FillRect(hdc, &rect, hbrBar); 109 rect.bottom = rect.top-LED_GAP; 110 } 111 } 112 else { 113 while(rect.left < rightBar) { 114 rect.right = rect.left+ledWidth; 115 if (rect.right > rightMost) 116 rect.right = rightMost; 117 FillRect(hdc, &rect, hbrBar); 118 rect.left = rect.right+LED_GAP; 153 { 154 if (inUpdate) 155 { 156 if (infoPtr->CurVal > lastVal) 157 { 158 rect.bottom -= ((int)(rect.bottom-lastBar)/(ledWidth+LED_GAP))*(ledWidth+LED_GAP); 159 while(rect.bottom > rightBar) 160 { 161 rect.top = rect.bottom-ledWidth; 162 if (rect.top < rightMost) rect.top = rightMost; 163 FillRect(hdc,&rect,hbrBar); 164 rect.bottom = rect.top-LED_GAP; 165 } 166 } else if (infoPtr->CurVal < lastVal) 167 { 168 rect.top = rect.bottom-((int)(rect.bottom-lastBar)/(ledWidth+LED_GAP))*(ledWidth+LED_GAP)-ledWidth; 169 if (rect.top < rightMost) rect.top = rightMost; 170 rect.bottom -= ((int)(rect.bottom-rightBar)/(ledWidth+LED_GAP))*(ledWidth+LED_GAP); 171 FillRect(hdc,&rect,hbrBk); 172 } 173 } else 174 { 175 while(rect.bottom > rightBar) 176 { 177 rect.top = rect.bottom-ledWidth; 178 if (rect.top < rightMost) rect.top = rightMost; 179 FillRect(hdc,&rect,hbrBar); 180 rect.bottom = rect.top-LED_GAP; 181 } 182 } 183 } else //Horizontal 184 { 185 if (inUpdate) 186 { 187 if (infoPtr->CurVal > lastVal) 188 { 189 rect.left += ((int)(lastBar-rect.left)/(ledWidth+LED_GAP))*(ledWidth+LED_GAP); 190 while(rect.left < rightBar) 191 { 192 rect.right = rect.left+ledWidth; 193 if (rect.right > rightMost) rect.right = rightMost; 194 FillRect(hdc,&rect,hbrBar); 195 rect.left = rect.right+LED_GAP; 196 } 197 } else if (infoPtr->CurVal < lastVal) 198 { 199 rect.right = rect.left+((int)(lastBar-rect.left)/(ledWidth+LED_GAP))*(ledWidth+LED_GAP)+ledWidth; 200 if (rect.right > rightMost) rect.right = rightMost; 201 rect.left += ((int)(rightBar-rect.left)/(ledWidth+LED_GAP))*(ledWidth+LED_GAP); 202 FillRect(hdc,&rect,hbrBk); 203 } 204 } else 205 { 206 while(rect.left < rightBar) 207 { 208 rect.right = rect.left+ledWidth; 209 if (rect.right > rightMost) rect.right = rightMost; 210 FillRect(hdc,&rect,hbrBar); 211 rect.left = rect.right+LED_GAP; 212 } 119 213 } 120 214 } … … 122 216 123 217 /* delete bar brush */ 124 if (infoPtr->ColorBar != CLR_DEFAULT) 125 DeleteObject (hbrBar); 218 if (infoPtr->ColorBar != CLR_DEFAULT) DeleteObject (hbrBar); 126 219 127 220 /* delete background brush */ 128 if (infoPtr->ColorBk != CLR_DEFAULT) 129 DeleteObject (hbrBk); 221 if (infoPtr->ColorBk != CLR_DEFAULT) DeleteObject (hbrBk); 130 222 } 131 223 … … 217 309 { 218 310 PROGRESS_INFO *infoPtr = PROGRESS_GetInfoPtr(hwnd); 219 UINT temp;311 INT temp; 220 312 221 313 switch(message) … … 271 363 temp = infoPtr->CurVal; 272 364 if(wParam != 0){ 273 infoPtr->CurVal += (INT)wParam; //CB: negative values allowed, was UINT16365 infoPtr->CurVal += (INT)wParam; 274 366 PROGRESS_CoercePos (hwnd); 275 367 PROGRESS_Update (hwnd,temp); … … 306 398 UNKNOWN_PARAM(PBM_SETSTEP, wParam, lParam); 307 399 temp = infoPtr->Step; 308 infoPtr->Step = ( UINT16)wParam;400 infoPtr->Step = (INT)wParam; 309 401 return temp; 310 402 -
trunk/src/comctl32/trackbar.c
r94 r109 1 /* $Id: trackbar.c,v 1. 3 1999-06-10 16:22:03 achimhaExp $ */1 /* $Id: trackbar.c,v 1.4 1999-06-16 15:29:27 cbratschi Exp $ */ 2 2 /* 3 3 * Trackbar control … … 6 6 * Copyright 1998,1999 Alex Priem <alexp@sci.kun.nl> 7 7 * Copyright 1999 Achim Hasenmueller 8 * Copyright 1999 Christoph Bratschi <cbratschi@datacomm.ch> 8 9 * 9 10 * … … 14 15 * - better tic handling. 15 16 * - more notifications. 16 * 17 * 17 18 */ 18 19 … … 36 37 37 38 38 /* Used by TRACKBAR_Refresh to find out which parts of the control 39 /* Used by TRACKBAR_Refresh to find out which parts of the control 39 40 need to be recalculated */ 40 41 41 #define TB_THUMBPOSCHANGED 1 42 #define TB_THUMBPOSCHANGED 1 42 43 #define TB_THUMBSIZECHANGED 2 43 #define TB_THUMBCHANGED 44 #define TB_THUMBCHANGED (TB_THUMBPOSCHANGED | TB_THUMBPOSCHANGED) 44 45 #define TB_SELECTIONCHANGED 4 45 46 #define TB_DRAG_MODE 16 /* we're dragging the slider */ … … 61 62 int i,tic,nrTics; 62 63 63 if (infoPtr->uTicFreq && infoPtr->nRangeMax >= infoPtr->nRangeMin) 64 64 if (infoPtr->uTicFreq && infoPtr->nRangeMax >= infoPtr->nRangeMin) 65 nrTics=(infoPtr->nRangeMax - infoPtr->nRangeMin)/infoPtr->uTicFreq; 65 66 else { 66 67 nrTics=0; … … 72 73 73 74 if (nrTics!=infoPtr->uNumTics) { 74 infoPtr->tics=COMCTL32_ReAlloc (infoPtr->tics,75 infoPtr->tics=COMCTL32_ReAlloc (infoPtr->tics, 75 76 (nrTics+1)*sizeof (DWORD)); 76 77 infoPtr->uNumTics=nrTics; 77 78 } 78 79 infoPtr->uNumTics=nrTics; … … 83 84 84 85 85 /* converts from physical (mouse) position to logical position 86 /* converts from physical (mouse) position to logical position 86 87 (in range of trackbar) */ 87 88 88 89 static DOUBLE 89 TRACKBAR_ConvertPlaceToPosition (TRACKBAR_INFO *infoPtr, int place, 90 int vertical) 90 TRACKBAR_ConvertPlaceToPosition (TRACKBAR_INFO *infoPtr, int place, 91 int vertical) 91 92 { 92 93 double range,width,pos; … … 94 95 range=infoPtr->nRangeMax - infoPtr->nRangeMin; 95 96 if (vertical) { 96 97 width=infoPtr->rcChannel.bottom - infoPtr->rcChannel.top; 97 98 pos=(range*(place - infoPtr->rcChannel.top)) / width; 98 99 } else { 99 100 width=infoPtr->rcChannel.right - infoPtr->rcChannel.left; 100 101 pos=(range*(place - infoPtr->rcChannel.left)) / width; 101 102 } 102 103 103 104 if (pos > infoPtr->nRangeMax) 104 105 pos = infoPtr->nRangeMax; … … 129 130 channel->bottom = lpRect.bottom - 8; 130 131 131 132 if (dwStyle & TBS_BOTH) { 132 133 channel->left = (lpRect.right - cyChannel) / 2; 133 134 channel->right = (lpRect.right + cyChannel) / 2; … … 146 147 channel->right = lpRect.right - 8; 147 148 if (dwStyle & TBS_BOTH) { 148 channel->top 149 channel->bottom 149 channel->top = (lpRect.bottom - cyChannel) / 2; 150 channel->bottom = (lpRect.bottom + cyChannel) / 2; 150 151 } 151 152 else if (dwStyle & TBS_TOP) { … … 165 166 RECT *thumb; 166 167 int range, width; 167 168 168 169 thumb=&infoPtr->rcThumb; 169 170 range=infoPtr->nRangeMax - infoPtr->nRangeMin; 170 171 if (GetWindowLongA (hwnd, GWL_STYLE) & TBS_VERT) { 171 172 width=infoPtr->rcChannel.bottom - infoPtr->rcChannel.top; 172 173 thumb->left = infoPtr->rcChannel.left - 1; 173 174 thumb->right = infoPtr->rcChannel.left + infoPtr->uThumbLen - 8; 174 thumb->top 175 thumb->top = infoPtr->rcChannel.top + 175 176 (width*infoPtr->nPos)/range - 5; 176 177 thumb->bottom = thumb->top + infoPtr->uThumbLen/3; 177 178 178 179 } else { 179 180 width=infoPtr->rcChannel.right - infoPtr->rcChannel.left; 180 181 thumb->left = infoPtr->rcChannel.left + 181 182 (width*infoPtr->nPos)/range - 5; 182 183 thumb->right = thumb->left + infoPtr->uThumbLen/3; 183 thumb->top 184 thumb->top = infoPtr->rcChannel.top - 1; 184 185 thumb->bottom = infoPtr->rcChannel.top + infoPtr->uThumbLen - 8; 185 186 } … … 196 197 width=infoPtr->rcChannel.right - infoPtr->rcChannel.left; 197 198 198 if (range <= 0) 199 if (range <= 0) 199 200 SetRectEmpty (selection); 200 else 201 else 201 202 if (GetWindowLongA (hwnd, GWL_STYLE) & TBS_VERT) { 202 203 selection->left = infoPtr->rcChannel.left + … … 221 222 222 223 static VOID 223 TRACKBAR_DrawHorizTic (TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, 224 TRACKBAR_DrawHorizTic (TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, 224 225 int flags, COLORREF clrTic) 225 226 { … … 231 232 232 233 if (flags & TBS_TOP) { 233 234 234 y=rcChannel.top-2; 235 side=-1; 235 236 } else { 236 237 237 y=rcChannel.bottom+2; 238 side=1; 238 239 } 239 240 240 241 if (flags & TIC_SELECTIONMARK) { 241 if (flags & TIC_SELECTIONMARKMIN)242 if (flags & TIC_SELECTIONMARKMIN) 242 243 x=rcChannel.left + (width*ticPos)/range - 1; 243 else 244 else 244 245 x=rcChannel.left + (width*ticPos)/range + 1; 245 246 246 247 248 247 SetPixel (hdc, x,y+6*side, clrTic); 248 SetPixel (hdc, x,y+7*side, clrTic); 249 return; 249 250 } 250 251 251 252 if ((ticPos>infoPtr->nRangeMin) && (ticPos<infoPtr->nRangeMax)) { 252 253 254 255 253 x=rcChannel.left + (width*ticPos)/range; 254 SetPixel (hdc, x,y+5*side, clrTic); 255 SetPixel (hdc, x,y+6*side, clrTic); 256 SetPixel (hdc, x,y+7*side, clrTic); 256 257 } 257 258 258 259 if (flags & TIC_EDGE) { 259 260 if (flags & TIC_LEFTEDGE) 260 261 x=rcChannel.left; 261 else 262 else 262 263 x=rcChannel.right; 263 264 264 265 266 267 265 SetPixel (hdc, x,y+5*side, clrTic); 266 SetPixel (hdc, x,y+6*side, clrTic); 267 SetPixel (hdc, x,y+7*side, clrTic); 268 SetPixel (hdc, x,y+8*side, clrTic); 268 269 } 269 270 … … 271 272 272 273 static VOID 273 TRACKBAR_DrawVertTic (TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, 274 TRACKBAR_DrawVertTic (TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, 274 275 int flags, COLORREF clrTic) 275 276 { … … 281 282 282 283 if (flags & TBS_TOP) { 283 284 284 x=rcChannel.right-2; 285 side=-1; 285 286 } else { 286 287 287 x=rcChannel.left+2; 288 side=1; 288 289 } 289 290 290 291 291 292 if (flags & TIC_SELECTIONMARK) { 292 if (flags & TIC_SELECTIONMARKMIN)293 if (flags & TIC_SELECTIONMARKMIN) 293 294 y=rcChannel.top + (width*ticPos)/range - 1; 294 else 295 else 295 296 y=rcChannel.top + (width*ticPos)/range + 1; 296 297 297 298 299 298 SetPixel (hdc, x+6*side, y, clrTic); 299 SetPixel (hdc, x+7*side, y, clrTic); 300 return; 300 301 } 301 302 302 303 if ((ticPos>infoPtr->nRangeMin) && (ticPos<infoPtr->nRangeMax)) { 303 304 305 306 304 y=rcChannel.top + (width*ticPos)/range; 305 SetPixel (hdc, x+5*side, y, clrTic); 306 SetPixel (hdc, x+6*side, y, clrTic); 307 SetPixel (hdc, x+7*side, y, clrTic); 307 308 } 308 309 309 310 if (flags & TIC_EDGE) { 310 311 if (flags & TIC_LEFTEDGE) 311 312 y=rcChannel.top; 312 else 313 else 313 314 y=rcChannel.bottom; 314 315 315 316 317 318 316 SetPixel (hdc, x+5*side, y, clrTic); 317 SetPixel (hdc, x+6*side, y, clrTic); 318 SetPixel (hdc, x+7*side, y, clrTic); 319 SetPixel (hdc, x+8*side, y, clrTic); 319 320 } 320 321 … … 323 324 324 325 static VOID 325 TRACKBAR_DrawTics (TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, 326 TRACKBAR_DrawTics (TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, 326 327 int flags, COLORREF clrTic) 327 328 { 328 329 329 330 if (flags & TBS_VERT) { 330 if ((flags & TBS_TOP) || (flags & TBS_BOTH)) 331 TRACKBAR_DrawVertTic (infoPtr, hdc, ticPos, 331 if ((flags & TBS_TOP) || (flags & TBS_BOTH)) 332 TRACKBAR_DrawVertTic (infoPtr, hdc, ticPos, 332 333 flags | TBS_TOP , clrTic); 333 if (!(flags & TBS_TOP) || (flags & TBS_BOTH)) 334 if (!(flags & TBS_TOP) || (flags & TBS_BOTH)) 334 335 TRACKBAR_DrawVertTic (infoPtr, hdc, ticPos, flags, clrTic); 335 336 return; 336 337 } 337 338 338 if ((flags & TBS_TOP) || (flags & TBS_BOTH)) 339 if ((flags & TBS_TOP) || (flags & TBS_BOTH)) 339 340 TRACKBAR_DrawHorizTic (infoPtr, hdc, ticPos, flags | TBS_TOP , clrTic); 340 341 341 if (!(flags & TBS_TOP) || (flags & TBS_BOTH)) 342 if (!(flags & TBS_TOP) || (flags & TBS_BOTH)) 342 343 TRACKBAR_DrawHorizTic (infoPtr, hdc, ticPos, flags, clrTic); 343 344 … … 363 364 infoPtr->flags |= TB_THUMBPOSCHANGED; 364 365 } 365 366 366 367 if (infoPtr->flags & TB_THUMBCHANGED) { 367 TRACKBAR_CalcThumb 368 if (infoPtr->flags & TB_THUMBSIZECHANGED) 368 TRACKBAR_CalcThumb (hwnd, infoPtr); 369 if (infoPtr->flags & TB_THUMBSIZECHANGED) 369 370 TRACKBAR_CalcChannel (hwnd, infoPtr); 370 371 } 371 372 if (infoPtr->flags & TB_SELECTIONCHANGED) 372 373 TRACKBAR_CalcSelection (hwnd, infoPtr); 373 infoPtr->flags &= ~ (TB_THUMBCHANGED | TB_SELECTIONCHANGED | 374 infoPtr->flags &= ~ (TB_THUMBCHANGED | TB_SELECTIONCHANGED | 374 375 TB_DRAGPOSVALID); 375 376 … … 380 381 DrawEdge (hdc, &rcChannel, EDGE_SUNKEN, BF_RECT | BF_ADJUST); 381 382 382 if (dwStyle & TBS_ENABLESELRANGE) { 383 if (dwStyle & TBS_ENABLESELRANGE) { /* fill the channel */ 383 384 HBRUSH hbr = CreateSolidBrush (RGB(255,255,255)); 384 385 FillRect (hdc, &rcChannel, hbr); 385 if (((dwStyle & TBS_VERT) && 386 (rcSelection.left!=rcSelection.right)) || 387 ((!(dwStyle & TBS_VERT)) && 386 if (((dwStyle & TBS_VERT) && 387 (rcSelection.left!=rcSelection.right)) || 388 ((!(dwStyle & TBS_VERT)) && 388 389 (rcSelection.left!=rcSelection.right))) { 389 hbr=CreateSolidBrush (COLOR_HIGHLIGHT); 390 hbr=CreateSolidBrush (COLOR_HIGHLIGHT); 390 391 FillRect (hdc, &rcSelection, hbr); 391 392 } … … 400 401 COLORREF clrTic=GetSysColor (COLOR_3DDKSHADOW); 401 402 402 for (i=0; i<infoPtr->uNumTics; i++) 403 TRACKBAR_DrawTics (infoPtr, hdc, infoPtr->tics[i], 403 for (i=0; i<infoPtr->uNumTics; i++) 404 TRACKBAR_DrawTics (infoPtr, hdc, infoPtr->tics[i], 404 405 ticFlags, clrTic); 405 406 406 407 408 409 if ((dwStyle & TBS_ENABLESELRANGE) && 407 TRACKBAR_DrawTics (infoPtr, hdc, 0, ticFlags | TIC_LEFTEDGE, clrTic); 408 TRACKBAR_DrawTics (infoPtr, hdc, 0, ticFlags | TIC_RIGHTEDGE, clrTic); 409 410 if ((dwStyle & TBS_ENABLESELRANGE) && 410 411 (rcSelection.left!=rcSelection.right)) { 411 TRACKBAR_DrawTics (infoPtr, hdc, infoPtr->nSelMin, 412 TRACKBAR_DrawTics (infoPtr, hdc, infoPtr->nSelMin, 412 413 ticFlags | TIC_SELECTIONMARKMIN, clrTic); 413 TRACKBAR_DrawTics (infoPtr, hdc, infoPtr->nSelMax, 414 TRACKBAR_DrawTics (infoPtr, hdc, infoPtr->nSelMax, 414 415 ticFlags | TIC_SELECTIONMARKMAX, clrTic); 415 416 } … … 419 420 420 421 if (!(dwStyle & TBS_NOTHUMB)) { 421 422 422 423 HBRUSH hbr = CreateSolidBrush (COLOR_BACKGROUND); 423 424 RECT thumb = infoPtr->rcThumb; 424 425 425 426 SelectObject (hdc, hbr); 426 427 427 428 if (dwStyle & TBS_BOTH) { 428 429 FillRect (hdc, &thumb, hbr); … … 453 454 /* draw edge */ 454 455 } else { 455 RECT triangle; 456 RECT triangle; /* for correct shadows of thumb */ 456 457 DrawEdge (hdc, &thumb, EDGE_RAISED, BF_TOPLEFT); 457 458 … … 462 463 triangle.top = thumb.bottom +5; 463 464 triangle.bottom= thumb.bottom +1; 464 DrawEdge (hdc, &triangle, EDGE_SUNKEN, 465 DrawEdge (hdc, &triangle, EDGE_SUNKEN, 465 466 BF_DIAGONAL | BF_TOP | BF_RIGHT); 466 467 triangle.left = thumb.left+6; 467 468 triangle.right = points[3].x+6; 468 DrawEdge (hdc, &triangle, EDGE_RAISED, 469 DrawEdge (hdc, &triangle, EDGE_RAISED, 469 470 BF_DIAGONAL | BF_TOP | BF_LEFT); 470 471 } … … 491 492 /* align buddy left or above */ 492 493 if (infoPtr->hwndBuddyLA) { 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 494 GetWindowRect (infoPtr->hwndBuddyLA, &rcBuddy); 495 MapWindowPoints (HWND_DESKTOP, hwndParent, (LPPOINT)&rcBuddy, 2); 496 497 if (dwStyle & TBS_VERT) { 498 x = (infoPtr->rcChannel.right + infoPtr->rcChannel.left) / 2 - 499 (rcBuddy.right - rcBuddy.left) / 2 + rcSelf.left; 500 y = rcSelf.top - (rcBuddy.bottom - rcBuddy.top); 501 } 502 else { 503 x = rcSelf.left - (rcBuddy.right - rcBuddy.left); 504 y = (infoPtr->rcChannel.bottom + infoPtr->rcChannel.top) / 2 - 505 (rcBuddy.bottom - rcBuddy.top) / 2 + rcSelf.top; 506 } 507 508 SetWindowPos (infoPtr->hwndBuddyLA, 0, x, y, 0, 0, 508 509 SWP_NOZORDER | SWP_NOSIZE); 509 510 } … … 512 513 /* align buddy right or below */ 513 514 if (infoPtr->hwndBuddyRB) { 514 515 516 517 518 519 520 521 522 523 524 525 526 527 515 GetWindowRect (infoPtr->hwndBuddyRB, &rcBuddy); 516 MapWindowPoints (HWND_DESKTOP, hwndParent, (LPPOINT)&rcBuddy, 2); 517 518 if (dwStyle & TBS_VERT) { 519 x = (infoPtr->rcChannel.right + infoPtr->rcChannel.left) / 2 - 520 (rcBuddy.right - rcBuddy.left) / 2 + rcSelf.left; 521 y = rcSelf.bottom; 522 } 523 else { 524 x = rcSelf.right; 525 y = (infoPtr->rcChannel.bottom + infoPtr->rcChannel.top) / 2 - 526 (rcBuddy.bottom - rcBuddy.top) / 2 + rcSelf.top; 527 } 528 SetWindowPos (infoPtr->hwndBuddyRB, 0, x, y, 0, 0, 528 529 SWP_NOZORDER | SWP_NOSIZE); 529 530 } … … 540 541 infoPtr->flags |= TB_SELECTIONCHANGED; 541 542 542 if ((BOOL)wParam) 543 543 if ((BOOL)wParam) 544 InvalidateRect (hwnd, NULL, FALSE); 544 545 545 546 return 0; … … 558 559 } 559 560 560 if (wParam) 561 if (wParam) 561 562 InvalidateRect (hwnd, NULL, FALSE); 562 563 … … 683 684 { 684 685 TRACKBAR_INFO *infoPtr = TRACKBAR_GetInfoPtr (hwnd); 685 686 686 687 return (LRESULT) infoPtr->tics; 687 688 } … … 692 693 TRACKBAR_INFO *infoPtr = TRACKBAR_GetInfoPtr (hwnd); 693 694 LPRECT lprc = (LPRECT)lParam; 694 695 695 696 if (lprc == NULL) 696 return 0; 697 697 return 0; 698 698 699 lprc->left = infoPtr->rcThumb.left; 699 700 lprc->right = infoPtr->rcThumb.right; 700 701 lprc->bottom = infoPtr->rcThumb.bottom; 701 702 lprc->top = infoPtr->rcThumb.top; 702 703 return 0; 704 } 703 704 return 0; 705 } 705 706 706 707 … … 712 713 713 714 iTic=(INT) wParam; 714 if ((iTic<0) || (iTic>infoPtr->uNumTics)) 715 715 if ((iTic<0) || (iTic>infoPtr->uNumTics)) 716 return -1; 716 717 717 718 return (LRESULT) infoPtr->tics[iTic]; … … 725 726 TRACKBAR_INFO *infoPtr = TRACKBAR_GetInfoPtr (hwnd); 726 727 INT iTic, range, width, pos; 727 728 728 729 729 730 iTic=(INT ) wParam; 730 if ((iTic<0) || (iTic>infoPtr->uNumTics)) 731 731 if ((iTic<0) || (iTic>infoPtr->uNumTics)) 732 return -1; 732 733 733 734 range=infoPtr->nRangeMax - infoPtr->nRangeMin; … … 751 752 752 753 753 /* 754 /* case TBM_GETUNICODEFORMAT: */ 754 755 755 756 … … 761 762 762 763 if (wParam) { 763 764 765 766 767 // 764 /* buddy is left or above */ 765 hwndTemp = infoPtr->hwndBuddyLA; 766 infoPtr->hwndBuddyLA = (HWND)lParam; 767 768 // FIXME (trackbar, "move buddy!\n"); 768 769 } 769 770 else { … … 813 814 814 815 if (infoPtr->nPos < infoPtr->nRangeMin) 815 816 infoPtr->nPos = infoPtr->nRangeMin; 816 817 817 818 if (infoPtr->nPos > infoPtr->nRangeMax) 818 819 infoPtr->nPos = infoPtr->nRangeMax; 819 820 infoPtr->flags |= TB_THUMBPOSCHANGED; 820 821 821 if (wParam) 822 if (wParam) 822 823 InvalidateRect (hwnd, NULL, FALSE); 823 824 … … 871 872 TRACKBAR_RecalculateTics (infoPtr); 872 873 873 if (wParam) 874 if (wParam) 874 875 InvalidateRect (hwnd, NULL, FALSE); 875 876 … … 905 906 { 906 907 TRACKBAR_INFO *infoPtr = TRACKBAR_GetInfoPtr (hwnd); 907 908 908 909 if (GetWindowLongA (hwnd, GWL_STYLE) & TBS_AUTOTICKS) 909 infoPtr->uTicFreq=(UINT) wParam; 910 910 infoPtr->uTicFreq=(UINT) wParam; 911 911 912 TRACKBAR_RecalculateTics (infoPtr); 912 913 … … 914 915 915 916 return 0; 916 } 917 } 917 918 918 919 … … 934 935 infoPtr->nSelMax = infoPtr->nRangeMax; 935 936 936 if (wParam) 937 if (wParam) 937 938 InvalidateRect (hwnd, NULL, FALSE); 938 939 … … 948 949 949 950 if (!GetWindowLongA (hwnd, GWL_STYLE) & TBS_ENABLESELRANGE) 950 951 return 0; 951 952 952 953 infoPtr->nSelMax = (INT)lParam; 953 954 infoPtr->flags |= TB_SELECTIONCHANGED; 954 955 955 956 if (infoPtr->nSelMax > infoPtr->nRangeMax) 956 957 infoPtr->nSelMax = infoPtr->nRangeMax; 957 958 958 if (wParam) 959 if (wParam) 959 960 InvalidateRect (hwnd, NULL, FALSE); 960 961 … … 969 970 970 971 if (!GetWindowLongA (hwnd, GWL_STYLE) & TBS_ENABLESELRANGE) 971 972 return 0; 972 973 973 974 infoPtr->nSelMin = (INT)lParam; … … 977 978 infoPtr->nSelMin = infoPtr->nRangeMin; 978 979 979 if (wParam) 980 if (wParam) 980 981 InvalidateRect (hwnd, NULL, FALSE); 981 982 … … 1027 1028 1028 1029 infoPtr->fLocation = (INT)wParam; 1029 1030 1030 1031 return fTemp; 1031 1032 } … … 1043 1044 1044 1045 1045 /* 1046 /* case TBM_SETUNICODEFORMAT: */ 1046 1047 1047 1048 … … 1080 1081 infoPtr->uNumTics = 0; /* start and end tic are not included in count*/ 1081 1082 infoPtr->uTicFreq = 1; 1082 infoPtr->tics 1083 infoPtr->clrBk 1083 infoPtr->tics = NULL; 1084 infoPtr->clrBk = GetSysColor (COLOR_BACKGROUND); 1084 1085 infoPtr->hwndNotify = GetParent (hwnd); 1085 1086 … … 1090 1091 TTTOOLINFOA ti; 1091 1092 1092 1093 infoPtr->hwndToolTip = 1093 1094 CreateWindowExA (0, TOOLTIPS_CLASSA, NULL, 0, 1094 1095 CW_USEDEFAULT, CW_USEDEFAULT, … … 1097 1098 1098 1099 /* Send NM_TOOLTIPSCREATED notification */ 1099 1100 if (infoPtr->hwndToolTip) { 1100 1101 NMTOOLTIPSCREATED nmttc; 1101 1102 … … 1107 1108 SendMessageA (GetParent (hwnd), WM_NOTIFY, 1108 1109 (WPARAM)nmttc.hdr.idFrom, (LPARAM)&nmttc); 1109 1110 } 1110 1111 1111 1112 ZeroMemory (&ti, sizeof(TTTOOLINFOA)); 1112 1113 ti.cbSize = sizeof(TTTOOLINFOA); 1113 1114 1114 ti.uFlags = TTF_IDISHWND | TTF_TRACK; 1115 ti.hwnd = hwnd; 1115 1116 ti.uId = 0; 1116 1117 ti.lpszText = "Test"; /* LPSTR_TEXTCALLBACK */ … … 1131 1132 /* delete tooltip control */ 1132 1133 if (infoPtr->hwndToolTip) 1133 1134 DestroyWindow (infoPtr->hwndToolTip); 1134 1135 1135 1136 COMCTL32_Free (infoPtr); … … 1170 1171 clickPlace=(INT)LOWORD(lParam); 1171 1172 1172 if ((vertical && 1173 (clickPlace>infoPtr->rcThumb.top) && 1173 if ((vertical && 1174 (clickPlace>infoPtr->rcThumb.top) && 1174 1175 (clickPlace<infoPtr->rcThumb.bottom)) || 1175 (!vertical && 1176 (clickPlace>infoPtr->rcThumb.left) && 1176 (!vertical && 1177 (clickPlace>infoPtr->rcThumb.left) && 1177 1178 (clickPlace<infoPtr->rcThumb.right))) { 1178 1179 infoPtr->flags |= TB_DRAG_MODE; … … 1191 1192 infoPtr->flags |= TB_SHOW_TOOLTIP; 1192 1193 SetCapture (hwnd); 1193 SendMessageA (infoPtr->hwndToolTip, TTM_TRACKACTIVATE, 1194 SendMessageA (infoPtr->hwndToolTip, TTM_TRACKACTIVATE, 1194 1195 (WPARAM)TRUE, (LPARAM)&ti); 1195 1196 } … … 1204 1205 if (infoPtr->nPos > infoPtr->nRangeMax) 1205 1206 infoPtr->nPos = infoPtr->nRangeMax; 1206 TRACKBAR_SendNotify (hwnd, TB_PAGEUP); 1207 TRACKBAR_SendNotify (hwnd, TB_PAGEUP); 1207 1208 } else { 1208 1209 infoPtr->nPos -= infoPtr->nPageSize; /* similar to VK_PRIOR */ … … 1211 1212 TRACKBAR_SendNotify (hwnd, TB_PAGEDOWN); 1212 1213 } 1213 1214 1214 1215 if (prevPos!=infoPtr->nPos) { 1215 1216 infoPtr->flags |= TB_THUMBPOSCHANGED; 1216 1217 InvalidateRect (hwnd, NULL, FALSE); 1217 1218 } 1218 1219 1219 1220 return 0; 1220 1221 } … … 1235 1236 1236 1237 if (GetWindowLongA (hwnd, GWL_STYLE) & TBS_TOOLTIPS) { /* disable tooltip */ 1237 1238 TTTOOLINFOA ti; 1238 1239 1239 1240 ti.cbSize = sizeof(TTTOOLINFOA); … … 1245 1246 (WPARAM)FALSE, (LPARAM)&ti); 1246 1247 } 1247 1248 1248 1249 InvalidateRect (hwnd, NULL, FALSE); 1249 1250 … … 1256 1257 { 1257 1258 TRACKBAR_INFO *infoPtr = TRACKBAR_GetInfoPtr (hwnd); 1258 1259 1259 1260 if (infoPtr->flags & TB_DRAGPOSVALID) { 1260 1261 infoPtr->nPos=infoPtr->dragPos; 1261 1262 InvalidateRect (hwnd, NULL, FALSE); 1262 1263 } 1263 1264 1264 1265 infoPtr->flags &= ~ TB_DRAGPOSVALID; 1265 1266 … … 1278 1279 TRACKBAR_Refresh (hwnd, hdc); 1279 1280 if(!wParam) 1280 1281 EndPaint (hwnd, &ps); 1281 1282 return 0; 1282 1283 } … … 1314 1315 // TRACE (trackbar, "%x\n",code); 1315 1316 1316 if (GetWindowLongA (hwnd, GWL_STYLE) & TBS_VERT) 1317 return (BOOL) SendMessageA (GetParent (hwnd),1317 if (GetWindowLongA (hwnd, GWL_STYLE) & TBS_VERT) 1318 return (BOOL) SendMessageA (GetParent (hwnd), 1318 1319 WM_VSCROLL, (WPARAM)code, (LPARAM)hwnd); 1319 1320 1320 return (BOOL) SendMessageA (GetParent (hwnd), 1321 return (BOOL) SendMessageA (GetParent (hwnd), 1321 1322 WM_HSCROLL, (WPARAM)code, (LPARAM)hwnd); 1322 1323 } … … 1331 1332 DOUBLE dragPos; 1332 1333 char buf[80]; 1333 1334 1334 1335 // TRACE (trackbar, "%x\n",wParam); 1335 1336 … … 1340 1341 1341 1342 if (!(infoPtr->flags & TB_DRAG_MODE)) 1342 1343 return TRUE; 1343 1344 1344 1345 SetCapture (hwnd); 1345 dragPos = TRACKBAR_ConvertPlaceToPosition (infoPtr, clickPlace, 1346 dragPos = TRACKBAR_ConvertPlaceToPosition (infoPtr, clickPlace, 1346 1347 dwStyle & TBS_VERT); 1347 1348 if (dragPos > ((INT)dragPos) + 0.5) … … 1355 1356 if (infoPtr->flags & TB_SHOW_TOOLTIP) { 1356 1357 POINT pt; 1357 1358 1359 1360 1361 1358 TTTOOLINFOA ti; 1359 1360 ti.cbSize = sizeof(TTTOOLINFOA); 1361 ti.hwnd = hwnd; 1362 ti.uId = 0; 1362 1363 ti.hinst=0; 1363 1364 sprintf (buf,"%d",infoPtr->nPos); 1364 1365 ti.lpszText = (LPSTR) buf; 1365 1366 GetCursorPos (&pt); 1366 1367 1368 SendMessageA (infoPtr->hwndToolTip, TTM_TRACKPOSITION, 1367 1368 if (dwStyle & TBS_VERT) { 1369 SendMessageA (infoPtr->hwndToolTip, TTM_TRACKPOSITION, 1369 1370 0, (LPARAM)MAKELPARAM(pt.x+5, pt.y+15)); 1370 1371 } else { 1371 SendMessageA (infoPtr->hwndToolTip, TTM_TRACKPOSITION, 1372 SendMessageA (infoPtr->hwndToolTip, TTM_TRACKPOSITION, 1372 1373 0, (LPARAM)MAKELPARAM(pt.x+15, pt.y+5)); 1373 1374 } 1374 1375 SendMessageA (infoPtr->hwndToolTip, TTM_UPDATETIPTEXTA, 1375 1376 0, (LPARAM)&ti); 1376 1377 } … … 1394 1395 switch (wParam) { 1395 1396 case VK_LEFT: 1396 case VK_UP: 1397 case VK_UP: 1397 1398 if (infoPtr->nPos == infoPtr->nRangeMin) return FALSE; 1398 1399 infoPtr->nPos -= infoPtr->nLineSize; 1399 if (infoPtr->nPos < infoPtr->nRangeMin) 1400 if (infoPtr->nPos < infoPtr->nRangeMin) 1400 1401 infoPtr->nPos = infoPtr->nRangeMin; 1401 1402 TRACKBAR_SendNotify (hwnd, TB_LINEUP); 1402 1403 break; 1403 1404 case VK_RIGHT: 1404 case VK_DOWN: 1405 case VK_DOWN: 1405 1406 if (infoPtr->nPos == infoPtr->nRangeMax) return FALSE; 1406 1407 infoPtr->nPos += infoPtr->nLineSize; 1407 if (infoPtr->nPos > infoPtr->nRangeMax) 1408 if (infoPtr->nPos > infoPtr->nRangeMax) 1408 1409 infoPtr->nPos = infoPtr->nRangeMax; 1409 1410 TRACKBAR_SendNotify (hwnd, TB_LINEDOWN); … … 1412 1413 if (infoPtr->nPos == infoPtr->nRangeMax) return FALSE; 1413 1414 infoPtr->nPos += infoPtr->nPageSize; 1414 if (infoPtr->nPos > infoPtr->nRangeMax) 1415 if (infoPtr->nPos > infoPtr->nRangeMax) 1415 1416 infoPtr->nPos = infoPtr->nRangeMax; 1416 1417 TRACKBAR_SendNotify (hwnd, TB_PAGEUP); … … 1419 1420 if (infoPtr->nPos == infoPtr->nRangeMin) return FALSE; 1420 1421 infoPtr->nPos -= infoPtr->nPageSize; 1421 if (infoPtr->nPos < infoPtr->nRangeMin) 1422 if (infoPtr->nPos < infoPtr->nRangeMin) 1422 1423 infoPtr->nPos = infoPtr->nRangeMin; 1423 1424 TRACKBAR_SendNotify (hwnd, TB_PAGEDOWN); 1424 1425 break; 1425 case VK_HOME: 1426 case VK_HOME: 1426 1427 if (infoPtr->nPos == infoPtr->nRangeMin) return FALSE; 1427 1428 infoPtr->nPos = infoPtr->nRangeMin; 1428 1429 TRACKBAR_SendNotify (hwnd, TB_TOP); 1429 1430 break; 1430 case VK_END: 1431 case VK_END: 1431 1432 if (infoPtr->nPos == infoPtr->nRangeMax) return FALSE; 1432 1433 infoPtr->nPos = infoPtr->nRangeMax; … … 1435 1436 } 1436 1437 1437 if (pos!=infoPtr->nPos) { 1438 1439 1438 if (pos!=infoPtr->nPos) { 1439 infoPtr->flags |=TB_THUMBPOSCHANGED; 1440 InvalidateRect (hwnd, NULL, FALSE); 1440 1441 } 1441 1442 … … 1449 1450 switch (wParam) { 1450 1451 case VK_LEFT: 1451 case VK_UP: 1452 case VK_UP: 1452 1453 case VK_RIGHT: 1453 case VK_DOWN: 1454 case VK_DOWN: 1454 1455 case VK_NEXT: 1455 1456 case VK_PRIOR: 1456 case VK_HOME: 1457 case VK_HOME: 1457 1458 case VK_END: 1458 1459 TRACKBAR_SendNotify (hwnd, TB_ENDTRACK); … … 1514 1515 case TBM_GETTIC: 1515 1516 return TRACKBAR_GetTic (hwnd, wParam, lParam); 1516 1517 1517 1518 case TBM_GETTICPOS: 1518 1519 return TRACKBAR_GetTicPos (hwnd, wParam, lParam); 1519 1520 1520 1521 case TBM_GETTOOLTIPS: 1521 1522 return TRACKBAR_GetToolTips (hwnd, wParam, lParam); 1522 1523 1523 /* 1524 /* case TBM_GETUNICODEFORMAT: */ 1524 1525 1525 1526 case TBM_SETBUDDY: … … 1568 1569 return TRACKBAR_SetToolTips (hwnd, wParam, lParam); 1569 1570 1570 /* 1571 /* case TBM_SETUNICODEFORMAT: */ 1571 1572 1572 1573 … … 1580 1581 return TRACKBAR_Destroy (hwnd, wParam, lParam); 1581 1582 1582 /* 1583 1584 /* 1585 /* 1583 /* case WM_ENABLE: */ 1584 1585 /* case WM_ERASEBKGND: */ 1586 /* return 0; */ 1586 1587 1587 1588 case WM_GETDLGCODE: … … 1590 1591 case WM_KEYDOWN: 1591 1592 return TRACKBAR_KeyDown (hwnd, wParam, lParam); 1592 1593 1593 1594 case WM_KEYUP: 1594 1595 return TRACKBAR_KeyUp (hwnd, wParam); … … 1619 1620 1620 1621 default: 1621 if (uMsg >= WM_USER)1622 // if (uMsg >= WM_USER) 1622 1623 // ERR (trackbar, "unknown msg %04x wp=%08x lp=%08lx\n", 1623 1624 // uMsg, wParam, lParam); … … 1643 1644 wndClass.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1); 1644 1645 wndClass.lpszClassName = TRACKBAR_CLASSA; 1645 1646 1646 1647 RegisterClassA (&wndClass); 1647 1648 } … … 1652 1653 { 1653 1654 if (GlobalFindAtomA (TRACKBAR_CLASSA)) 1654 1655 } 1656 1655 UnregisterClassA (TRACKBAR_CLASSA, (HINSTANCE)NULL); 1656 } 1657 -
trunk/src/user32/SYSCLR.CPP
r96 r109 1 /* $Id: SYSCLR.CPP,v 1. 3 1999-06-10 16:50:36 phallerExp $ */1 /* $Id: SYSCLR.CPP,v 1.4 1999-06-16 15:29:27 cbratschi Exp $ */ 2 2 3 3 /* … … 5 5 * 6 6 * Copyright 1998 Sander van Leeuwen 7 * Copyright 1999 Christoph Bratschi 7 8 * 8 9 * … … 24 25 25 26 switch(winIndex) { 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 os2Index = SYSCLR_HILITEBACKGROUND;94 95 96 97 98 99 100 101 27 case COLOR_SCROLLBAR: 28 os2Index = SYSCLR_SCROLLBAR; 29 break; 30 case COLOR_BACKGROUND: 31 os2Index = SYSCLR_BACKGROUND; 32 break; 33 case COLOR_ACTIVECAPTION: 34 os2Index = SYSCLR_ACTIVETITLETEXT; 35 break; 36 case COLOR_INACTIVECAPTION: 37 os2Index = SYSCLR_INACTIVETITLETEXT; 38 break; 39 case COLOR_MENU: 40 os2Index = SYSCLR_MENU; 41 break; 42 case COLOR_WINDOW: 43 os2Index = SYSCLR_WINDOW; 44 break; 45 case COLOR_WINDOWFRAME: 46 os2Index = SYSCLR_WINDOWFRAME; 47 break; 48 case COLOR_MENUTEXT: 49 os2Index = SYSCLR_MENUTEXT; 50 break; 51 case COLOR_WINDOWTEXT: 52 os2Index = SYSCLR_WINDOWTEXT; 53 break; 54 case COLOR_CAPTIONTEXT: 55 os2Index = SYSCLR_TITLETEXT; 56 break; 57 case COLOR_ACTIVEBORDER: 58 os2Index = SYSCLR_ACTIVEBORDER; 59 break; 60 case COLOR_INACTIVEBORDER: 61 os2Index = SYSCLR_INACTIVEBORDER; 62 break; 63 case COLOR_APPWORKSPACE: 64 os2Index = SYSCLR_APPWORKSPACE; 65 break; 66 case COLOR_HIGHLIGHT: 67 os2Index = SYSCLR_HILITEBACKGROUND; 68 break; 69 case COLOR_HIGHLIGHTTEXT: 70 os2Index = COLOR_WINDOWTEXT; 71 break; 72 case COLOR_BTNFACE: 73 os2Index = SYSCLR_HILITEBACKGROUND; 74 break; 75 case COLOR_BTNSHADOW: 76 os2Index = SYSCLR_SHADOW; 77 break; 78 case COLOR_GRAYTEXT: 79 os2Index = SYSCLR_MENUDISABLEDTEXT; 80 break; 81 case COLOR_BTNTEXT: 82 os2Index = SYSCLR_BUTTONDEFAULT; 83 break; 84 case COLOR_INACTIVECAPTIONTEXT: 85 os2Index = SYSCLR_INACTIVETITLETEXT; 86 break; 87 case COLOR_BTNHIGHLIGHT: 88 os2Index = SYSCLR_HILITEBACKGROUND; 89 break; 90 case COLOR_3DDKSHADOW: 91 os2Index = SYSCLR_SHADOW; 92 break; 93 case COLOR_3DLIGHT: 94 os2Index = SYSCLR_SHADOWHILITEBGND; 95 break; 96 case COLOR_INFOTEXT: 97 os2Index = SYSCLR_HELPTEXT; 98 break; 99 case COLOR_INFOBK: 100 os2Index = SYSCLR_HELPBACKGROUND; 101 break; 102 default: 102 103 #ifdef DEBUG 103 104 WriteLog("GetSysColor UNKNOWN index %d!!\n", winIndex); 104 105 #endif 105 106 return(0); 106 107 } 107 108 rgb = WinQuerySysColor(HWND_DESKTOP, os2Index, 0);
Note:
See TracChangeset
for help on using the changeset viewer.