Åø ¹Ù¸¦ ¸¸µå·Á¸é ¸ÕÀú Åø ¹öư¿¡ Ç¥½ÃÇÒ ºñÆ®¸ÊºÎÅÍ ¸¸µé¾î¾ß ÇÑ´Ù. ÅØ½ºÆ®¸¸À¸·Îµµ Åø¹Ù¸¦ ¸¸µé ¼ö ÀÖÁö¸¸ ¹«Ã´ ½ä··Çϱ⠶§¹®¿¡ ±×·± Åø¹Ù¸¦ ¸¸µå´Â °æ¿ì´Â ¹«Ã´ µå¹°¸ç ´ëºÎºÐ ¿¹»Û À̹ÌÁö¸¦ ±×·Á ³Ö´Â´Ù. ±×·±µ¥ »ç½Ç Åø ¹Ù¿¡ µé¾î°¡´Â ¹öưµéÀº °ÅÀÇ ´ëºÎºÐ »õÆÄÀÏ, ¿±â, ÀúÀå, Àß¶ó³»±â, º¹»ç, ºÙÀ̱⠵îÀÇ ¼ø¼´ë·Î µÇ¾î ÀÖ´Ù.
ÀÌ·± Åø¹ÙÀÇ ±¸¼ºÀº °ÅÀÇ Ç¥ÁØÈµÈ °ÍÀÌ°í »ç¿ëÀڵ鵵 Åø¹Ù¿¡´Â ´ç¿¬È÷ ÀÌ·± ¸í·ÉµéÀÌ Àֱ⸦ ±â´ëÇÑ´Ù. ÀÌ·± ÀϹÝÀûÀÎ ¹öưÀº ´©°¡ ¸¸µé¾îµµ °ÅÀÇ ºñ½ÁÇÑ ¸ð¾çÀ» °¡Áö¸ç ¸Å¹ø ¸¸µé·Á¸é ¾ÆÁÖ ±ÍÂúÀºµ¥ ´©±º°¡°¡ Çѹø¸¸ Àß ¸¸µé¾î ³õÀ¸¸é ¸ðµÎ°¡ ÆíÇÏ°Ô ¾µ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
±×·¡¼ °øÅë ÄÁÆ®·Ñ ¶óÀ̺귯¸®´Â ¾Æ¿¹ DLL¿¡ ÀÌ·± ÀÚÁÖ »ç¿ëÇÏ´Â ºñÆ®¸ÊµéÀ» ¹Ì¸® ¸¸µé¾î¼ Á¦°øÇϴµ¥ ÀÌ ºñÆ®¸ÊÀ» Ç¥ÁØ ºñÆ®¸ÊÀ̶ó°í ÇÑ´Ù. Á¾·ù¿Í Å©±âº°·Î ¸ðµÎ ¿©¼¸°³ÀÇ ºñÆ®¸ÊÀÌ Á¦°øµÇ¸ç °¢ ºñÆ®¸Ê¾È¿¡´Â ´ÙÀ½°ú °°Àº À̹ÌÁöµéÀÌ ÀÛ¼ºµÇ¾î ÀÖ´Ù. °¢ À̹ÌÁö°¡ ¾î¶² ¸ð¾çÀ¸·Î ¸¸µé¾îÁ® ÀÖ´ÂÁö´Â Á÷Á¢ Åø¹Ù¿¡ ³Ö¾î º¸¸é ¾Ë ¼ö ÀÖ°ÚÁö¸¸ À̸§¸¸À¸·Îµµ ±× ¸ð¾çÀº ½±°Ô À¯Ãß°¡ °¡´ÉÇÏ´Ù.
ºñÆ®¸Ê |
À̹ÌÁö |
IDB_HLIST_LARGE_COLOR IDB_HLIST_SMALL_COLOR |
HIST_ADDTOFAVORITES HIST_BACK HIST_FAVORITES HIST_FORWARD HIST_VIEWTREE |
IDB_STD_LARGE_COLOR IDB_STD_SMALL_COLOR |
STD_COPY STD_CUT STD_DELETE STD_FILENEW STD_FILEOPEN STD_FILESAVE STD_FIND STD_HELP STD_PASTE STD_PRINT STD_PRINTPRE STD_PROPERTIES STD_REDOW STD_REPLACE STD_UNDO |
IDB_VIEW_LARGE_COLOR IDB_VIEW_SMALL_COLOR |
VIEW_DETAILS VIEW_LARGETICONS VIEW_LIST VIEW_NETCONNECT VIEW_NETDISCONNECT VIEW_NEWFOLDER VIEW_PARENTFOLDER VIEW_SMALLICONS VIEW_SORTDATE VIEW_SORTNAME VIEW_SORTSIZE VIEW_SORTTYPE |
ÀÌ Ç¥ÁØ À̹ÌÁö¸¦ »ç¿ëÇÏ°í ½ÍÀ¸¸é CreateToolBarEx ÇÔ¼öÀÇ hInstance Àμö¿¡ HINST_COMMCTRL°ªÀ» ÁÖ°í ºñÆ®¸Ê À̸§À» ÁöÁ¤ÇØ ÁÖ¸é µÈ´Ù. ¹°·Ð TBBUTTON ±¸Á¶Ã¼ÀÇ iBitmap ¸â¹ö¿¡´Â ÀÌ ºñÆ®¸Ê¿¡ µé¾î ÀÖ´Â À̹ÌÁöµéÀ» ±â·ÏÇØ ÁÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÀÌ·± ¹æ¹ýÀ¸·Î ¸®¼Ò½º ¾øÀÌ Åø ¹Ù¸¦ ¸¸µç °ÍÀÌ´Ù.
#include <commctrl.h>
#define ID_TOOLBAR 100
HWND hToolBar;
BOOL bBig;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
TCHAR Mes[]="¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´©¸£¸é ¹öưÀÇ Å©±â°¡ ¹Ù²ò´Ï´Ù.";
TBBUTTON ToolBtn[20]={
{STD_FILENEW,10,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_FILEOPEN,11,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_FILESAVE,12,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{4,0,0,TBSTYLE_SEP,0,0,0,0},
{STD_CUT,13,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_COPY,14,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_PASTE,15,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_DELETE,16,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{4,0,0,TBSTYLE_SEP,0,0,0,0},
{STD_UNDO,17,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_REDOW,18,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{4,0,0,TBSTYLE_SEP,0,0,0,0},
{STD_PRINT,19,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_PRINTPRE,20,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{4,0,0,TBSTYLE_SEP,0,0,0,0},
{STD_FIND,21,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_REPLACE,22,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{STD_PROPERTIES,23,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{4,0,0,TBSTYLE_SEP,0,0,0,0},
{STD_HELP,24,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0}
};
switch(iMessage) {
case WM_CREATE:
hWndMain=hWnd;
InitCommonControls();
bBig=FALSE;
hToolBar=CreateToolbarEx(hWndMain, WS_CHILD | WS_VISIBLE | WS_BORDER,
ID_TOOLBAR, 15, HINST_COMMCTRL, IDB_STD_SMALL_COLOR, ToolBtn, 20,
16,16,16,16,sizeof(TBBUTTON));
return 0;
case WM_LBUTTONDOWN:
TBREPLACEBITMAP rb;
int bx,by;
bBig=!bBig;
rb.hInstOld=rb.hInstNew=HINST_COMMCTRL;
if (bBig) {
rb.nIDOld=IDB_STD_SMALL_COLOR;
rb.nIDNew=IDB_STD_LARGE_COLOR;
bx=24;by=23;
} else {
rb.nIDOld=IDB_STD_LARGE_COLOR;
rb.nIDNew=IDB_STD_SMALL_COLOR;
bx=16;by=15;
}
rb.nButtons=15;
SendMessage(hToolBar,TB_REPLACEBITMAP,0,(LPARAM)&rb);
SendMessage(hToolBar,TB_SETBITMAPSIZE,0,(LPARAM)MAKELONG(bx,by));
SendMessage(hToolBar,TB_AUTOSIZE,0,0);
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
TextOut(hdc,10,50,Mes,lstrlen(Mes));
EndPaint(hWnd, &ps);
return 0;
case WM_SIZE:
SendMessage(hToolBar,TB_AUTOSIZE,0,0);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
WM_CREATE¿¡¼ Åø ¹Ù¸¦ ¸¸µå´Âµ¥ HINST_COMMCTRL ÀνºÅϽºÀÇ IDB_STD_SMALL_COLOR ºñÆ®¸ÊÀ» »ç¿ëÇϰí ÀÖ´Ù. ToolBtn ¹è¿¿¡´Â ÀÌ ºñÆ®¸Ê¿¡ µé¾î ÀÖ´Â À̹ÌÁöÀÇ À妽ºµéÀÌ ±âÀԵǾî ÀÖ´Ù. ½ÇÇàÇØ º¸¸é ´ÙÀ½°ú °°Àº Åø¹Ù°¡ ³ªÅ¸³¯ °ÍÀÌ´Ù.
ÈçÈ÷ ¸¹ÀÌ º¸´Â ÀϹÝÀûÀÎ ¸ð¾çÀÇ Åø¹ÙÀε¥ ºñÆ®¸ÊÀ» ¸¸µéÁö ¾Ê°íµµ ÀÌ·± Àß ¸¸µé¾îÁø À̹ÌÁö¸¦ ¾µ ¼ö ÀÖ´Ù´Â °ÍÀº Âü ¸ÚÁø ÀÏÀÌ´Ù. ¹°·Ð Ç¥ÁØ À̹ÌÁö¿¡ ¿ì¸®°¡ ÇÊ¿ä·Î ÇÏ´Â ¸ðµç ºñÆ®¸ÊÀÌ ´Ù µé¾î ÀÖ´Â °ÍÀº ¾Æ´ÏÁö¸¸ ¸»ÀÌ´Ù. ¸¸¾à Ç¥ÁØ À̹ÌÁö¿Í Á÷Á¢ ¸¸µç À̹ÌÁö¸¦ °°ÀÌ ¾²°í ½Í´Ù¸é °¢ ¹öưÀ» °³º°ÀûÀ¸·Î Ãß°¡ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ºñÆ®¸Êº°·Î TBBUTTONS ±¸Á¶Ã¼ ¹è¿À» µû·Î ¸¸µé°í TB_ADDBUTTONS ¸Þ½ÃÁö¸¦ ¿©·¯ ¹ø º¸³» ÁÖ¸é µÈ´Ù.
¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´©¸£¸é Å« À̹ÌÁö·Î ¹Ù²Ù¾î ÁÖµµ·Ï Çß´Ù. ¾îÂ÷ÇÇ °øÂ¥·Î ¾µ ¼ö ÀÖ´Â ºñÆ®¸ÊÀ̹ǷΠū À̹ÌÁöµµ »ç¿ëÇØ º¸µµ·Ï ÇÏÀÚ. ºñÆ®¸ÊÀ» ¹Ù²Ü ¶§´Â TBREPLACEBITMAP ±¸Á¶Ã¼¿¡ º¯°æÇϰíÀÚ ÇÏ´Â ºñÆ®¸ÊÀ» °¡Áø ÀνºÅϽº ÇÚµé°ú ºñÆ®¸Ê ID¸¦ ´ëÀÔÇÑ ÈÄ TB_REPLACEBITMAP ¸Þ½ÃÁö¸¦ º¸³½´Ù. ÀÌ ¸Þ½ÃÁö¸¦ º¸³½ ÈÄ TB_SETBITMAPSIZE ¸Þ½ÃÁö¸¦ º¸³» ºñÆ®¸ÊÀÇ Å©±â°¡ º¯°æµÇ¾úÀ½À» ¾Ë·Á ÁÖ°í TB_AUTOSIZE ¸Þ½ÃÁö·Î Åø¹Ù°¡ Å©±â¸¦ Á¶Á¤ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ¾î¾ß ÇÑ´Ù.