Ignore:
Timestamp:
Jun 2, 2008, 11:50:24 PM (16 years ago)
Author:
dai_9181
Message:

MDIINFO構造体をリファクタリング。

File:
1 edited

Legend:

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

    r626 r629  
    121121    // ウィンドウ プロパティを更新
    122122    for(i=0;i<MdiInfo.size();i++){
    123         if(MdiInfo[i].hwnd&&MdiInfo[i].DocType==WNDTYPE_RAD){
    124             if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW)
    125                 ChangePropertyWindow(i,GetWndInfoNum(MdiInfo[i].path));
     123        if(MdiInfo[i]->hwnd&&MdiInfo[i]->DocType==WNDTYPE_RAD){
     124            if(MdiInfo[i]->MdiRadInfo->SelectingItem[0]==SELECT_WINDOW)
     125                ChangePropertyWindow(i,GetWndInfoNum(MdiInfo[i]->path));
    126126        }
    127127    }
     
    135135    //ウィンドウが開かれている場合は閉じる
    136136    for(i=0;i<MdiInfo.size();i++){
    137         if(MdiInfo[i].hwnd&&lstrcmpi(projectInfo.pMenuInfo[MenuInfoNum].IdName,MdiInfo[i].path.c_str())==0){
    138             SendMessage(MdiInfo[i].hwnd,WM_CLOSE,0,0);
     137        if(MdiInfo[i]->hwnd&&lstrcmpi(projectInfo.pMenuInfo[MenuInfoNum].IdName,MdiInfo[i]->path.c_str())==0){
     138            SendMessage(MdiInfo[i]->hwnd,WM_CLOSE,0,0);
    139139            break;
    140140        }
     
    165165    // ウィンドウ プロパティを更新
    166166    for(i=0;i<MdiInfo.size();i++){
    167         if(MdiInfo[i].hwnd&&MdiInfo[i].DocType==WNDTYPE_RAD){
    168             if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW)
    169                 ChangePropertyWindow(i,GetWndInfoNum(MdiInfo[i].path.c_str()));
     167        if(MdiInfo[i]->hwnd&&MdiInfo[i]->DocType==WNDTYPE_RAD){
     168            if(MdiInfo[i]->MdiRadInfo->SelectingItem[0]==SELECT_WINDOW)
     169                ChangePropertyWindow(i,GetWndInfoNum(MdiInfo[i]->path.c_str()));
    170170        }
    171171    }
     
    199199    while(hChild){
    200200        i=GetWndNum(hChild);
    201         if(MdiInfo[i].DocType==WNDTYPE_MENU){
    202             if(lstrcmpi(MdiInfo[i].path.c_str(),pMenuInfo->IdName)==0) break;
     201        if(MdiInfo[i]->DocType==WNDTYPE_MENU){
     202            if(lstrcmpi(MdiInfo[i]->path.c_str(),pMenuInfo->IdName)==0) break;
    203203        }
    204204        hChild=GetNextWindow(hChild,GW_HWNDNEXT);
     
    228228
    229229    mdic.lParam=0;
     230    mdic.style |= WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_SYSMENU | WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX;
    230231    hChild=(HWND)SendMessage(hClient,WM_MDICREATE,0,(long)&mdic);   //ウィンドウ作成
    231232
     
    248249
    249250    //ウィンドウのID登録
    250     MdiInfo.push_back( MDIINFO() );
     251    MdiInfo.push_back( new MDIINFO() );
    251252    i = MdiInfo.size()-1;
    252     MdiInfo[i].hwnd=hChild;
    253     MdiInfo[i].DocType=WNDTYPE_MENU;
    254     MdiInfo[i].title = pMenuInfo->IdName;
    255     MdiInfo[i].path = pMenuInfo->IdName;
     253    MdiInfo[i]->hwnd=hChild;
     254    MdiInfo[i]->DocType=WNDTYPE_MENU;
     255    MdiInfo[i]->title = pMenuInfo->IdName;
     256    MdiInfo[i]->path = pMenuInfo->IdName;
    256257
    257258
     
    259260    //MENU ウィンドウ情報
    260261
    261     MdiInfo[i].MdiMenuInfo=(MDIMENUINFO *)GlobalAlloc(GPTR,sizeof(MDIMENUINFO));
    262 
    263     MdiInfo[i].MdiMenuInfo->hList=hListWnd;
    264 
    265     MdiInfo[i].MdiMenuInfo->hMenuEdit=hMenuEdit;
    266     MdiInfo[i].MdiMenuInfo->hEdit_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_PROJECT_MENUEDIT),hMenuEdit,(DLGPROC)MenuEditDlg);
     262    MdiInfo[i]->MdiMenuInfo=(MDIMENUINFO *)GlobalAlloc(GPTR,sizeof(MDIMENUINFO));
     263
     264    MdiInfo[i]->MdiMenuInfo->hList=hListWnd;
     265
     266    MdiInfo[i]->MdiMenuInfo->hMenuEdit=hMenuEdit;
     267    MdiInfo[i]->MdiMenuInfo->hEdit_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_PROJECT_MENUEDIT),hMenuEdit,(DLGPROC)MenuEditDlg);
    267268
    268269    SCROLLINFO ScrollInfo;
     
    270271    ScrollInfo.fMask=SIF_POS;
    271272    ScrollInfo.nPos=0;
    272     SetScrollInfo(MdiInfo[i].MdiMenuInfo->hMenuEdit,SB_VERT,&ScrollInfo,1);
     273    SetScrollInfo(MdiInfo[i]->MdiMenuInfo->hMenuEdit,SB_VERT,&ScrollInfo,1);
    273274
    274275    SendMessage(hListWnd,LB_RESETCONTENT,0,0);
     
    282283    //ウィンドウ位置を初期化
    283284    GetClientRect(hChild,&rect);
    284     MoveWindow(MdiInfo[i].MdiMenuInfo->hMenuEdit,0,0,172,rect.bottom,1);
    285     MoveWindow(MdiInfo[i].MdiMenuInfo->hList,172,0,rect.right-172,rect.bottom,1);
     285    MoveWindow(MdiInfo[i]->MdiMenuInfo->hMenuEdit,0,0,172,rect.bottom,1);
     286    MoveWindow(MdiInfo[i]->MdiMenuInfo->hList,172,0,rect.right-172,rect.bottom,1);
    286287
    287288    //Docコンボボックスに追加
     
    334335            SetPosCenter(hwnd);
    335336            i=GetWndNum(GetWindow(hClient,GW_CHILD));
    336             GetDlgItemText(MdiInfo[i].MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,temporary,MAX_PATH);
     337            GetDlgItemText(MdiInfo[i]->MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,temporary,MAX_PATH);
    337338            SetDlgItemText(hwnd,IDC_IDNAME,temporary);
    338             GetDlgItemText(MdiInfo[i].MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,temporary,MAX_PATH);
     339            GetDlgItemText(MdiInfo[i]->MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,temporary,MAX_PATH);
    339340            SetDlgItemText(hwnd,IDC_CAPTION,temporary);
    340341
     
    396397                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    397398                    if(WndNum==-1) return 1;
    398                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    399 
    400                     i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     399                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     400
     401                    i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    401402                    if(i4==LB_ERR) return 1;
    402403                    i2=0;
     
    410411                    if(!pMenuInfo->pMenuInfo){
    411412                        //ID
    412                         SetDlgItemText(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,pMenuInfo->IdName);
     413                        SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,pMenuInfo->IdName);
    413414                    }
    414415
    415416                    //キャプション
    416                     SetDlgItemText(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,pMenuInfo->caption);
     417                    SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,pMenuInfo->caption);
    417418
    418419                    //リストへキャプションを反映
    419                     SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_DELETESTRING,i4,0);
     420                    SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_DELETESTRING,i4,0);
    420421                    memset(temporary,' ',i3*4);
    421422                    lstrcpy(temporary+i3*4,pMenuInfo->caption);
    422                     SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_INSERTSTRING,i4,(long)temporary);
    423 
    424                     SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4,0);
     423                    SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_INSERTSTRING,i4,(long)temporary);
     424
     425                    SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_SETCURSEL,i4,0);
    425426                    projectInfo.ModifyOfMaterial=1;
    426427                    return 1;
     
    428429                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    429430                    if(WndNum==-1) return 1;
    430                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    431 
    432                     i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     431                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     432
     433                    i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    433434                    if(i4==LB_ERR) return 1;
    434435                    i2=0;
     
    446447
    447448                        for(i2=0;i2<i;i2++)
    448                             SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_DELETESTRING,i4+1,0);
     449                            SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_DELETESTRING,i4+1,0);
    449450
    450451                        HeapDefaultFree(pMenuInfo->pMenuInfo);
     
    468469                        pMenuInfo->type=MFT_STRING;
    469470                    }
    470                     SendMessage(MdiInfo[WndNum].hwnd,WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum].MdiMenuInfo->hList);
     471                    SendMessage(MdiInfo[WndNum]->hwnd,WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum]->MdiMenuInfo->hList);
    471472                    projectInfo.ModifyOfMaterial=1;
    472473                    return 1;
     
    474475                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    475476                    if(WndNum==-1) return 1;
    476                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    477 
    478                     i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     477                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     478
     479                    i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    479480                    if(i4==LB_ERR) return 1;
    480481                    i2=0;
     
    490491                        pMenuInfo->type=MFT_SEPARATOR;
    491492
    492                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_DELETESTRING,i4,0);
     493                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_DELETESTRING,i4,0);
    493494                        memset(temporary,' ',i3*4);
    494495                        lstrcpy(temporary+i3*4,"-");
    495                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_INSERTSTRING,i4,(long)temporary);
     496                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_INSERTSTRING,i4,(long)temporary);
    496497                    }
    497498                    else{
     
    504505                        pMenuInfo->type=MFT_STRING;
    505506
    506                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_DELETESTRING,i4,0);
     507                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_DELETESTRING,i4,0);
    507508                        memset(temporary,' ',i3*4);
    508509                        lstrcpy(temporary+i3*4,pMenuInfo->caption);
    509                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_INSERTSTRING,i4,(long)temporary);
    510                     }
    511                     SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4,0);
    512                     SendMessage(MdiInfo[WndNum].hwnd,WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum].MdiMenuInfo->hList);
     510                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_INSERTSTRING,i4,(long)temporary);
     511                    }
     512                    SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_SETCURSEL,i4,0);
     513                    SendMessage(MdiInfo[WndNum]->hwnd,WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum]->MdiMenuInfo->hList);
    513514                    return 1;
    514515                case IDC_CHECKED:
    515516                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    516517                    if(WndNum==-1) return 1;
    517                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    518 
    519                     i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     518                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     519
     520                    i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    520521                    if(i4==LB_ERR) return 1;
    521522                    i2=0;
     
    534535                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    535536                    if(WndNum==-1) return 1;
    536                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    537 
    538                     i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     537                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     538
     539                    i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    539540                    if(i4==LB_ERR) return 1;
    540541                    i2=0;
     
    553554                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    554555                    if(WndNum==-1) return 1;
    555                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
     556                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
    556557
    557558                    if(projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu==0){
     
    573574                        projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu++;
    574575
    575                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_INSERTSTRING,0,(long)pMenuInfo->caption);
    576                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,0,0);
    577                         SendMessage(GetParent(MdiInfo[WndNum].MdiMenuInfo->hMenuEdit),WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum].MdiMenuInfo->hList);
     576                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_INSERTSTRING,0,(long)pMenuInfo->caption);
     577                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_SETCURSEL,0,0);
     578                        SendMessage(GetParent(MdiInfo[WndNum]->MdiMenuInfo->hMenuEdit),WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum]->MdiMenuInfo->hList);
    578579                    }
    579580                    else{
    580                         i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     581                        i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    581582                        if(i4==LB_ERR){
    582583                            //"新しいメニュー アイテムの挿入位置を選択して下さい"
     
    622623                        pMenuInfo->NumberOfMenu++;
    623624
    624                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_INSERTSTRING,i4,(long)temporary);
    625                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4,0);
    626                         SendMessage(GetParent(MdiInfo[WndNum].MdiMenuInfo->hMenuEdit),WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum].MdiMenuInfo->hList);
     625                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_INSERTSTRING,i4,(long)temporary);
     626                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_SETCURSEL,i4,0);
     627                        SendMessage(GetParent(MdiInfo[WndNum]->MdiMenuInfo->hMenuEdit),WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)MdiInfo[WndNum]->MdiMenuInfo->hList);
    627628                    }
    628629                    projectInfo.ModifyOfMaterial=1;
     
    631632                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    632633                    if(WndNum==-1) return 1;
    633                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    634 
    635                     i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     634                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     635
     636                    i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    636637                    if(i4==LB_ERR){
    637638                        //"削除するメニュー アイテムを選択して下さい"
     
    664665
    665666                    for(i=0;i<i3;i++)
    666                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_DELETESTRING,i4,0);
    667 
    668                     i=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCOUNT,0,0)-1;
     667                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_DELETESTRING,i4,0);
     668
     669                    i=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCOUNT,0,0)-1;
    669670                    if(i){
    670671                        if(i<i4) i4=i;
    671                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4,0);
     672                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_SETCURSEL,i4,0);
    672673                    }
    673674
     
    677678                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    678679                    if(WndNum==-1) return 1;
    679                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    680 
    681                     i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     680                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     681
     682                    i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    682683                    if(i4==LB_ERR){
    683684                        //"移動するメニュー アイテムを選択して下さい"
     
    695696                    memcpy(&pMenuInfo->pMenuInfo[i2+1],&tempMenuInfo,sizeof(MENU_INFO));
    696697
    697                     SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_RESETCONTENT,0,0);
    698                     SetMenuDataList(MdiInfo[WndNum].MdiMenuInfo->hList,&projectInfo.pMenuInfo[MenuInfoNum],0);
     698                    SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_RESETCONTENT,0,0);
     699                    SetMenuDataList(MdiInfo[WndNum]->MdiMenuInfo->hList,&projectInfo.pMenuInfo[MenuInfoNum],0);
    699700                    if(!pMenuInfo->pMenuInfo[i2].pMenuInfo)
    700                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4-1,0);
     701                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_SETCURSEL,i4-1,0);
    701702
    702703                    projectInfo.ModifyOfMaterial=1;
     
    705706                    WndNum=GetWndNum(GetParent(GetParent(hwnd)));
    706707                    if(WndNum==-1) return 1;
    707                     MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    708 
    709                     i4=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     708                    MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     709
     710                    i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    710711                    if(i4==LB_ERR){
    711712                        //"移動するメニュー アイテムを選択して下さい"
     
    722723                    memcpy(&pMenuInfo->pMenuInfo[i2+1],&tempMenuInfo,sizeof(MENU_INFO));
    723724
    724                     SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_RESETCONTENT,0,0);
    725                     SetMenuDataList(MdiInfo[WndNum].MdiMenuInfo->hList,&projectInfo.pMenuInfo[MenuInfoNum],0);
     725                    SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_RESETCONTENT,0,0);
     726                    SetMenuDataList(MdiInfo[WndNum]->MdiMenuInfo->hList,&projectInfo.pMenuInfo[MenuInfoNum],0);
    726727                    if(!pMenuInfo->pMenuInfo[i2].pMenuInfo)
    727                         SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_SETCURSEL,i4+1,0);
     728                        SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_SETCURSEL,i4+1,0);
    728729
    729730                    projectInfo.ModifyOfMaterial=1;
     
    770771            ScrollInfo.fMask=SIF_PAGE|SIF_RANGE|SIF_POS;
    771772            GetScrollInfo(hwnd,SB_VERT,&ScrollInfo);
    772             GetClientRect(MdiInfo[i].MdiMenuInfo->hEdit_Dlg,&rect);
     773            GetClientRect(MdiInfo[i]->MdiMenuInfo->hEdit_Dlg,&rect);
    773774            ScrollInfo.nMin=0;
    774775            ScrollInfo.nMax=rect.bottom;
     
    796797            WndNum=GetWndNum(hwnd);
    797798            if(WndNum==-1) return 0;
    798             MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum].path);
    799             if((HWND)lParam==MdiInfo[WndNum].MdiMenuInfo->hList&&HIWORD(wParam)==LBN_SELCHANGE){
    800                 i=SendMessage(MdiInfo[WndNum].MdiMenuInfo->hList,LB_GETCURSEL,0,0);
     799            MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path);
     800            if((HWND)lParam==MdiInfo[WndNum]->MdiMenuInfo->hList&&HIWORD(wParam)==LBN_SELCHANGE){
     801                i=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0);
    801802                i2=0;
    802803                i3=0;
     
    805806
    806807                if(pMenuInfo->pMenuInfo){
    807                     SetDlgItemText(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,pMenuInfo->caption);
    808                     SetDlgItemText(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,"");
    809                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_IDSTATIC),0);
    810                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_RENAME),1);
    811                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_POPUP),1);
    812                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR),0);
    813                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CHECKED),1);
    814                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_DISABLED),1);
    815                     SendDlgItemMessage(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_POPUP,BM_SETCHECK,BST_CHECKED,0);
    816                     SendDlgItemMessage(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR,BM_SETCHECK,BST_UNCHECKED,0);
     808                    SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,pMenuInfo->caption);
     809                    SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,"");
     810                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_IDSTATIC),0);
     811                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_RENAME),1);
     812                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_POPUP),1);
     813                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR),0);
     814                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CHECKED),1);
     815                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_DISABLED),1);
     816                    SendDlgItemMessage(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_POPUP,BM_SETCHECK,BST_CHECKED,0);
     817                    SendDlgItemMessage(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR,BM_SETCHECK,BST_UNCHECKED,0);
    817818                }
    818819                else if(pMenuInfo->type==MFT_STRING){
    819                     SetDlgItemText(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,pMenuInfo->caption);
    820                     SetDlgItemText(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,pMenuInfo->IdName);
    821                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_IDSTATIC),1);
    822                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CAPTIONSTATIC),1);
    823                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_RENAME),1);
    824                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_POPUP),1);
    825                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR),1);
    826                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CHECKED),1);
    827                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_DISABLED),1);
    828                     SendDlgItemMessage(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_POPUP,BM_SETCHECK,BST_UNCHECKED,0);
    829                     SendDlgItemMessage(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR,BM_SETCHECK,BST_UNCHECKED,0);
     820                    SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,pMenuInfo->caption);
     821                    SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,pMenuInfo->IdName);
     822                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_IDSTATIC),1);
     823                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CAPTIONSTATIC),1);
     824                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_RENAME),1);
     825                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_POPUP),1);
     826                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR),1);
     827                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CHECKED),1);
     828                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_DISABLED),1);
     829                    SendDlgItemMessage(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_POPUP,BM_SETCHECK,BST_UNCHECKED,0);
     830                    SendDlgItemMessage(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR,BM_SETCHECK,BST_UNCHECKED,0);
    830831                }
    831832                else if(pMenuInfo->type==MFT_SEPARATOR){
    832                     SetDlgItemText(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,"");
    833                     SetDlgItemText(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,"");
    834                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_IDSTATIC),0);
    835                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CAPTIONSTATIC),0);
    836                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_RENAME),0);
    837                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_POPUP),0);
    838                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR),1);
    839                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CHECKED),0);
    840                     EnableWindow(GetDlgItem(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_DISABLED),0);
    841                     SendDlgItemMessage(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_POPUP,BM_SETCHECK,BST_UNCHECKED,0);
    842                     SendDlgItemMessage(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR,BM_SETCHECK,BST_CHECKED,0);
     833                    SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,"");
     834                    SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,"");
     835                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_IDSTATIC),0);
     836                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CAPTIONSTATIC),0);
     837                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_RENAME),0);
     838                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_POPUP),0);
     839                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR),1);
     840                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CHECKED),0);
     841                    EnableWindow(GetDlgItem(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_DISABLED),0);
     842                    SendDlgItemMessage(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_POPUP,BM_SETCHECK,BST_UNCHECKED,0);
     843                    SendDlgItemMessage(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_SEPARATOR,BM_SETCHECK,BST_CHECKED,0);
    843844                }
    844845
    845846                if(pMenuInfo->state&MFS_CHECKED) i2=BST_CHECKED;
    846847                else i2=BST_UNCHECKED;
    847                 SendDlgItemMessage(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_CHECKED,BM_SETCHECK,i2,0);
     848                SendDlgItemMessage(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CHECKED,BM_SETCHECK,i2,0);
    848849                if(pMenuInfo->state&MFS_DISABLED) i2=BST_CHECKED;
    849850                else i2=BST_UNCHECKED;
    850                 SendDlgItemMessage(MdiInfo[WndNum].MdiMenuInfo->hEdit_Dlg,IDC_DISABLED,BM_SETCHECK,i2,0);
     851                SendDlgItemMessage(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_DISABLED,BM_SETCHECK,i2,0);
    851852            }
    852853            return 0;
     
    856857            if(i==-1) return 0; //ウィンドウが初期状態の場合
    857858
    858             i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title.c_str());
     859            i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i]->title.c_str());
    859860            SendMessage(hDocCombo,CB_SETCURSEL,i,0);
    860861            SetStatusText(NULL);
     
    864865            WndNum=GetWndNum(hwnd);
    865866            if(WndNum==-1) break;
    866             MoveWindow(MdiInfo[WndNum].MdiMenuInfo->hMenuEdit,0,0,172,HIWORD(lParam),1);
    867             MoveWindow(MdiInfo[WndNum].MdiMenuInfo->hList,172,0,LOWORD(lParam)-172,HIWORD(lParam),1);
     867            MoveWindow(MdiInfo[WndNum]->MdiMenuInfo->hMenuEdit,0,0,172,HIWORD(lParam),1);
     868            MoveWindow(MdiInfo[WndNum]->MdiMenuInfo->hList,172,0,LOWORD(lParam)-172,HIWORD(lParam),1);
    868869            break;
    869870        case WM_CLOSE:
Note: See TracChangeset for help on using the changeset viewer.