¿øÇü |
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
|