Changeset 618 in dev for trunk/ab5.0/abdev/abdev/MenuProc.cpp
- Timestamp:
- May 19, 2008, 5:10:15 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/MenuProc.cpp
r613 r618 13 13 int GetMenuInfoNum(char *name){ 14 14 int i; 15 for(i=0;i< ProjectInfo.NumberOfMenu;i++){16 if(lstrcmpi(name, ProjectInfo.pMenuInfo[i].IdName)==0) return i;15 for(i=0;i<projectInfo.NumberOfMenu;i++){ 16 if(lstrcmpi(name,projectInfo.pMenuInfo[i].IdName)==0) return i; 17 17 } 18 18 return -1; … … 77 77 78 78 //重複チェック 79 for(i=0;i< ProjectInfo.NumberOfMenu;i++){80 if(lstrcmpi(NewIdName, ProjectInfo.pMenuInfo[i].IdName)==0){79 for(i=0;i<projectInfo.NumberOfMenu;i++){ 80 if(lstrcmpi(NewIdName,projectInfo.pMenuInfo[i].IdName)==0){ 81 81 //"\"%s\" メニューは既にプロジェクト内に存在します。" 82 sprintf(temporary,STRING_MENUEDIT_DUPLICATIONERROR, ProjectInfo.pMenuInfo[i].IdName);82 sprintf(temporary,STRING_MENUEDIT_DUPLICATIONERROR,projectInfo.pMenuInfo[i].IdName); 83 83 MessageBox(hOwner,temporary,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION); 84 84 return; … … 86 86 } 87 87 88 ProjectInfo.pMenuInfo=(MENU_INFO *)HeapReAlloc(hHeap,0,ProjectInfo.pMenuInfo,(ProjectInfo.NumberOfMenu+1)*sizeof(MENU_INFO));89 MenuInfo=& ProjectInfo.pMenuInfo[ProjectInfo.NumberOfMenu];88 projectInfo.pMenuInfo=(MENU_INFO *)HeapReAlloc(hHeap,0,projectInfo.pMenuInfo,(projectInfo.NumberOfMenu+1)*sizeof(MENU_INFO)); 89 MenuInfo=&projectInfo.pMenuInfo[projectInfo.NumberOfMenu]; 90 90 91 91 MenuInfo->IdName=(char *)HeapAlloc(hHeap,0,lstrlen(NewIdName)+1); … … 107 107 tv.item.iImage=3; 108 108 tv.item.iSelectedImage=3; 109 tv.hParent= ProjectInfo.hMenuTreeItem;109 tv.hParent=projectInfo.hMenuTreeItem; 110 110 tv.item.pszText=MenuInfo->IdName; 111 111 … … 115 115 116 116 117 ProjectInfo.NumberOfMenu++;118 ProjectInfo.ModifyOfMaterial=1;117 projectInfo.NumberOfMenu++; 118 projectInfo.ModifyOfMaterial=1; 119 119 120 120 … … 128 128 } 129 129 130 NewMenuWindow(& ProjectInfo.pMenuInfo[ProjectInfo.NumberOfMenu-1]);130 NewMenuWindow(&projectInfo.pMenuInfo[projectInfo.NumberOfMenu-1]); 131 131 } 132 132 void Project_Menu_Delete(int MenuInfoNum){ … … 137 137 //ウィンドウが開かれている場合は閉じる 138 138 for(i=0;i<MAX_WNDNUM;i++){ 139 if(MdiInfo[i].hwnd&&lstrcmpi( ProjectInfo.pMenuInfo[MenuInfoNum].IdName,MdiInfo[i].path)==0){139 if(MdiInfo[i].hwnd&&lstrcmpi(projectInfo.pMenuInfo[MenuInfoNum].IdName,MdiInfo[i].path)==0){ 140 140 SendMessage(MdiInfo[i].hwnd,WM_CLOSE,0,0); 141 141 break; … … 144 144 145 145 //メニュー情報のメモリを解放 146 HeapMenuDataFree( ProjectInfo.pMenuInfo[MenuInfoNum].pMenuInfo,ProjectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu,0);147 HeapDefaultFree( ProjectInfo.pMenuInfo[MenuInfoNum].pMenuInfo);148 HeapDefaultFree( ProjectInfo.pMenuInfo[MenuInfoNum].IdName);146 HeapMenuDataFree(projectInfo.pMenuInfo[MenuInfoNum].pMenuInfo,projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu,0); 147 HeapDefaultFree(projectInfo.pMenuInfo[MenuInfoNum].pMenuInfo); 148 HeapDefaultFree(projectInfo.pMenuInfo[MenuInfoNum].IdName); 149 149 150 150 //ツリービューから削除 151 151 extern HWND hMaterialTreeView; 152 TreeView_DeleteItem(hMaterialTreeView, ProjectInfo.pMenuInfo[MenuInfoNum].hTreeItem);153 154 // ProjectInfo.pMenuInfo構造体から削除155 ProjectInfo.NumberOfMenu--;156 for(i=MenuInfoNum;i< ProjectInfo.NumberOfMenu;i++) ProjectInfo.pMenuInfo[i]=ProjectInfo.pMenuInfo[i+1];157 if( ProjectInfo.NumberOfMenu==0){158 HeapDefaultFree( ProjectInfo.pMenuInfo);159 ProjectInfo.pMenuInfo=(MENU_INFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1);160 } 161 else ProjectInfo.pMenuInfo=(MENU_INFO *)HeapReAlloc(hHeap,0,ProjectInfo.pMenuInfo,ProjectInfo.NumberOfMenu*sizeof(MENU_INFO));162 163 ProjectInfo.ModifyOfMaterial=1;152 TreeView_DeleteItem(hMaterialTreeView,projectInfo.pMenuInfo[MenuInfoNum].hTreeItem); 153 154 //projectInfo.pMenuInfo構造体から削除 155 projectInfo.NumberOfMenu--; 156 for(i=MenuInfoNum;i<projectInfo.NumberOfMenu;i++) projectInfo.pMenuInfo[i]=projectInfo.pMenuInfo[i+1]; 157 if(projectInfo.NumberOfMenu==0){ 158 HeapDefaultFree(projectInfo.pMenuInfo); 159 projectInfo.pMenuInfo=(MENU_INFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1); 160 } 161 else projectInfo.pMenuInfo=(MENU_INFO *)HeapReAlloc(hHeap,0,projectInfo.pMenuInfo,projectInfo.NumberOfMenu*sizeof(MENU_INFO)); 162 163 projectInfo.ModifyOfMaterial=1; 164 164 165 165 … … 409 409 i2=0; 410 410 i3=0; 411 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);411 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 412 412 pMenuInfo=&pMenuInfo->pMenuInfo[i2]; 413 413 … … 430 430 431 431 SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4,0); 432 ProjectInfo.ModifyOfMaterial=1;432 projectInfo.ModifyOfMaterial=1; 433 433 return 1; 434 434 case IDC_POPUP: … … 441 441 i2=0; 442 442 i3=0; 443 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);443 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 444 444 pMenuInfo=&pMenuInfo->pMenuInfo[i2]; 445 445 … … 476 476 } 477 477 SendMessage(MdiInfo[WndNum].hwnd,WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum].MdiMenuInfo->hList); 478 ProjectInfo.ModifyOfMaterial=1;478 projectInfo.ModifyOfMaterial=1; 479 479 return 1; 480 480 case IDC_SEPARATOR: … … 487 487 i2=0; 488 488 i3=0; 489 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);489 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 490 490 pMenuInfo=&pMenuInfo->pMenuInfo[i2]; 491 491 … … 528 528 i2=0; 529 529 i3=0; 530 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);530 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 531 531 pMenuInfo=&pMenuInfo->pMenuInfo[i2]; 532 532 … … 536 536 pMenuInfo->state&=~MFS_CHECKED; 537 537 538 ProjectInfo.ModifyOfMaterial=1;538 projectInfo.ModifyOfMaterial=1; 539 539 return 1; 540 540 case IDC_DISABLED: … … 547 547 i2=0; 548 548 i3=0; 549 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);549 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 550 550 pMenuInfo=&pMenuInfo->pMenuInfo[i2]; 551 551 … … 555 555 pMenuInfo->state&=~MFS_DISABLED; 556 556 557 ProjectInfo.ModifyOfMaterial=1;557 projectInfo.ModifyOfMaterial=1; 558 558 return 1; 559 559 case IDC_INSERTMENUITEM: … … 562 562 MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path); 563 563 564 if( ProjectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu==0){565 ProjectInfo.pMenuInfo[MenuInfoNum].pMenuInfo=(MENU_INFO *)HeapReAlloc(hHeap,HEAP_ZERO_MEMORY,ProjectInfo.pMenuInfo[MenuInfoNum].pMenuInfo,(ProjectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu+1)*sizeof(MENU_INFO));566 pMenuInfo=& ProjectInfo.pMenuInfo[MenuInfoNum].pMenuInfo[ProjectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu];564 if(projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu==0){ 565 projectInfo.pMenuInfo[MenuInfoNum].pMenuInfo=(MENU_INFO *)HeapReAlloc(hHeap,HEAP_ZERO_MEMORY,projectInfo.pMenuInfo[MenuInfoNum].pMenuInfo,(projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu+1)*sizeof(MENU_INFO)); 566 pMenuInfo=&projectInfo.pMenuInfo[MenuInfoNum].pMenuInfo[projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu]; 567 567 568 568 sprintf(temporary,"caption text"); … … 578 578 pMenuInfo->pMenuInfo=0; 579 579 580 ProjectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu++;580 projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu++; 581 581 582 582 SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_INSERTSTRING,0,(long)pMenuInfo->caption); … … 593 593 i2=0; 594 594 i3=0; 595 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);595 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 596 596 if(pMenuInfo->pMenuInfo[i2].pMenuInfo){ 597 597 //"ポップアップ アイテムを作成する場合は \"はい\" を、ポップアップと同じ階層にメニュー アイテムを作成する場合は \"いいえ\" を押して下さい。" … … 633 633 SendMessage(GetParent(MdiInfo[WndNum].MdiMenuInfo->hMenuEdit),WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum].MdiMenuInfo->hList); 634 634 } 635 ProjectInfo.ModifyOfMaterial=1;635 projectInfo.ModifyOfMaterial=1; 636 636 return 1; 637 637 case IDC_DELETEMENUITEM: … … 648 648 i2=0; 649 649 i3=0; 650 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);650 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 651 651 652 652 i3=1; … … 679 679 } 680 680 681 ProjectInfo.ModifyOfMaterial=1;681 projectInfo.ModifyOfMaterial=1; 682 682 return 1; 683 683 case IDC_UP: … … 694 694 i2=0; 695 695 i3=0; 696 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);696 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 697 697 if(i2==0) return 1; 698 698 i2--; … … 703 703 704 704 SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_RESETCONTENT,0,0); 705 SetMenuDataList(MdiInfo[WndNum].MdiMenuInfo->hList,& ProjectInfo.pMenuInfo[MenuInfoNum],0);705 SetMenuDataList(MdiInfo[WndNum].MdiMenuInfo->hList,&projectInfo.pMenuInfo[MenuInfoNum],0); 706 706 if(!pMenuInfo->pMenuInfo[i2].pMenuInfo) 707 707 SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4-1,0); 708 708 709 ProjectInfo.ModifyOfMaterial=1;709 projectInfo.ModifyOfMaterial=1; 710 710 return 1; 711 711 case IDC_DOWN: … … 722 722 i2=0; 723 723 i3=0; 724 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3);724 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i4,&i3); 725 725 if(pMenuInfo->NumberOfMenu<=i2+1) return 1; 726 726 … … 730 730 731 731 SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_RESETCONTENT,0,0); 732 SetMenuDataList(MdiInfo[WndNum].MdiMenuInfo->hList,& ProjectInfo.pMenuInfo[MenuInfoNum],0);732 SetMenuDataList(MdiInfo[WndNum].MdiMenuInfo->hList,&projectInfo.pMenuInfo[MenuInfoNum],0); 733 733 if(!pMenuInfo->pMenuInfo[i2].pMenuInfo) 734 734 SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4+1,0); 735 735 736 ProjectInfo.ModifyOfMaterial=1;736 projectInfo.ModifyOfMaterial=1; 737 737 return 1; 738 738 } … … 810 810 i2=0; 811 811 i3=0; 812 pMenuInfo=GetMenuInfoFromList(& ProjectInfo.pMenuInfo[MenuInfoNum],&i2,i,&i3);812 pMenuInfo=GetMenuInfoFromList(&projectInfo.pMenuInfo[MenuInfoNum],&i2,i,&i3); 813 813 pMenuInfo=&pMenuInfo->pMenuInfo[i2]; 814 814
Note:
See TracChangeset
for help on using the changeset viewer.