»óŶõÀº Á¤º¸¸¦ º¸¿© ÁÖ±â À§ÇÑ ÀåÄ¡Àε¥ ÁÖ·Î ¹®ÀÚ¿ Áß½ÉÀÇ Á¤º¸¸¸ º¸¿© ÁØ´Ù. ¿À³Ê µå·Î¿ì ÆÄÆ®¸¦ »ç¿ëÇÏ¸é ±×·¡ÇÈ Á¤º¸¸¦ º¸¿© ÁÙ ¼ö ÀÖÁö¸¸ ºÎ¸ð À©µµ¿ì°¡ Á÷Á¢ ±×·Á ÁÖ¾î¾ß ÇϹǷΠ¹ø°Å·Î¿î ¸éÀÌ ÀÖ´Ù. »óŶõ¿¡ Â÷Àϵå ÄÁÆ®·ÑÀ» »ý¼ºÇϸé Á» ´õ º¹ÀâÇÑ ¸ð¾çÀÇ Á¤º¸¸¦ º¸¿©ÁÙ ¼ö Àִµ¥ ÀÛ¾÷ »óŸ¦ º¸¿©ÁÖ´Â ÇÁ·Î±×·¡½º ÄÁÆ®·ÑÀÌ »óŶõ¿¡ °¡Àå Àß ¾î¿ï¸®´Â ÄÁÆ®·ÑÀÌ´Ù.
¹æ¹ýÀº ¾ÆÁÖ °£´ÜÇÏ´Ù. »óŶõÀÇ Â÷Àϵå·Î ÇÁ·Î±×·¡½º ÄÁÆ®·ÑÀ» ¸¸µé°í ºÎ¸ð À©µµ¿ì´Â ÀÌ ÄÁÆ®·Ñ¿¡ ÀÛ¾÷ ÁøÇà °úÁ¤À» º¸¿© ÁÖ¸é µÈ´Ù. SB_GETRECT ¸Þ½ÃÁö¸¦ »ç¿ëÇÏ¸é ÆÄÆ® ÇϳªÀÇ ¿µ¿ªÀ» ±¸ÇÒ ¼ö Àִµ¥ ÀÌ ¿µ¿ª¿¡ ÇÁ·Î±×·¡½º ÄÁÆ®·ÑÀ» ¸¸µé¸é µÈ´Ù. °³³äÀûÀ¸·Î °£´ÜÇϹǷΠ¿¹Á¦ Äڵ常 º¸¸é ½±°Ô ÀÌÇØ°¡ µÉ °ÍÀÌ´Ù.
#include <commctrl.h>
HWND hState;
HWND hProg;
int Pos;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
int SBPart[3];
RECT prt;
TCHAR Mes[]="¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´©¸£¸é ÀÛ¾÷À» ½ÃÀÛÇÕ´Ï´Ù";
switch(iMessage) {
case WM_CREATE:
InitCommonControls();
hState=CreateStatusWindow(WS_CHILD | WS_VISIBLE, "", hWnd,0);
SBPart[0]=200;
SBPart[1]=400;
SBPart[2]=-1;
SendMessage(hState, SB_SETPARTS, 3, (LPARAM)SBPart);
SendMessage(hState, SB_SETTEXT,0,(LPARAM)"ÀÛ¾÷ ÁøÇà °úÁ¤");
SendMessage(hState, SB_SETTEXT,1,(LPARAM)"ÀÏ¹Ý »óŶõ");
return 0;
case WM_LBUTTONDOWN:
if (Pos)
return 0;
SendMessage(hState,SB_GETRECT,0,(LPARAM)&prt);
hProg=CreateWindow(PROGRESS_CLASS,NULL,WS_CHILD | PBS_SMOOTH,
prt.left,prt.top,prt.right-prt.left,prt.bottom-prt.top,
hState,NULL,g_hInst,NULL);
Pos=0;
SendMessage(hProg, PBM_SETRANGE, 0, MAKELPARAM(0,100));
SendMessage(hProg, PBM_SETPOS, Pos, 0);
ShowWindow(hProg,SW_SHOW);
SetTimer(hWnd,0,50,NULL);
return 0;
case WM_TIMER:
if (Pos==100) {
DestroyWindow(hProg);
KillTimer(hWnd,0);
Pos=0;
} else {
Pos++;
SendMessage(hProg, PBM_SETPOS, Pos, 0);
}
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
TextOut(hdc,10,10,Mes,lstrlen(Mes));
EndPaint(hWnd, &ps);
return 0;
case WM_SIZE:
SendMessage(hState, WM_SIZE, wParam, lParam);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
¼¼ °³ÀÇ ÆÄÆ®¸¦ ¸¸µé¾ú´Ù. Æò¼Ò¿¡´Â ù¹øÂ° ÆÄÆ®¿¡ ¹®ÀÚ¿À» º¸¿© ÁÖ´Ù°¡ ÀÛ¾÷ÀÌ ½ÃÀ۵Ǹé ÀÌ ¿µ¿ª¿¡ ÇÁ·Î±×·¡½º¸¦ ¸¸µé°í ÀÛ¾÷ ÁøÇà °úÁ¤À» º¸¿© ÁØ´Ù. ¿¹Á¦¿¡¼´Â ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´©¸£´Â °ÍÀÌ ÀÛ¾÷ ½ÃÀÛÀ» ÀǹÌÇϸç ÀÛ¾÷Àº ŸÀÌ¸Ó ¸Þ½ÃÁö·Î ÁøÇà½ÃÄ×´Ù.
ÀÛ¾÷ÀÌ ¿Ï·áµÇ¸é ÇÁ·Î±×·¡½º´Â »ç¶óÁö°í ´Ù½Ã ÆÄÆ® ¹®ÀÚ¿ÀÌ º¸ÀÌ°Ô µÈ´Ù. ¹öưÀ̳ª ¿¡µðÆ® µîÀÇ ÄÁÆ®·ÑÀ» ¿µ±¸ÀûÀ¸·Î ¹èÄ¡ÇÏ´Â °Íµµ ¹°·Ð °¡´ÉÇÏ´Ù. ´Ü, ºÎ¸ð À©µµ¿ì°¡ ÅëÁö ¸Þ½ÃÁö¸¦ ¹Þ±â À§Çؼ´Â Åø¹Ù¿¡¼ ±×·¨´ø °Íó·³ ÀÏ´Ü ºÎ¸ð À©µµ¿ìÀÇ Â÷Àϵå·Î ÄÁÆ®·ÑÀ» »ý¼ºÇÑ ÈÄ SetParent ÇÔ¼ö·Î »óŶõÀÇ Â÷Àϵ尡 µÇµµ·Ï ÇØ ÁÖ¾î¾ß ÇÑ´Ù.
»óŶõÀº °øÅë ÄÁÆ®·Ñ Áß¿¡´Â ¾ÆÁÖ ´Ù·ç±â ½¬¿î ÄÁÆ®·ÑÀÌ´Ù. ³À̵µ¿¡ ºñÇØ ÇÁ·Î±×·¥ÀÇ È°¿ë¼ºÀ» ³ôÀ̴µ¥ Å©°Ô ±â¿©ÇÏ¸ç ³ª¸§´ë·Î ÀÀ¿ëÇÒ¸¸ÇÑ °÷ÀÌ ¸¹ÀÌ ÀÖÀ¸¹Ç·Î Àû±ØÀûÀ¸·Î Ȱ¿ëÇØ º¸µµ·Ï ÇÏÀÚ.