Ignore:
Timestamp:
May 19, 2008, 5:10:15 PM (16 years ago)
Author:
dai_9181
Message:

・PROJECTINFO構造体を廃止し、Projectクラスを採用した。
・ProjectInfoをprojectInfoにリネーム

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/abdev/Resource.cpp

    r613 r618  
    1717    HANDLE hFile;
    1818
    19     lstrcpy(temporary,ProjectInfo.ResourceFileName);
    20     GetFullPath(temporary,ProjectInfo.dir);
     19    lstrcpy(temporary,projectInfo.ResourceFileName);
     20    GetFullPath(temporary,projectInfo.dir);
    2121
    2222    hFile=CreateFile(temporary,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
     
    6767
    6868        if(lstrcmpi(temporary,"CURSOR")==0){
    69             ProjectInfo.res.pCursorResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,ProjectInfo.res.pCursorResInfo,(ProjectInfo.res.NumberOfCursorRes+1)*sizeof(RESITEMINFO));
    70 
    71             ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].IdName=
     69            projectInfo.res.pCursorResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,projectInfo.res.pCursorResInfo,(projectInfo.res.NumberOfCursorRes+1)*sizeof(RESITEMINFO));
     70
     71            projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].IdName=
    7272                (char *)HeapAlloc(hHeap,0,lstrlen(temp3)+1);
    73             lstrcpy(ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].IdName,temp3);
    74 
    75             ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].path=
     73            lstrcpy(projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].IdName,temp3);
     74
     75            projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].path=
    7676                (char *)HeapAlloc(hHeap,0,lstrlen(temp2)+1);
    77             lstrcpy(ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].path,temp2);
    78 
    79             ProjectInfo.res.NumberOfCursorRes++;
     77            lstrcpy(projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].path,temp2);
     78
     79            projectInfo.res.NumberOfCursorRes++;
    8080        }
    8181        else if(lstrcmpi(temporary,"BITMAP")==0){
    82             ProjectInfo.res.pBitmapResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,ProjectInfo.res.pBitmapResInfo,(ProjectInfo.res.NumberOfBitmapRes+1)*sizeof(RESITEMINFO));
    83 
    84             ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].IdName=
     82            projectInfo.res.pBitmapResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,projectInfo.res.pBitmapResInfo,(projectInfo.res.NumberOfBitmapRes+1)*sizeof(RESITEMINFO));
     83
     84            projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].IdName=
    8585                (char *)HeapAlloc(hHeap,0,lstrlen(temp3)+1);
    86             lstrcpy(ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].IdName,temp3);
    87 
    88             ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].path=
     86            lstrcpy(projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].IdName,temp3);
     87
     88            projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].path=
    8989                (char *)HeapAlloc(hHeap,0,lstrlen(temp2)+1);
    90             lstrcpy(ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].path,temp2);
    91 
    92             ProjectInfo.res.NumberOfBitmapRes++;
     90            lstrcpy(projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].path,temp2);
     91
     92            projectInfo.res.NumberOfBitmapRes++;
    9393        }
    9494        else if(lstrcmpi(temporary,"ICON")==0){
    95             ProjectInfo.res.pIconResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,ProjectInfo.res.pIconResInfo,(ProjectInfo.res.NumberOfIconRes+1)*sizeof(RESITEMINFO));
    96 
    97             ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].IdName=
     95            projectInfo.res.pIconResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,projectInfo.res.pIconResInfo,(projectInfo.res.NumberOfIconRes+1)*sizeof(RESITEMINFO));
     96
     97            projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].IdName=
    9898                (char *)HeapAlloc(hHeap,0,lstrlen(temp3)+1);
    99             lstrcpy(ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].IdName,temp3);
    100 
    101             ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].path=
     99            lstrcpy(projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].IdName,temp3);
     100
     101            projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].path=
    102102                (char *)HeapAlloc(hHeap,0,lstrlen(temp2)+1);
    103             lstrcpy(ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].path,temp2);
    104 
    105             ProjectInfo.res.NumberOfIconRes++;
     103            lstrcpy(projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].path,temp2);
     104
     105            projectInfo.res.NumberOfIconRes++;
    106106        }
    107107        else if(lstrcmpi(temporary,"RT_MANIFEST")==0){
     
    124124
    125125    //リソースが空の場合
    126     if(ProjectInfo.res.NumberOfCursorRes==0&&
    127         ProjectInfo.res.NumberOfBitmapRes==0&&
    128         ProjectInfo.res.NumberOfIconRes==0)
    129         ProjectInfo.ResourceFileName[0]=0;
     126    if(projectInfo.res.NumberOfCursorRes==0&&
     127        projectInfo.res.NumberOfBitmapRes==0&&
     128        projectInfo.res.NumberOfIconRes==0)
     129        projectInfo.ResourceFileName[0]=0;
    130130
    131131    HeapDefaultFree(buffer);
     
    138138    char temporary[MAX_PATH];
    139139
    140     if(!ProjectInfo.ResourceFileName[0])
    141         sprintf(ProjectInfo.ResourceFileName,"%s.rc",ProjectInfo.name);
     140    if(!projectInfo.ResourceFileName[0])
     141        sprintf(projectInfo.ResourceFileName,"%s.rc",projectInfo.name);
    142142
    143143    //"カーソル ファイルを指定してください"
    144144    if(!GetFilePathDialog(hOwner,temporary,CursorFileFilter,STRING_FILEOPENTITLE_CURSOR,TRUE)) return;
    145145
    146     GetRelationalPath(temporary,ProjectInfo.dir);
    147 
    148     ProjectInfo.res.pCursorResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,ProjectInfo.res.pCursorResInfo,(ProjectInfo.res.NumberOfCursorRes+1)*sizeof(RESITEMINFO));
    149 
    150     ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].path=
     146    GetRelationalPath(temporary,projectInfo.dir);
     147
     148    projectInfo.res.pCursorResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,projectInfo.res.pCursorResInfo,(projectInfo.res.NumberOfCursorRes+1)*sizeof(RESITEMINFO));
     149
     150    projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].path=
    151151        (char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
    152     lstrcpy(ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].path,temporary);
     152    lstrcpy(projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].path,temporary);
    153153
    154154    for(i3=1;;i3++){
    155155        sprintf(temporary,"IDC_CURSOR%d",i3);
    156         for(i2=0;i2<ProjectInfo.res.NumberOfCursorRes;i2++){
    157             if(lstrcmp(temporary,ProjectInfo.res.pCursorResInfo[i2].IdName)==0) break;
    158         }
    159         if(i2==ProjectInfo.res.NumberOfCursorRes) break;
    160     }
    161 
    162     ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].IdName=
     156        for(i2=0;i2<projectInfo.res.NumberOfCursorRes;i2++){
     157            if(lstrcmp(temporary,projectInfo.res.pCursorResInfo[i2].IdName)==0) break;
     158        }
     159        if(i2==projectInfo.res.NumberOfCursorRes) break;
     160    }
     161
     162    projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].IdName=
    163163        (char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
    164     lstrcpy(ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].IdName,temporary);
     164    lstrcpy(projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].IdName,temporary);
    165165
    166166    //ツリービューに追加
     
    171171    tv.item.iImage=6;
    172172    tv.item.iSelectedImage=6;
    173     tv.hParent=ProjectInfo.res.hCursorTreeItem;
     173    tv.hParent=projectInfo.res.hCursorTreeItem;
    174174    tv.item.pszText=temporary;
    175175
    176     ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].hTreeItem=
     176    projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].hTreeItem=
    177177        TreeView_InsertItem(hMaterialTreeView,&tv);
    178178
    179     TreeView_SelectItem(hMaterialTreeView,ProjectInfo.res.pCursorResInfo[ProjectInfo.res.NumberOfCursorRes].hTreeItem);
    180 
    181     ProjectInfo.res.NumberOfCursorRes++;
    182     ProjectInfo.ModifuOfResource=1;
     179    TreeView_SelectItem(hMaterialTreeView,projectInfo.res.pCursorResInfo[projectInfo.res.NumberOfCursorRes].hTreeItem);
     180
     181    projectInfo.res.NumberOfCursorRes++;
     182    projectInfo.ModifuOfResource=1;
    183183}
    184184void Project_Cursor_Delete(int CursorInfoNum){
     
    187187    //ツリービューから削除
    188188    extern HWND hMaterialTreeView;
    189     TreeView_DeleteItem(hMaterialTreeView,ProjectInfo.res.pCursorResInfo[CursorInfoNum].hTreeItem);
    190 
    191     //ProjectInfo.pCursorInfo構造体から削除
    192     HeapDefaultFree(ProjectInfo.res.pCursorResInfo[CursorInfoNum].IdName);
    193     HeapDefaultFree(ProjectInfo.res.pCursorResInfo[CursorInfoNum].path);
    194     ProjectInfo.res.NumberOfCursorRes--;
    195     for(i=CursorInfoNum;i<ProjectInfo.res.NumberOfCursorRes;i++)
    196         ProjectInfo.res.pCursorResInfo[i]=ProjectInfo.res.pCursorResInfo[i+1];
    197 
    198     ProjectInfo.ModifuOfResource=1;
     189    TreeView_DeleteItem(hMaterialTreeView,projectInfo.res.pCursorResInfo[CursorInfoNum].hTreeItem);
     190
     191    //projectInfo.pCursorInfo構造体から削除
     192    HeapDefaultFree(projectInfo.res.pCursorResInfo[CursorInfoNum].IdName);
     193    HeapDefaultFree(projectInfo.res.pCursorResInfo[CursorInfoNum].path);
     194    projectInfo.res.NumberOfCursorRes--;
     195    for(i=CursorInfoNum;i<projectInfo.res.NumberOfCursorRes;i++)
     196        projectInfo.res.pCursorResInfo[i]=projectInfo.res.pCursorResInfo[i+1];
     197
     198    projectInfo.ModifuOfResource=1;
    199199}
    200200void Project_Cursor_RenameID(int CursorInfoNum){
     
    206206    TVITEM tvItem;
    207207
    208     if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_INPUTID),hOwner,(DLGPROC)DlgProject_ResourceID_Input,(long)ProjectInfo.res.pCursorResInfo[CursorInfoNum].IdName)) return;
     208    if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_INPUTID),hOwner,(DLGPROC)DlgProject_ResourceID_Input,(long)projectInfo.res.pCursorResInfo[CursorInfoNum].IdName)) return;
    209209
    210210    //重複チェック
    211     for(i2=0;i2<ProjectInfo.res.NumberOfCursorRes;i2++){
     211    for(i2=0;i2<projectInfo.res.NumberOfCursorRes;i2++){
    212212        if(i2==CursorInfoNum) continue;
    213         if(lstrcmp(NewIdName,ProjectInfo.res.pCursorResInfo[i2].IdName)==0){
     213        if(lstrcmp(NewIdName,projectInfo.res.pCursorResInfo[i2].IdName)==0){
    214214            //"ID \"%s\" は既にプロジェクト内に存在します。"
    215215            sprintf(temporary,STRING_DUPLICATIONERROR_ID_IN_PROJECT,NewIdName);
     
    219219    }
    220220
    221     HeapDefaultFree(ProjectInfo.res.pCursorResInfo[CursorInfoNum].IdName);
    222     ProjectInfo.res.pCursorResInfo[CursorInfoNum].IdName=(char *)HeapAlloc(hHeap,0,lstrlen(NewIdName)+1);
    223     lstrcpy(ProjectInfo.res.pCursorResInfo[CursorInfoNum].IdName,NewIdName);
    224 
    225     tvItem.hItem=ProjectInfo.res.pCursorResInfo[CursorInfoNum].hTreeItem;
     221    HeapDefaultFree(projectInfo.res.pCursorResInfo[CursorInfoNum].IdName);
     222    projectInfo.res.pCursorResInfo[CursorInfoNum].IdName=(char *)HeapAlloc(hHeap,0,lstrlen(NewIdName)+1);
     223    lstrcpy(projectInfo.res.pCursorResInfo[CursorInfoNum].IdName,NewIdName);
     224
     225    tvItem.hItem=projectInfo.res.pCursorResInfo[CursorInfoNum].hTreeItem;
    226226    tvItem.mask=TVIF_TEXT;
    227     tvItem.pszText=ProjectInfo.res.pCursorResInfo[CursorInfoNum].IdName;
    228     tvItem.cchTextMax=lstrlen(ProjectInfo.res.pCursorResInfo[CursorInfoNum].IdName)+1;
     227    tvItem.pszText=projectInfo.res.pCursorResInfo[CursorInfoNum].IdName;
     228    tvItem.cchTextMax=lstrlen(projectInfo.res.pCursorResInfo[CursorInfoNum].IdName)+1;
    229229    TreeView_SetItem(hMaterialTreeView,&tvItem);
    230230
    231     ProjectInfo.ModifuOfResource=1;
     231    projectInfo.ModifuOfResource=1;
    232232
    233233    TreeView_SortChildren(hMaterialTreeView,
    234         TreeView_GetParent(hMaterialTreeView,ProjectInfo.res.pCursorResInfo[CursorInfoNum].hTreeItem),
     234        TreeView_GetParent(hMaterialTreeView,projectInfo.res.pCursorResInfo[CursorInfoNum].hTreeItem),
    235235        0);
    236236}
     
    242242    char temporary[MAX_PATH];
    243243
    244     if(!ProjectInfo.ResourceFileName[0])
    245         sprintf(ProjectInfo.ResourceFileName,"%s.rc",ProjectInfo.name);
     244    if(!projectInfo.ResourceFileName[0])
     245        sprintf(projectInfo.ResourceFileName,"%s.rc",projectInfo.name);
    246246
    247247    //"ビットマップ ファイルを指定してください"
    248248    if(!GetFilePathDialog(hOwner,temporary,BitmapFileFilter,STRING_FILEOPENTITLE_BITMAP,TRUE)) return;
    249249
    250     GetRelationalPath(temporary,ProjectInfo.dir);
    251 
    252     ProjectInfo.res.pBitmapResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,ProjectInfo.res.pBitmapResInfo,(ProjectInfo.res.NumberOfBitmapRes+1)*sizeof(RESITEMINFO));
    253 
    254     ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].path=
     250    GetRelationalPath(temporary,projectInfo.dir);
     251
     252    projectInfo.res.pBitmapResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,projectInfo.res.pBitmapResInfo,(projectInfo.res.NumberOfBitmapRes+1)*sizeof(RESITEMINFO));
     253
     254    projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].path=
    255255        (char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
    256     lstrcpy(ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].path,temporary);
     256    lstrcpy(projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].path,temporary);
    257257
    258258    for(i3=1;;i3++){
    259259        sprintf(temporary,"IDB_BITMAP%d",i3);
    260         for(i2=0;i2<ProjectInfo.res.NumberOfBitmapRes;i2++){
    261             if(lstrcmp(temporary,ProjectInfo.res.pBitmapResInfo[i2].IdName)==0) break;
    262         }
    263         if(i2==ProjectInfo.res.NumberOfBitmapRes) break;
    264     }
    265 
    266     ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].IdName=
     260        for(i2=0;i2<projectInfo.res.NumberOfBitmapRes;i2++){
     261            if(lstrcmp(temporary,projectInfo.res.pBitmapResInfo[i2].IdName)==0) break;
     262        }
     263        if(i2==projectInfo.res.NumberOfBitmapRes) break;
     264    }
     265
     266    projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].IdName=
    267267        (char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
    268     lstrcpy(ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].IdName,temporary);
     268    lstrcpy(projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].IdName,temporary);
    269269
    270270    //ツリービューに追加
     
    275275    tv.item.iImage=5;
    276276    tv.item.iSelectedImage=5;
    277     tv.hParent=ProjectInfo.res.hBitmapTreeItem;
     277    tv.hParent=projectInfo.res.hBitmapTreeItem;
    278278    tv.item.pszText=temporary;
    279279
    280     ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].hTreeItem=
     280    projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].hTreeItem=
    281281        TreeView_InsertItem(hMaterialTreeView,&tv);
    282282
    283     TreeView_SelectItem(hMaterialTreeView,ProjectInfo.res.pBitmapResInfo[ProjectInfo.res.NumberOfBitmapRes].hTreeItem);
    284 
    285     ProjectInfo.res.NumberOfBitmapRes++;
    286     ProjectInfo.ModifuOfResource=1;
     283    TreeView_SelectItem(hMaterialTreeView,projectInfo.res.pBitmapResInfo[projectInfo.res.NumberOfBitmapRes].hTreeItem);
     284
     285    projectInfo.res.NumberOfBitmapRes++;
     286    projectInfo.ModifuOfResource=1;
    287287
    288288
     
    302302    //ツリービューから削除
    303303    extern HWND hMaterialTreeView;
    304     TreeView_DeleteItem(hMaterialTreeView,ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].hTreeItem);
    305 
    306     //ProjectInfo.pBitmapInfo構造体から削除
    307     HeapDefaultFree(ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName);
    308     HeapDefaultFree(ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].path);
    309     ProjectInfo.res.NumberOfBitmapRes--;
    310     for(i=BitmapInfoNum;i<ProjectInfo.res.NumberOfBitmapRes;i++)
    311         ProjectInfo.res.pBitmapResInfo[i]=ProjectInfo.res.pBitmapResInfo[i+1];
    312 
    313     ProjectInfo.ModifuOfResource=1;
     304    TreeView_DeleteItem(hMaterialTreeView,projectInfo.res.pBitmapResInfo[BitmapInfoNum].hTreeItem);
     305
     306    //projectInfo.pBitmapInfo構造体から削除
     307    HeapDefaultFree(projectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName);
     308    HeapDefaultFree(projectInfo.res.pBitmapResInfo[BitmapInfoNum].path);
     309    projectInfo.res.NumberOfBitmapRes--;
     310    for(i=BitmapInfoNum;i<projectInfo.res.NumberOfBitmapRes;i++)
     311        projectInfo.res.pBitmapResInfo[i]=projectInfo.res.pBitmapResInfo[i+1];
     312
     313    projectInfo.ModifuOfResource=1;
    314314}
    315315void Project_Bitmap_RenameID(int BitmapInfoNum){
     
    321321    TVITEM tvItem;
    322322
    323     if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_INPUTID),hOwner,(DLGPROC)DlgProject_ResourceID_Input,(long)ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName)) return;
     323    if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_INPUTID),hOwner,(DLGPROC)DlgProject_ResourceID_Input,(long)projectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName)) return;
    324324
    325325    //重複チェック
    326     for(i2=0;i2<ProjectInfo.res.NumberOfBitmapRes;i2++){
     326    for(i2=0;i2<projectInfo.res.NumberOfBitmapRes;i2++){
    327327        if(i2==BitmapInfoNum) continue;
    328         if(lstrcmp(NewIdName,ProjectInfo.res.pBitmapResInfo[i2].IdName)==0){
     328        if(lstrcmp(NewIdName,projectInfo.res.pBitmapResInfo[i2].IdName)==0){
    329329            //"ID \"%s\" は既にプロジェクト内に存在します。"
    330330            sprintf(temporary,STRING_DUPLICATIONERROR_ID_IN_PROJECT,NewIdName);
     
    334334    }
    335335
    336     HeapDefaultFree(ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName);
    337     ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName=(char *)HeapAlloc(hHeap,0,lstrlen(NewIdName)+1);
    338     lstrcpy(ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName,NewIdName);
    339 
    340     tvItem.hItem=ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].hTreeItem;
     336    HeapDefaultFree(projectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName);
     337    projectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName=(char *)HeapAlloc(hHeap,0,lstrlen(NewIdName)+1);
     338    lstrcpy(projectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName,NewIdName);
     339
     340    tvItem.hItem=projectInfo.res.pBitmapResInfo[BitmapInfoNum].hTreeItem;
    341341    tvItem.mask=TVIF_TEXT;
    342     tvItem.pszText=ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName;
    343     tvItem.cchTextMax=lstrlen(ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName)+1;
     342    tvItem.pszText=projectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName;
     343    tvItem.cchTextMax=lstrlen(projectInfo.res.pBitmapResInfo[BitmapInfoNum].IdName)+1;
    344344    TreeView_SetItem(hMaterialTreeView,&tvItem);
    345345
    346     ProjectInfo.ModifuOfResource=1;
     346    projectInfo.ModifuOfResource=1;
    347347
    348348    TreeView_SortChildren(hMaterialTreeView,
    349         TreeView_GetParent(hMaterialTreeView,ProjectInfo.res.pBitmapResInfo[BitmapInfoNum].hTreeItem),
     349        TreeView_GetParent(hMaterialTreeView,projectInfo.res.pBitmapResInfo[BitmapInfoNum].hTreeItem),
    350350        0);
    351351}
     
    356356    char temporary[MAX_PATH];
    357357
    358     if(!ProjectInfo.ResourceFileName[0])
    359         sprintf(ProjectInfo.ResourceFileName,"%s.rc",ProjectInfo.name);
     358    if(!projectInfo.ResourceFileName[0])
     359        sprintf(projectInfo.ResourceFileName,"%s.rc",projectInfo.name);
    360360
    361361    //"アイコン ファイルを指定してください"
    362362    if(!GetFilePathDialog(hOwner,temporary,IconFileFilter,STRING_FILEOPENTITLE_ICON,TRUE)) return;
    363363
    364     GetRelationalPath(temporary,ProjectInfo.dir);
    365 
    366     ProjectInfo.res.pIconResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,ProjectInfo.res.pIconResInfo,(ProjectInfo.res.NumberOfIconRes+1)*sizeof(RESITEMINFO));
    367 
    368     ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].path=
     364    GetRelationalPath(temporary,projectInfo.dir);
     365
     366    projectInfo.res.pIconResInfo=(RESITEMINFO *)HeapReAlloc(hHeap,0,projectInfo.res.pIconResInfo,(projectInfo.res.NumberOfIconRes+1)*sizeof(RESITEMINFO));
     367
     368    projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].path=
    369369        (char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
    370     lstrcpy(ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].path,temporary);
     370    lstrcpy(projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].path,temporary);
    371371
    372372    for(i3=1;;i3++){
    373373        sprintf(temporary,"IDI_ICON%d",i3);
    374         for(i2=0;i2<ProjectInfo.res.NumberOfIconRes;i2++){
    375             if(lstrcmp(temporary,ProjectInfo.res.pIconResInfo[i2].IdName)==0) break;
    376         }
    377         if(i2==ProjectInfo.res.NumberOfIconRes) break;
    378     }
    379 
    380     ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].IdName=
     374        for(i2=0;i2<projectInfo.res.NumberOfIconRes;i2++){
     375            if(lstrcmp(temporary,projectInfo.res.pIconResInfo[i2].IdName)==0) break;
     376        }
     377        if(i2==projectInfo.res.NumberOfIconRes) break;
     378    }
     379
     380    projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].IdName=
    381381        (char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
    382     lstrcpy(ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].IdName,temporary);
     382    lstrcpy(projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].IdName,temporary);
    383383
    384384    //ツリービューに追加
     
    389389    tv.item.iImage=4;
    390390    tv.item.iSelectedImage=4;
    391     tv.hParent=ProjectInfo.res.hIconTreeItem;
    392     if(ProjectInfo.res.NumberOfIconRes==0) lstrcat(temporary," (Main)");
     391    tv.hParent=projectInfo.res.hIconTreeItem;
     392    if(projectInfo.res.NumberOfIconRes==0) lstrcat(temporary," (Main)");
    393393    tv.item.pszText=temporary;
    394394
    395     ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].hTreeItem=
     395    projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].hTreeItem=
    396396        TreeView_InsertItem(hMaterialTreeView,&tv);
    397397
    398     TreeView_SelectItem(hMaterialTreeView,ProjectInfo.res.pIconResInfo[ProjectInfo.res.NumberOfIconRes].hTreeItem);
    399 
    400     ProjectInfo.res.NumberOfIconRes++;
    401     ProjectInfo.ModifuOfResource=1;
     398    TreeView_SelectItem(hMaterialTreeView,projectInfo.res.pIconResInfo[projectInfo.res.NumberOfIconRes].hTreeItem);
     399
     400    projectInfo.res.NumberOfIconRes++;
     401    projectInfo.ModifuOfResource=1;
    402402
    403403    ////////////////////////////////
     
    419419    //ツリービューから削除
    420420    extern HWND hMaterialTreeView;
    421     TreeView_DeleteItem(hMaterialTreeView,ProjectInfo.res.pIconResInfo[IconInfoNum].hTreeItem);
    422 
    423     //ProjectInfo.pIconInfo構造体から削除
    424     HeapDefaultFree(ProjectInfo.res.pIconResInfo[IconInfoNum].IdName);
    425     HeapDefaultFree(ProjectInfo.res.pIconResInfo[IconInfoNum].path);
    426     ProjectInfo.res.NumberOfIconRes--;
    427     for(i2=IconInfoNum;i2<ProjectInfo.res.NumberOfIconRes;i2++) ProjectInfo.res.pIconResInfo[i2]=ProjectInfo.res.pIconResInfo[i2+1];
    428 
    429     if(IconInfoNum==0&&ProjectInfo.res.NumberOfIconRes){
     421    TreeView_DeleteItem(hMaterialTreeView,projectInfo.res.pIconResInfo[IconInfoNum].hTreeItem);
     422
     423    //projectInfo.pIconInfo構造体から削除
     424    HeapDefaultFree(projectInfo.res.pIconResInfo[IconInfoNum].IdName);
     425    HeapDefaultFree(projectInfo.res.pIconResInfo[IconInfoNum].path);
     426    projectInfo.res.NumberOfIconRes--;
     427    for(i2=IconInfoNum;i2<projectInfo.res.NumberOfIconRes;i2++) projectInfo.res.pIconResInfo[i2]=projectInfo.res.pIconResInfo[i2+1];
     428
     429    if(IconInfoNum==0&&projectInfo.res.NumberOfIconRes){
    430430        tv.mask=TVIF_TEXT|TVIF_HANDLE;
    431431        tv.pszText=temporary;
    432432        tv.cchTextMax=MAX_PATH;
    433         tv.hItem=ProjectInfo.res.pIconResInfo[0].hTreeItem;
     433        tv.hItem=projectInfo.res.pIconResInfo[0].hTreeItem;
    434434        TreeView_GetItem(hMaterialTreeView,&tv);
    435435        lstrcat(tv.pszText," (Main)");
     
    437437    }
    438438
    439     ProjectInfo.ModifuOfResource=1;
     439    projectInfo.ModifuOfResource=1;
    440440
    441441    ////////////////////////////////
     
    457457    TVITEM tvItem;
    458458
    459     if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_INPUTID),hOwner,(DLGPROC)DlgProject_ResourceID_Input,(long)ProjectInfo.res.pIconResInfo[IconInfoNum].IdName)) return;
     459    if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_INPUTID),hOwner,(DLGPROC)DlgProject_ResourceID_Input,(long)projectInfo.res.pIconResInfo[IconInfoNum].IdName)) return;
    460460
    461461    //重複チェック
    462     for(i2=0;i2<ProjectInfo.res.NumberOfIconRes;i2++){
     462    for(i2=0;i2<projectInfo.res.NumberOfIconRes;i2++){
    463463        if(i2==IconInfoNum) continue;
    464         if(lstrcmp(NewIdName,ProjectInfo.res.pIconResInfo[i2].IdName)==0){
     464        if(lstrcmp(NewIdName,projectInfo.res.pIconResInfo[i2].IdName)==0){
    465465            //"ID \"%s\" は既にプロジェクト内に存在します。"
    466466            sprintf(temporary,STRING_DUPLICATIONERROR_ID_IN_PROJECT,NewIdName);
     
    470470    }
    471471
    472     HeapDefaultFree(ProjectInfo.res.pIconResInfo[IconInfoNum].IdName);
    473     ProjectInfo.res.pIconResInfo[IconInfoNum].IdName=(char *)HeapAlloc(hHeap,0,lstrlen(NewIdName)+1);
    474     lstrcpy(ProjectInfo.res.pIconResInfo[IconInfoNum].IdName,NewIdName);
    475 
    476     tvItem.hItem=ProjectInfo.res.pIconResInfo[IconInfoNum].hTreeItem;
     472    HeapDefaultFree(projectInfo.res.pIconResInfo[IconInfoNum].IdName);
     473    projectInfo.res.pIconResInfo[IconInfoNum].IdName=(char *)HeapAlloc(hHeap,0,lstrlen(NewIdName)+1);
     474    lstrcpy(projectInfo.res.pIconResInfo[IconInfoNum].IdName,NewIdName);
     475
     476    tvItem.hItem=projectInfo.res.pIconResInfo[IconInfoNum].hTreeItem;
    477477    tvItem.mask=TVIF_TEXT;
    478478    if(IconInfoNum==0){
    479         sprintf(temporary,"%s (Main)",ProjectInfo.res.pIconResInfo[IconInfoNum].IdName);
     479        sprintf(temporary,"%s (Main)",projectInfo.res.pIconResInfo[IconInfoNum].IdName);
    480480        tvItem.pszText=temporary;
    481481    }
    482     else tvItem.pszText=ProjectInfo.res.pIconResInfo[IconInfoNum].IdName;
    483     tvItem.cchTextMax=lstrlen(ProjectInfo.res.pIconResInfo[IconInfoNum].IdName)+1;
     482    else tvItem.pszText=projectInfo.res.pIconResInfo[IconInfoNum].IdName;
     483    tvItem.cchTextMax=lstrlen(projectInfo.res.pIconResInfo[IconInfoNum].IdName)+1;
    484484    TreeView_SetItem(hMaterialTreeView,&tvItem);
    485485
    486     ProjectInfo.ModifuOfResource=1;
     486    projectInfo.ModifuOfResource=1;
    487487
    488488    TreeView_SortChildren(hMaterialTreeView,
    489         TreeView_GetParent(hMaterialTreeView,ProjectInfo.res.pIconResInfo[IconInfoNum].hTreeItem),
     489        TreeView_GetParent(hMaterialTreeView,projectInfo.res.pIconResInfo[IconInfoNum].hTreeItem),
    490490        0);
    491491}
Note: See TracChangeset for help on using the changeset viewer.