ApiDraw10¿¡¼´Â ÆíÁýÇÑ ¹®¼¸¦ ÆÄÀÏ·Î ÀúÀåÇÑ´Ù. ÆÄÀÏ ÀÔÃâ·Â ±â´ÉÀ» Ãß°¡ÇÏ·Á¸é ¸ÕÀú ÇöÀç ÆíÁýÇϰí ÀÖ´Â ÆÄÀÏÀÇ À̸§À» °ü¸®ÇØ¾ß ÇÑ´Ù. ±×·¡¾ß »õ·Î ¸¸µç ¹®¼ÀÎÁö ¾Æ´Ï¸é ÀúÀåµÈ ÆÄÀÏÀ» ºÒ·¯¿Â °ÍÀÎÁö, ±×·¸´Ù¸é ÆÄÀÏÀÇ °æ·Î´Â ¾îµðÀÎÁö¸¦ ¾Ë ¼ö ÀÖ´Ù. ¶ÇÇÑ ÆíÁýÁßÀÎ ¹®¼°¡ ¾ðÁ¦ º¯°æµÇ´ÂÁö¸¦ °ü¸®ÇØ¾ß ÇÑ´Ù. ±×·¡¾ß ¹®¼¸¦ ´ÝÀ» ¶§ ÀúÀå ¿©ºÎ¸¦ ÆÇ´ÜÇÏ¿© ÀúÀåÇÒ °ÍÀÎÁö ¹ö¸± °ÍÀÎÁö¸¦ ¹°¾î º¼ ¼ö ÀÖ´Ù. ´ÙÀ½ µÎ °³ÀÇ Àü¿ª º¯¼ö¸¦ Ãß°¡ÇÑ´Ù.
TCHAR NowFile[MAX_PATH];
BOOL bModified;
ÆÄÀϸíÀ̹ǷΠMAX_PATH ±æÀ̸¦ °¡Áö´Â ¹®ÀÚÇü ¹è¿·Î ¼±¾ðÇßÀ¸¸ç º¯°æ ¿©ºÎ´Â BOOLÇüÀ̾î¾ß ÇÑ´Ù. ÇöÀç ÆíÁýÁßÀÎ ÆÄÀÏÀº ¾ÆÁÖ Áß¿äÇÑ Á¤º¸À̹ǷΠº¸Åë ŸÀÌÆ² ¹Ù¿¡ Ãâ·ÂÇÑ´Ù. ´ÙÀ½ ÇÔ¼ö´Â ÆÄÀϸíÀ» Àü´ÞÇϸé ÀÌ ÆÄÀϸíÀ» NowFile¿¡ º¹»çÇϰí ŸÀÌÆ² ¹Ù¿¡ ÇÁ·Î±×·¥ À̸§°ú ÆíÁýÁßÀÎ ÆÄÀÏÀÇ °æ·Î¸¦ º¸¿©ÁØ´Ù.
void ChangeCaption(TCHAR *Path)
{
TCHAR Cap[MAX_PATH+64];
lstrcpy(NowFile,Path);
wsprintf(Cap,"ApiDraw - %s",Path);
SetWindowText(hWndMain,Cap);
}
OnCreate¿¡¼ µÎ Àü¿ª º¯¼ö¸¦ ´ÙÀ½°ú °°ÀÌ ÃʱâÈÇÑ´Ù.
LRESULT OnCreate(HWND hWnd,WPARAM wParam,LPARAM lParam)
{
....
ChangeCaption("À̸§¾øÀ½");
bModified=FALSE;
return 0;
}
ÃÖÃÊ ¹®¼¸¦ ¸¸µé ¶§´Â ¼öÁ¤µÇÁö ¾ÊÀº »óÅÂÀ̹ǷΠOnCreate¿¡¼ FALSE·Î ÃʱâÈÇϰí NowFileµµ "À̸§¾øÀ½"À¸·Î ÃʱâÈÇß´Ù. ½ÇÇàµÇÀÚ ¸¶ÀÚ Å¸ÀÌÆ² ¹Ù¿¡´Â "ApiDraw - À̸§¾øÀ½"À̶ó°í Ç¥½ÃµÉ °ÍÀÌ´Ù. ¹®¼¸¦ ÆíÁýÇÏ´Â ¸ðµç °÷¿¡¼ bModified¸¦ TRUE·Î º¯°æÇØ¾ß Çϴµ¥ ¹®¼°¡ Á¶±ÝÀÌ¶óµµ º¯°æµÇ´Â °÷À» ¸ðµÎ ã¾Æ bModified=TRUE¸¦ ³Ö¾î ÁØ´Ù.
BOOL AppendObject(DTool Type,int x1,int y1,int x2,int y2)
{
....
bModified=TRUE;
return TRUE;
}
void DelObject(int idx)
{
....
bModified=TRUE;
}
void MoveObjectInArray(int src,int dest)
{
....
bModified=TRUE;
}
LRESULT OnCommand(HWND hWnd,WPARAM wParam,LPARAM lParam)
{
case IDM_POPUP_PROPERTY:
if (NowSel != -1) {
if (DialogBoxParam(g_hInst, MAKEINTRESOURCE(IDD_PROPERTY),
hWnd,PropertyDlgProc,(LPARAM)arObj[NowSel])==IDOK) {
InvalidateRect(hWnd,NULL,TRUE);
bModified=TRUE;
}
}
....
LRESULT OnLButtonUp(HWND hWnd,WPARAM wParam,LPARAM lParam)
{
if (DragMode==DM_MOVE || DragMode==DM_SIZE) {
....
if (!IsRectEmpty(&irt)) {
bModified=TRUE;
LRESULT OnKeyDown(HWND hWnd,WPARAM wParam,LPARAM lParam)
{
....
if (bAction) {
....
if (!IsRectEmpty(&irt)) {
bModified=TRUE;
µµÇüÀ» »õ·Î »ðÀÔÇÒ ¶§¿Í »èÁ¦ÇÒ ¶§´Â ¹°·ÐÀ̰í Á¤·Ä »óŸ¦ ¹Ù²Ù°Å³ª À̵¿, Å©±â º¯°æÇÒ ¶§µµ ¸ðµÎ ¹®¼°¡ º¯°æµÇ´Â °ÍÀÌ´Ù. µµÇüÀÇ ¼Ó¼ºÀ» º¯°æÇÒ ¶§µµ ¸¶Âù°¡ÁöÀÌ´Ù. Äڵ带 Á» ´õ ±¸Á¶ÀûÀ¸·Î ÀÛ¼ºÇϸé bModified º¯°æ¹®À» ÇÑ °÷À¸·Î ÁýÁß½Ãų ¼öµµ ÀÖ´Ù. ÀÌÁ¦ bModified º¯¼ö°ª¸¸ »ìÆì º¸¸é ¾ðÁ¦µçÁö ÀÌ ¹®¼°¡ ÆíÁýµÇ¾ú´ÂÁö ¾Æ´ÑÁö¸¦ ¾Ë ¼ö ÀÖ´Ù.