| ¿øÇü |
BOOL SetScrollRange(HWND hWnd, int nBar, int nMinPos, int nMaxPos, BOOL bRedraw); | ||||||||
| MFC ¿øÇü |
void CWnd::SetScrollRange( int nBar, int nMinPos, int nMaxPos, BOOL
bRedraw = TRUE ); | ||||||||
| Àμö |
¢ºhWnd : ½ºÅ©·Ñ ¹Ù ÄÁÆ®·ÑÀÇ ÇÚµé. ÀÌ °ªÀÇ Àǹ̴ µÎ¹øÂ° Àμö nBar¿¡ µû¶ó ´Þ¶óÁø´Ù. ¢ºnBar : À§Ä¡¸¦ ¼³Á¤ÇÒ ½ºÅ©·Ñ ¹Ù¸¦ ÁöÁ¤ÇÑ´Ù. ´ÙÀ½ ¼¼°¡Áö °ªÁßÀÇ Çϳª¸¦ °¡Áø´Ù.
¢ºnPos : ½ºÅ©·Ñ ¹ÙÀ§ »õ·Î¿î À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ À§Ä¡´Â ¹Ýµå½Ã ½ºÅ©·Ñ ¹ÙÀ§ ¹üÀ§³»¿¡ ÀÖ¾î¾ß ÇϹǷΠ°ªÀ» º¯°æÇÒ ¶§ ¹üÀ§ ³»ºÎÀÎÁö¸¦ Á¡°ËÇÑ ÈÄ °ªÀ» º¯°æÇØ¾ß ÇÑ´Ù. ¢ºnMinPos, nMaxPos : ½ºÅ©·Ñ ¹ÙÀÇ ÃÖ¼Ò°ª¹× ÃÖ´ë°ª ¢ºbRedraw : ½ºÅ©·Ñ¹ÙÀÇ ¹üÀ§¸¦ º¯°æÇÑ ÈÄ ´Ù½Ã ±×¸± °ÍÀΰ¡ ¾Æ´Ñ°¡¸¦ ÁöÁ¤ÇÑ´Ù. TRUEÀÌ¸é ´Ù½Ã ±×¸®°í FALSEÀÌ¸é ´Ù½Ã ±×¸®Áö ¾Ê´Â´Ù. ÇÁ·Î±×·¥ ½ÇÇàÁß¿¡ ¹üÀ§¸¦ º¯°æÇÒ ¶§´Â ÀÌ Àμö¸¦ TRUE·Î ÁöÁ¤ÇÏ¿© ½æÀÇ À§Ä¡¸¦ Àç°è»êÇϵµ·Ï ÇØ ÁÖ¾î¾ß Çϸç ÇÁ·Î±×·¥ ÃʱâȽÿ¡´Â ±»ÀÌ ´Ù½Ã ±×·ÁÁÙ Çʿ䰡 ¾ø´Ù. ¶ÇÇÑ ÀÌ ÇÔ¼ö È£Ãâ ÈÄ °ð¹Ù·Î SetScrollPos ÇÔ¼ö·Î ½æÀÇ À§Ä¡¸¦ º¯°æÇÑ´Ù¸é ÀÌ Àμö¸¦ FALSE·Î ÁÖ´Â °ÍÀÌ ÁÁ´Ù. | ||||||||
| ¸®ÅÏ |
¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ½ÇÆÐ½Ã 0À» ¸®ÅÏÇÑ´Ù. | ||||||||
| ¼³¸í |
Ç¥ÁØ ½ºÅ©·Ñ ¹Ù ¶Ç´Â ½ºÅ©·Ñ ¹Ù ÄÁÆ®·ÑÀÇ ¹üÀ§¸¦ ¼³Á¤ÇÑ´Ù. Ç¥ÁØ ½ºÅ©·Ñ ¹ÙÀÇ µðÆúÆ® ¹üÀ§´Â 0~100±îÁöÀÌ¸ç ½ºÅ©·Ñ ¹Ù ÄÁÆ®·ÑÀÇ µðÆúÆ® ¹üÀ§´Â µÑ ´Ù 0À¸·Î ºñ¾î ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ½ºÅ©·Ñ ¹Ù »ý¼º Á÷ÈÄ¿¡ ÀÌ ÇÔ¼ö·Î ÀûÀýÇÑ ½ºÅ©·Ñ ¹üÀ§¸¦ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. nMaxPos¿Í nMinPosÀÇ Â÷ÀÎ ¹üÀ§´Â MAXLONGº¸´Ù Ä¿¼´Â ¾ÈµÈ´Ù. ÃÖ¼Ò, ÃÖ´ë°ªÀÌ °°À» °æ¿ì´Â ½ºÅ©·Ñ ¹Ù°¡ ¼û°ÜÁö´Â È¿°ú°¡ Àִµ¥ ÀÌ·± ¸ñÀûÀ¸·Î ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °ÍÀº ¹Ù¶÷Á÷ÇÏÁö ¾ÊÀ¸¸ç ShowScrollBar ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. ´ÙÀ½ ¿¹Á¦´Â ½ºÅ©·Ñ ¹Ù ÄÁÆ®·ÑÀ» »ý¼ºÇϰí 0~255±îÁöÀÇ ¹üÀ§¸¦ ÁØ ÈÄ ÃʱⰪÀ» 192·Î ¼³Á¤ÇÑ´Ù. ½ºÅ©·Ñ ¹Ù¸¦ µå·¡±×ÇÏ¿© À§Ä¡¸¦ º¯°æÇϸé ÀÌ °ªÀ¸·Î ºê·¯½Ã¸¦ »ý¼ºÇÏ¿© ÀÛ¾÷ ¿µ¿ªÀ» Ä¥ÇÑ´Ù.
HWND hScroll;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
HBRUSH MyBrush, OldBrush;
RECT rt;
int Pos;
switch(iMessage) {
case WM_CREATE:
hScroll=CreateWindow("scrollbar",NULL,WS_CHILD | WS_VISIBLE | SBS_HORZ,
10,10,266,20,hWnd,(HMENU)0,g_hInst,NULL);
SetScrollRange(hScroll,SB_CTL,0,255,FALSE);
SetScrollPos(hScroll,SB_CTL,192,FALSE);
return 0;
case WM_HSCROLL:
Pos=GetScrollPos((HWND)lParam,SB_CTL);
switch (LOWORD(wParam)) {
case SB_LINELEFT:
Pos=max(0,Pos-1);
break;
case SB_LINERIGHT:
Pos=min(255,Pos+1);
break;
case SB_PAGELEFT:
Pos=max(0,Pos-10);
break;
case SB_PAGERIGHT:
Pos=min(255,Pos+10);
break;
case SB_THUMBTRACK:
Pos=HIWORD(wParam);
break;
}
SetScrollPos((HWND)lParam,SB_CTL,Pos,TRUE);
InvalidateRect(hWnd,NULL,FALSE);
return 0;
case WM_PAINT:
Pos=GetScrollPos(hScroll,SB_CTL);
hdc=BeginPaint(hWnd,&ps);
MyBrush=CreateSolidBrush(RGB(Pos,Pos,Pos));
OldBrush=(HBRUSH)SelectObject(hdc,MyBrush);
GetClientRect(hWnd,&rt);
FillRect(hdc,&rt,MyBrush);
SelectObject(hdc,OldBrush);
DeleteObject(MyBrush);
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
| ||||||||
| Âü°íÇÔ¼ö |
GetScrollRange, SetScrollPos | ||||||||
| Ç÷§Æû | 95ÀÌ»ó | ||||||||
| ÂüÁ¶ |
|
|
written by http://www.winapi.co.kr
|