¼±¾ð |
typedef struct tagOFN { DWORD lStructSize; HWND hwndOwner; HINSTANCE hInstance; LPCTSTR lpstrFilter; LPTSTR lpstrCustomFilter; DWORD nMaxCustFilter; DWORD nFilterIndex; LPTSTR lpstrFile; DWORD nMaxFile; LPTSTR lpstrFileTitle; DWORD nMaxFileTitle; LPCTSTR lpstrInitialDir; LPCTSTR lpstrTitle; DWORD Flags; WORD nFileOffset; WORD nFileExtension; LPCTSTR lpstrDefExt; LPARAM lCustData; LPOFNHOOKPROC lpfnHook; LPCTSTR lpTemplateName; #if (_WIN32_WINNT >= 0x0500) void * pvReserved; DWORD dwReserved; DWORD FlagsEx; #endif // (_WIN32_WINNT >= 0x0500) } OPENFILENAME, *LPOPENFILENAME; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
¼³¸í |
ÆÄÀÏ ¿±â °øÅë ´ëÈ»óÀÚÀÇ ÃʱⰪÀ» ÁöÁ¤ÇÑ´Ù. ¶ÇÇÑ »ç¿ëÀÚ°¡ ´ëÈ»óÀÚ¿¡¼ ¼±ÅÃÇÑ ÆÄÀϸíÀ» ÀÌ ±¸Á¶Ã¼·Î ¸®ÅÏÇØ ÁØ´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
¸â¹ö |
¢ºlStructSize : OPENFILENAME ±¸Á¶Ã¼ÀÇ Å©±â¸¦ ÁöÁ¤Çϸç ÀÌ °ªÀº ¹öÀü È®ÀÎÀ» À§ÇØ »ç¿ëµÈ´Ù. sizeof(OPENFILENAME)À» ´ëÀÔÇØ ÁÖ¸é µÈ´Ù. ´Ü 2000 ÀÌÀü ¹öÀü¿¡¼ »ç¿ëµÉ ÇÁ·Î±×·¥À» 2000 ȯ°æ¿¡¼ °³¹ßÁßÀ̶ó¸é OPENFILENAME_SIZE_VERSION_400À» ´ëÀÔÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¢ºhwndOwner : ´ëÈ»óÀÚÀÇ ¼ÒÀ¯ÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. ¼ÒÀ¯ÀÚ À©µµ¿ì°¡ ¾øÀ» °æ¿ì´Â NULL·Î ÁöÁ¤ÇÑ´Ù. ¢ºhInstance : º°µµÀÇ ´ëÈ»óÀÚ ÅÛÇø®Æ®¸¦ »ç¿ëÇÒ °æ¿ì ¸®¼Ò½º¸¦ °¡Áø ÀνºÅϽº ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÇÊ¿ä¾øÀ¸¸é NULL·Î ÁöÁ¤ÇÑ´Ù. ¢ºlpstrFilter : ÆÄÀÏ Çü½Ä ÄÞº¸ ¹Ú½º¿¡ ³ªÅ¸³¾ ÇÊÅ͵éÀÌ¸ç ³Î ¹®ÀÚ¸¦ ±âÁØÀ¸·Î "ÆÄÀÏ Çü½Ä\0ÇÊÅÍ"¿Í °°ÀÌ ±â¼úÇÑ´Ù. ¿©·¯ °³ÀÇ ÇÊÅ͸¦ \0·Î ±¸ºÐÇؼ µ¿½Ã¿¡ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ ÇÊÅÍ´Â ÆÄÀÏ Çü½Ä ÄÞº¸ ¹Ú½º¿¡ ¼ø¼´ë·Î ³ªÅ¸³´Ù. ¢ºlpstrCustomFilter : »ç¿ëÀÚ°¡ ½ÇÇàÁß¿¡ ¼±ÅÃÇÑ Ä¿½ºÅÒ ÇÊÅ͸¦ ÀúÀåÇϱâ À§ÇÑ ¹öÆÛÀÌ´Ù. ÀÌ ¹öÆÛ¿¡ ÇÊÅÍ ¼³¸íÀ» ÀÔ·ÂÇØ ³õÀ¸¸é »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ÇÊÅÍ°¡ µÎ ¹ø° ¹®ÀÚ¿¿¡ ÀԷµȴÙ. nFilterIndex°¡ 0À̸é Ä¿½ºÅÒ ÇÊÅÍ°¡ »ç¿ëµÈ´Ù. ¢ºnMaxCustFilter : Ä¿½ºÅÒ ÇÊÅÍ ¹öÆÛÀÇ ±æÀÌÀ̸ç ÃÖ¼ÒÇÑ 40¹®ÀÚ ÀÌ»ó µÇ¾î¾ß ÇÑ´Ù. ¢ºnFilterIndex : ÆÄÀÏ Çü½Ä ÄÞº¸ ¹Ú½º¿¡¼ »ç¿ëÇÒ ÇÊÅÍÀÇ À妽º¸¦ ÁöÁ¤ÇÑ´Ù. 0À̸é Ä¿½ºÅÒ ÇÊÅÍÀ̸ç 1À̸é lpstrFilterÀÇ Ã¹ ¹ø° ÇÊÅÍ, 2¸é lpstrFilterÀÇ µÎ ¹ø° ÇÊÅÍÀÌ´Ù. ´ëÈ»óÀÚ°¡ ¸®ÅÏÇÒ ¶§ ÀÌ ¸â¹ö¿¡´Â »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ÆÄÀÏÀÇ ÇÊÅÍ°¡ ´ëÀԵȴÙ. ¢ºlpstrFile : ÆÄÀÏ À̸§ ¿¡µðÆ®¿¡ óÀ½ ³ªÅ¸³¾ ÆÄÀϸíÀ» ÁöÁ¤Ç쵂 ÇÊ¿ä¾øÀ» °æ¿ì´Â NULL·Î ÁöÁ¤ÇÑ´Ù. ¶ÇÇÑ ÀÌ ¸â¹ö´Â »ç¿ëÀÚ°¡ ÃÖÁ¾ÀûÀ¸·Î ¼±ÅÃÇÑ ÆÄÀÏÀÇ À̸§(¿ÏÀü °æ·Î)À» ¸®ÅÏÇÏ´Â ¿ëµµ·Î »ç¿ëµÈ´Ù. Áï ÆÄÀÏ ´ëÈ»óÀÚ°¡ Á¾·áµÈ ÈÄ ÀÌ ¸â¹ö¸¦ ÅëÇØ »ç¿ëÀÚ°¡ ¾î¶² ÆÄÀÏÀ» ¼±ÅÃÇß´ÂÁö¸¦ ¾Ë°Ô µÈ´Ù. ¹Ýµå½Ã ÃæºÐÇÑ ±æÀÌÀÇ ¹öÆÛ¸¦ Á¦°øÇØ¾ß ÇÑ´Ù. ¢ºnMaxFile : lpstrFile ¸â¹öÀÇ ±æÀÌÀÌ´Ù. ÃÖ¼Ò 256¹®ÀÚ ºÐÀÇ ±æÀ̸¦ °¡Á®¾ß ÇÑ´Ù. ¢ºlpstrFileTitle : ÆÄÀÏÀÇ À̸§À» µ¹·Á¹Þ±â À§ÇÑ ¹öÆÛ¸¦ Á¦°øÇÑ´Ù. ÀÌ ¹öÆÛ¿¡´Â ÆÄÀÏÀÇ °æ·Î´Â Æ÷ÇÔµÇÁö ¾ÊÀ¸¸ç ÆÄÀÏ À̸§¸¸ ¸®ÅϵȴÙ. ÇÊ¿ä ¾øÀ¸¸é NULL·Î ÁÙ ¼öµµ ÀÖ´Ù. ¢ºnMaxFileTitle : lpstrFileTitle ¸â¹öÀÇ ±æÀ̸¦ ÁöÁ¤ÇÑ´Ù. ¢ºlpstrInitialDir : ÆÄÀÏ Ã£±â¸¦ ½ÃÀÛÇÒ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. ´ëÈ»óÀÚ°¡ ¿¸± ¶§ ÀÌ ¸â¹ö°¡ ÁöÁ¤ÇÏ´Â µð·ºÅ丮¸¦ ÇöÀç µð·ºÅ丮·Î »ç¿ëÇÑ´Ù. ¿î¿µÃ¼Á¦ ¹öÀü¿¡ µû¶ó ÀÌ ¸â¹ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ¾à°£¾¿ ´Ù¸£´Ù. 2000ÀÇ °æ¿ì lpstrFile¿¡ °æ·Î°¡ Æ÷ÇԵǾî ÀÖÀ¸¸é ÀÌ ¸â¹öº¸´Ù lpstrFileÀÇ °æ·Î°¡ ¿ì¼±À̳ª 98Àº ÀÌ ¸â¹ö°¡ NULLÀÌ°í lpstrFile¿¡ °æ·Î°¡ ÀÖÀ» °æ¿ì¸¸ lpstrFileÀÇ °æ·Î°¡ »ç¿ëµÈ´Ù. ÀÌ °æ·Î°¡ NULLÀ̸é ÇöÀç µð·ºÅ丮 ¶Ç´Â ÃÖÈÄ »ç¿ëÇÑ µð·ºÅ丮°¡ ½ÃÀÛ µð·ºÅ丮°¡ µÈ´Ù. ¢ºlpstrTitle : ´ëÈ»óÀÚÀÇ Ä¸¼ÇÀ» ÁöÁ¤ÇÑ´Ù. ĸ¼ÇÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é "¿±â" ¶Ç´Â "ÀúÀå"ÀÌ µðÆúÆ® ĸ¼ÇÀ¸·Î »ç¿ëµÈ´Ù. ¢ºFlags : ´ëÈ»óÀÚÀÇ ¸ð¾ç°ú µ¿ÀÛÀ» ÁöÁ¤ÇÏ´Â ¿É¼ÇÀ» ¼³Á¤ÇÏ´Â Ç÷¡±×ÀÌ´Ù. ÀÌ ¸â¹ö¿¡ ÁöÁ¤ÇÏ´Â Ç÷¡±×¿¡ µû¶ó ¿©·¯ ÆÄÀÏ ¼±ÅÃ, Ä¿½ºÅÒ ´ëÈ»óÀÚ, ÈÅ ÇÔ¼ö »ç¿ë, µµ¿ò¸» Áö¿ø ¿©ºÎ, °øÀ¯ »óÅ ȮÀÎ µîÀÇ ±â´ÉÀÌ Ãß°¡µÈ´Ù.
¢ºnFileOffset : lpstrFile ¹öÆÛ ³»ÀÇ ÆÄÀÏ¸í ¿ÀÇÁ¼ÂÀ» ¸®ÅÏÇÑ´Ù. lpstrFile ¹öÆÛ¿¡¼ ÀÌ ¿ÀÇÁ¼Â¸¸Å ´õÇÏ¸é °æ·Î¸íÀ» Á¦¿ÜÇÑ ÆÄÀÏ¸í¸¸ ¾òÀ» ¼ö ÀÖ´Ù. ¢ºnFileExtension : lpstrFile ¹öÆÛ ³»ÀÇ ÆÄÀÏ È®ÀåÀÚ ¿ÀÇÁ¼ÂÀ» ¸®ÅÏÇÑ´Ù. È®ÀåÀÚ¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾ÒÀ¸¸é ¿ÀÇÁ¼ÂÀº ³Î Á¾·á ¹®ÀÚ¿À» °¡¸®Å°¸ç Á¦ÀÏ ³¡¿¡ .¸¸ Âï¾î È®ÀåÀÚ°¡ ¾øÀ½À» ºÐ¸íÈ÷ ÀÔ·ÂÇßÀ¸¸é ÀÌ °ªÀº 0ÀÌ µÈ´Ù. ¢ºlpstrDefExt : »ç¿ëÀÚ°¡ È®ÀåÀÚ¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾ÒÀ» °æ¿ì µðÆúÆ® È®ÀåÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. "txt", "exe" µî°ú °°ÀÌ .Àº Æ÷ÇÔÇÏÁö ¾Ê¾Æ¾ß Çϸç 3ÀÚ ÀÌ»óÀº ¹«½ÃµÈ´Ù. ¢ºlCustData : ÈÅ ÇÁ·Î½ÃÀú·Î º¸³¾ »ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅÍÀÌ´Ù. ÈÅ ÇÁ·Î½ÃÀúÀÇ WM_INITDIALOGÀÇ lParamÀ¸·Î ÀÌ ±¸Á¶Ã¼ ÀÚü°¡ Àü´ÞµÇ¸ç ÀÌ ¸â¹ö¸¦ ÀÐ¾î »ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅ͸¦ ±¸ÇÒ ¼ö ÀÖ´Ù. ¢ºlpfnHook : OFN_ENABLEHOOK Ç÷¡±×°¡ ÁöÁ¤µÇ¾î ÀÖÀ» ¶§ ÈÅ ÇÁ·Î½ÃÀú¸¦ ÁöÁ¤ÇÑ´Ù. ¢ºlpTemplateName : OFN_ENABLETEMPLATE Ç÷¡±×°¡ ÁöÁ¤µÇ¾î ÀÖÀ» ¶§ ÅÛÇø®Æ®¸¦ ÁöÁ¤ÇÑ´Ù. ¢ºpvReserved : ¿¹¾àµÈ ¸â¹ö ¢ºdwReserved : ¿¹¾àµÈ ¸â¹ö ¢ºFlagsEx : ´ëÈ»óÀÚ ÃʱâÈ¿¡ »ç¿ëÇÒ È®Àå Ç÷¡±×¸¦ ÁöÁ¤ÇÑ´Ù. OFN_EX_NOPLACEBAR Ç÷¡±×°¡ Á¤ÀǵǾî ÀÖÀ¸¸ç ÀÌ Ç÷¡±×¸¦ ÁöÁ¤Çϸé ÃÖ±Ù ÆÄÀÏ, ¹ÙÅÁ È¸é µîÀÇ Ç÷¹À̽º ¹Ù°¡ Ç¥½ÃµÇÁö ¾Ê´Â´Ù. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Âü°íÇÔ¼ö |
GetOpenFileName, GetSaveFileName |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ç÷§Æû |
95ÀÌ»ó |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|