ÆÄÀÏ ¿­±â

¿­·Á´Â ÆÄÀÏÀÇ À̸§, µð·ºÅ͸® ¹× µå¶óÀ̺긦 »ç¿ëÀÚ ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï ¿­±â ´ëÈ­ »óÀÚ¸¦ Ç¥½Ã ÇÏ´Â »ùÇà Äڵ忡 ¼³¸í ÇÕ´Ï´Ù. »ùÇà Äڵ带 ¸ÕÀú OPENFILENAME ±¸Á¶¸¦ ÃʱâÈ­ ÇÏ °í ´ëÈ­ »óÀÚ¸¦ Ç¥½Ã ÇÏ·Á¸é GetOpenFileName ÇÔ¼ö¸¦ È£Ãâ ÇÏ´Â ´ÙÀ½.

ÀÌ ¿¹Á¦¿¡¼­´Â lpstrFilter ¸â¹ö »ç¿ëÀÚ Á¦ÇÑ Ç¥½Ã µÇ´Â ÆÄÀÏÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Â µÎ °³ÀÇ ÆÄÀÏ À̸§ ÇÊÅ͸¦ ÁöÁ¤ ÇÏ´Â ¹öÆÛ¸¦ °¡¸®Åµ´Ï´Ù. ¹öÆÛ ÀÌÁß null Á¾·á ¹è¿­ ¹®ÀÚ¿­ÀÇ °¢ ½Ö¿¡ ÇÊÅ͸¦ ÁöÁ¤ ÇÏ´Â ¹®ÀÚ¿­À» Æ÷ÇÔ ÇÕ´Ï´Ù. ´ëÈ­ »óÀÚ¸¦ ¸¸µé ¶§ »ç¿ë Çϴ ù ¹ø° ÆÐÅÏÀ» ÁöÁ¤ ÇÏ´Â nFilterIndex ¸â¹ö.

Ç÷¡±× ±¸¼º¿ø¿¡¼­ OFN_PATHMUSTEXIST ¹× OFN_FILEMUSTEXIST Ç÷¡±×¸¦ ¼³Á¤ ÇÏ´ÂÀÌ ¿¹Á¦. ÀÌ·¯ÇÑ Ç÷¡±×¸¦ ¹Ýȯ Çϱâ Àü¿¡ È®ÀÎ ´ëÈ­ »óÀÚ¸¦ °æ·Î ÆÄÀÏ À̸§À» »ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ ½ÇÁ¦·Î Á¸Àç ÇÏ´Â ¿øÀÎ.

GetOpenFileName ÇÔ¼ö´Â È®ÀÎ ´ÜÃ߸¦ Ŭ¸¯ ÇÏ °í ÁöÁ¤ µÈ °æ·Î ÆÄÀÏ À̸§ÀÌ Á¸Àç ÇÏ´Â °æ¿ì TRUE¸¦ ¹Ýȯ ÇÕ´Ï´Ù. ÀÌ °æ¿ì lpstrFile ¸â¹ö¿¡¼­ °¡¸®Å°´Â ¹öÆÛ´Â °æ·Î ÆÄÀÏ À̸§À» Æ÷ÇÔ ÇÕ´Ï´Ù. »ùÇà Äڵ忡¼­ÀÌ Á¤º¸¸¦ »ç¿ë ÇÏ ¿© È£Ãâ ÇÏ´Â ÆÄÀÏÀ» ¿±´Ï´Ù CreateFile ÇÔ¼ö.

ÀÌ ¿¹Á¦´Â OFN_EXPLORER Ç÷¡±×¸¦ ¼³Á¤ ÇÏÁö ¾Ê½À´Ï´Ù, ÇÏÁö¸¸ ¿©ÀüÈ÷ ±âº» Ž»ö±â ½ºÅ¸ÀÏ ¿­±â ´ëÈ­ »óÀÚ¸¦ Ç¥½Ã ÇÕ´Ï´Ù. ±×·¯³ª ÈÄÅ© ÇÁ·Î½ÃÀú ¶Ç´Â »ç¿ëÀÚ ÁöÁ¤ ¼­½Ä ÆÄÀÏÀ» Á¦°ø ÇÏ·Á´Â °æ¿ì Ž»ö±â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ ÇØ¾ß ÇÕ´Ï´Ù OFN_EXPLORER Ç÷¡±×.

OPENFILENAME ofn;       / / ÀÏ¹Ý ´ëÈ­ »óÀÚ ±¸Á¶
char szFile [260];       / / ÆÄÀÏ À̸§ ¹öÆÛ
HWND hwnd;              / / ¼ÒÀ¯ÀÚ Ã¢
ÇÚµé hf;              / / ÆÄÀÏ ÇÚµé

/ / OPENFILENAME ÃʱâÈ­
ZeroMemory (amp; ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0 ";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofnÀÔ´Ï´Ù.Ç÷¡±× = OFN_PATHMUSTEXIST (ko) | OFN_FILEMUSTEXIST;

/ / ¿­±â ´ëÈ­ »óÀÚ¸¦ Ç¥½Ã ÇÕ´Ï´Ù. 

°æ¿ì (GetOpenFileName(&ofn) = TRUE) hf CreateFile (ofn.lpstrFile, GENERIC_READ, =
        0, NULL (LPSECURITY_ATTRIBUTES)
        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
        (ÇÚµé) NULL) 

 

Index