Changeset 629 in dev for trunk/ab5.0/abdev/abdev/MenuProc.cpp
- Timestamp:
- Jun 2, 2008, 11:50:24 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/MenuProc.cpp
r626 r629 121 121 // ウィンドウ プロパティを更新 122 122 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)); 126 126 } 127 127 } … … 135 135 //ウィンドウが開かれている場合は閉じる 136 136 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); 139 139 break; 140 140 } … … 165 165 // ウィンドウ プロパティを更新 166 166 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())); 170 170 } 171 171 } … … 199 199 while(hChild){ 200 200 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; 203 203 } 204 204 hChild=GetNextWindow(hChild,GW_HWNDNEXT); … … 228 228 229 229 mdic.lParam=0; 230 mdic.style |= WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_SYSMENU | WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX; 230 231 hChild=(HWND)SendMessage(hClient,WM_MDICREATE,0,(long)&mdic); //ウィンドウ作成 231 232 … … 248 249 249 250 //ウィンドウのID登録 250 MdiInfo.push_back( MDIINFO() );251 MdiInfo.push_back( new MDIINFO() ); 251 252 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; 256 257 257 258 … … 259 260 //MENU ウィンドウ情報 260 261 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); 267 268 268 269 SCROLLINFO ScrollInfo; … … 270 271 ScrollInfo.fMask=SIF_POS; 271 272 ScrollInfo.nPos=0; 272 SetScrollInfo(MdiInfo[i] .MdiMenuInfo->hMenuEdit,SB_VERT,&ScrollInfo,1);273 SetScrollInfo(MdiInfo[i]->MdiMenuInfo->hMenuEdit,SB_VERT,&ScrollInfo,1); 273 274 274 275 SendMessage(hListWnd,LB_RESETCONTENT,0,0); … … 282 283 //ウィンドウ位置を初期化 283 284 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); 286 287 287 288 //Docコンボボックスに追加 … … 334 335 SetPosCenter(hwnd); 335 336 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); 337 338 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); 339 340 SetDlgItemText(hwnd,IDC_CAPTION,temporary); 340 341 … … 396 397 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 397 398 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); 401 402 if(i4==LB_ERR) return 1; 402 403 i2=0; … … 410 411 if(!pMenuInfo->pMenuInfo){ 411 412 //ID 412 SetDlgItemText(MdiInfo[WndNum] .MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,pMenuInfo->IdName);413 SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_IDNAME,pMenuInfo->IdName); 413 414 } 414 415 415 416 //キャプション 416 SetDlgItemText(MdiInfo[WndNum] .MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,pMenuInfo->caption);417 SetDlgItemText(MdiInfo[WndNum]->MdiMenuInfo->hEdit_Dlg,IDC_CAPTION,pMenuInfo->caption); 417 418 418 419 //リストへキャプションを反映 419 SendMessage(MdiInfo[WndNum] .MdiMenuInfo->hList,LB_DELETESTRING,i4,0);420 SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_DELETESTRING,i4,0); 420 421 memset(temporary,' ',i3*4); 421 422 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); 425 426 projectInfo.ModifyOfMaterial=1; 426 427 return 1; … … 428 429 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 429 430 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); 433 434 if(i4==LB_ERR) return 1; 434 435 i2=0; … … 446 447 447 448 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); 449 450 450 451 HeapDefaultFree(pMenuInfo->pMenuInfo); … … 468 469 pMenuInfo->type=MFT_STRING; 469 470 } 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); 471 472 projectInfo.ModifyOfMaterial=1; 472 473 return 1; … … 474 475 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 475 476 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); 479 480 if(i4==LB_ERR) return 1; 480 481 i2=0; … … 490 491 pMenuInfo->type=MFT_SEPARATOR; 491 492 492 SendMessage(MdiInfo[WndNum] .MdiMenuInfo->hList,LB_DELETESTRING,i4,0);493 SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_DELETESTRING,i4,0); 493 494 memset(temporary,' ',i3*4); 494 495 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); 496 497 } 497 498 else{ … … 504 505 pMenuInfo->type=MFT_STRING; 505 506 506 SendMessage(MdiInfo[WndNum] .MdiMenuInfo->hList,LB_DELETESTRING,i4,0);507 SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_DELETESTRING,i4,0); 507 508 memset(temporary,' ',i3*4); 508 509 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); 513 514 return 1; 514 515 case IDC_CHECKED: 515 516 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 516 517 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); 520 521 if(i4==LB_ERR) return 1; 521 522 i2=0; … … 534 535 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 535 536 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); 539 540 if(i4==LB_ERR) return 1; 540 541 i2=0; … … 553 554 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 554 555 if(WndNum==-1) return 1; 555 MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum] .path);556 MenuInfoNum=GetMenuInfoNum(MdiInfo[WndNum]->path); 556 557 557 558 if(projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu==0){ … … 573 574 projectInfo.pMenuInfo[MenuInfoNum].NumberOfMenu++; 574 575 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); 578 579 } 579 580 else{ 580 i4=SendMessage(MdiInfo[WndNum] .MdiMenuInfo->hList,LB_GETCURSEL,0,0);581 i4=SendMessage(MdiInfo[WndNum]->MdiMenuInfo->hList,LB_GETCURSEL,0,0); 581 582 if(i4==LB_ERR){ 582 583 //"新しいメニュー アイテムの挿入位置を選択して下さい" … … 622 623 pMenuInfo->NumberOfMenu++; 623 624 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); 627 628 } 628 629 projectInfo.ModifyOfMaterial=1; … … 631 632 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 632 633 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); 636 637 if(i4==LB_ERR){ 637 638 //"削除するメニュー アイテムを選択して下さい" … … 664 665 665 666 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; 669 670 if(i){ 670 671 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); 672 673 } 673 674 … … 677 678 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 678 679 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); 682 683 if(i4==LB_ERR){ 683 684 //"移動するメニュー アイテムを選択して下さい" … … 695 696 memcpy(&pMenuInfo->pMenuInfo[i2+1],&tempMenuInfo,sizeof(MENU_INFO)); 696 697 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); 699 700 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); 701 702 702 703 projectInfo.ModifyOfMaterial=1; … … 705 706 WndNum=GetWndNum(GetParent(GetParent(hwnd))); 706 707 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); 710 711 if(i4==LB_ERR){ 711 712 //"移動するメニュー アイテムを選択して下さい" … … 722 723 memcpy(&pMenuInfo->pMenuInfo[i2+1],&tempMenuInfo,sizeof(MENU_INFO)); 723 724 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); 726 727 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); 728 729 729 730 projectInfo.ModifyOfMaterial=1; … … 770 771 ScrollInfo.fMask=SIF_PAGE|SIF_RANGE|SIF_POS; 771 772 GetScrollInfo(hwnd,SB_VERT,&ScrollInfo); 772 GetClientRect(MdiInfo[i] .MdiMenuInfo->hEdit_Dlg,&rect);773 GetClientRect(MdiInfo[i]->MdiMenuInfo->hEdit_Dlg,&rect); 773 774 ScrollInfo.nMin=0; 774 775 ScrollInfo.nMax=rect.bottom; … … 796 797 WndNum=GetWndNum(hwnd); 797 798 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); 801 802 i2=0; 802 803 i3=0; … … 805 806 806 807 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); 817 818 } 818 819 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); 830 831 } 831 832 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); 843 844 } 844 845 845 846 if(pMenuInfo->state&MFS_CHECKED) i2=BST_CHECKED; 846 847 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); 848 849 if(pMenuInfo->state&MFS_DISABLED) i2=BST_CHECKED; 849 850 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); 851 852 } 852 853 return 0; … … 856 857 if(i==-1) return 0; //ウィンドウが初期状態の場合 857 858 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()); 859 860 SendMessage(hDocCombo,CB_SETCURSEL,i,0); 860 861 SetStatusText(NULL); … … 864 865 WndNum=GetWndNum(hwnd); 865 866 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); 868 869 break; 869 870 case WM_CLOSE:
Note:
See TracChangeset
for help on using the changeset viewer.