Changeset 629 in dev for trunk/ab5.0/abdev/abdev/src/MainFrame.cpp
- Timestamp:
- Jun 2, 2008, 11:50:24 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/src/MainFrame.cpp
r625 r629 8 8 void ResetTextEditFont(HWND hwnd); 9 9 10 void MainFrame::Resized() 11 { 12 int width_owner,height_owner; 13 int height_Rebar; 14 int height_MdiClient; 15 RECT rect,StatusRect,RebarRect; 16 17 this->GetClientRect( &rect ); 18 width_owner=rect.right; 19 height_owner=rect.bottom; 20 21 //Rebar 22 SendMessage(pobj_Rebar->hRebar,WM_SIZE,0,MAKELONG(width_owner,height_owner)); 23 ::UpdateWindow(pobj_Rebar->hRebar); 24 25 //Status bar 26 #define STATUSBAR_PARTS_NUM 5 27 int sb_size[STATUSBAR_PARTS_NUM]; 28 sb_size[0]=width_owner-340; 29 sb_size[1]=width_owner-220; 30 sb_size[2]=width_owner-120; 31 sb_size[3]=width_owner-50; 32 sb_size[4]=width_owner; 33 extern HWND hStatusBar; 34 ::SendMessage(hStatusBar,SB_SETPARTS,STATUSBAR_PARTS_NUM,(LPARAM)sb_size); 35 ::SendMessage(hStatusBar,WM_SIZE,0,MAKELONG(width_owner,height_owner)); 36 ::UpdateWindow(hStatusBar); 37 38 //Status bar 39 int height_Statusbar; 40 SendMessage(hStatusBar,SB_GETRECT,0,(long)&StatusRect); 41 height_Statusbar=StatusRect.bottom; 42 43 ::GetWindowRect(pobj_Rebar->hRebar,&RebarRect); 44 height_Rebar=RebarRect.bottom-RebarRect.top+2; 45 46 int height_dv; //Width of Debugger View 47 int height_cv; //Width of Compiler View 48 height_dv=0; 49 height_cv=0; 50 #ifndef THETEXT 51 extern BOOL bClipCompileView; 52 if(bClipCompileView){ 53 if(pobj_Debugger->IsDebuggerView()){ 54 //デバッガビューが表示されているとき 55 height_dv=pobj_nv->height_ClipDebuggerView+LEVER_THICK; 56 } 57 58 extern HWND hCompileView; 59 if(hCompileView){ 60 //コンパイラビューが表示されているとき 61 height_cv=pobj_nv->height_ClipCompileView+LEVER_THICK; 62 } 63 } 64 #endif 65 66 int width_pjv=0; //Width of Project View 67 if(pobj_nv->bClipProjectView){ 68 extern HWND hProjectView; 69 if(::IsWindowVisible(hProjectView)){ 70 //プロジェクトビューが表示されているとき 71 width_pjv=pobj_nv->width_ClipProjectView+LEVER_THICK; 72 } 73 } 74 75 int width_SideWeb=0; 76 if( pobj_SideWeb ) 77 { 78 if(pobj_SideWeb->bShow){ 79 width_SideWeb=pobj_nv->width_WebSearchView+LEVER_THICK; 80 } 81 } 82 83 //MDIクライアントの高さ 84 height_MdiClient=height_owner-( 85 height_Rebar+ 86 height_dv+ 87 height_cv+ 88 height_Statusbar 89 ); 90 91 //タブコントロール 92 int tab_height; 93 if(TabCtrl_GetItemCount(pobj_MainTab->hTab)==0) tab_height=0; 94 else{ 95 RECT rc; 96 TabCtrl_GetItemRect(pobj_MainTab->hTab,0,&rc); 97 tab_height=rc.bottom-rc.top; 98 } 99 ::MoveWindow(pobj_MainTab->hTab, 100 width_pjv, 101 height_Rebar, 102 width_owner-width_pjv-width_SideWeb, 103 tab_height, 104 1); 105 106 //MDIクライアント 107 ::MoveWindow( 108 hClient, 109 width_pjv, 110 height_Rebar+tab_height, 111 width_owner-width_pjv-width_SideWeb, 112 height_MdiClient-tab_height, 113 1 114 ); 115 116 if( pobj_SideWeb ) 117 { 118 if(pobj_SideWeb->bShow){ 119 //SideWeb 120 pobj_SideWeb->resize( 121 width_owner - pobj_nv->width_WebSearchView, 122 height_Rebar, 123 pobj_nv->width_WebSearchView, 124 height_MdiClient); 125 } 126 else pobj_SideWeb->resize(0,0,0,0); 127 } 128 129 if(width_pjv){ 130 //プロジェクトビュー 131 extern HWND hProjectView; 132 ::MoveWindow(hProjectView, 133 0, 134 height_Rebar, 135 pobj_nv->width_ClipProjectView, 136 height_MdiClient, 137 1); 138 ::InvalidateRect(hProjectView,NULL,0); 139 } 140 141 if(height_dv){ 142 #ifndef THETEXT 143 //デバッガビュー 144 pobj_Debugger->resize( 145 0, 146 height_Rebar+height_MdiClient+LEVER_THICK, 147 width_owner, 148 pobj_nv->height_ClipDebuggerView); 149 #endif 150 } 151 if(height_cv){ 152 //コンパイラビュー 153 extern HWND hCompileView; 154 ::MoveWindow(hCompileView, 155 0, 156 height_Rebar+height_MdiClient+height_dv+LEVER_THICK, 157 width_owner, 158 pobj_nv->height_ClipCompileView, 159 1); 160 } 161 } 162 10 163 void MainFrame::OpenWebBrowser( const std::string &url ) 11 164 { … … 27 180 28 181 // MDIベースを作成 29 mdiWindow = new MdiWindow(); 30 mdiWindow->Create( 31 m_hWnd, 32 rect, 33 NULL, 34 WS_CHILD 35 ); 36 wam.AddMdiWindow( mdiWindow ); 182 // フレームウィンドウのビューウィンドウを作成 183 int indexOfWindowSubMenu = pobj_MainMenu->FindSubMenuIndex( "ウィンドウ(&W)" ); 184 HMENU hWindowSubMenu = NULL; 185 if( indexOfWindowSubMenu != -1 ) 186 { 187 hWindowSubMenu = GetSubMenu( pobj_MainMenu->hMenu, indexOfWindowSubMenu ); 188 } 189 CreateMDIClient( hWindowSubMenu ); 190 wam.AddMdiClientWindow( m_hWndClient ); 191 192 // TODO: hClientを廃止し、m_hWndClientに統一すること 193 extern HWND hClient; 194 hClient = m_hWndClient; 195 196 // メッセージループにメッセージフィルタとアイドルハンドラを追加 197 CMessageLoop* pLoop = Program::_Module.GetMessageLoop(); 198 pLoop->AddMessageFilter(this); 199 pLoop->AddIdleHandler(this); 37 200 38 201 … … 58 221 void MainFrame::OnSize(UINT nType, CSize size) 59 222 { 60 //mdiWindow->MoveWindow( 0, 0, size.cx, size.cy);223 this->Resized(); 61 224 } 62 225 … … 147 310 void MainFrame::OnDestroy() 148 311 { 149 mdiWindow->DestroyWindow();150 delete mdiWindow;151 152 312 ::PostQuitMessage( 0 ); 153 313 } … … 257 417 //レバーオブジェクトが存在するとき 258 418 if(pnmh->hwndFrom==pobj_Rebar->hRebar&&pnmh->code==RBN_HEIGHTCHANGE){ 259 ResizeOwnerWnd();419 this->Resized(); 260 420 return 0; 261 421 } … … 316 476 mii.dwTypeData=temporary; 317 477 mii.fType=MFT_STRING; 318 if(!MdiInfo[WndNum] .path.empty()){319 _splitpath(MdiInfo[WndNum] .path.c_str(),NULL,NULL,temporary,temp2);478 if(!MdiInfo[WndNum]->path.empty()){ 479 _splitpath(MdiInfo[WndNum]->path.c_str(),NULL,NULL,temporary,temp2); 320 480 lstrcat(temporary,temp2); 321 481 lstrcat(temporary," を保存(&S)"); … … 329 489 /*「絶対パスをコピー」「フォルダを開く」「ファイルを削除」 330 490 コマンドを場合によって無効化にする */ 331 if(!MdiInfo[WndNum] .path.empty()){491 if(!MdiInfo[WndNum]->path.empty()){ 332 492 EnableMenuItem(hTabMenu,IDM_PATH_COPY,MF_BYCOMMAND|MF_ENABLED); 333 493 EnableMenuItem(hTabMenu,IDM_FOLDER_OPEN,MF_BYCOMMAND|MF_ENABLED); … … 364 524 } 365 525 DragFinish(hDropInfo); 526 } 527 528 void MainFrame::OnPaint( HDC dummy ) 529 { 530 PAINTSTRUCT ps; 531 HDC hdc = this->BeginPaint( &ps ); 532 533 HBRUSH hBrush = CreateSolidBrush( GetSysColor( COLOR_3DFACE ) ); 534 535 RECT rect; 536 this->GetClientRect( &rect ); 537 538 FillRect( hdc, &rect, hBrush ); 539 540 DeleteObject( hBrush ); 541 542 this->EndPaint( &ps ); 366 543 } 367 544 … … 382 559 while(hChild){ 383 560 WndNum=GetWndNum(hChild); 384 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum] .DocType)){385 if(lstrcmpi(MdiInfo[WndNum] .path.c_str(),temporary)==0) break;561 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum]->DocType)){ 562 if(lstrcmpi(MdiInfo[WndNum]->path.c_str(),temporary)==0) break; 386 563 } 387 564 hChild=::GetNextWindow(hChild,GW_HWNDNEXT); … … 398 575 ::UpdateWindow(hChild); 399 576 400 char *pTemp=MdiInfo[WndNum] .pMdiTextEdit->buffer;577 char *pTemp=MdiInfo[WndNum]->pMdiTextEdit->buffer; 401 578 402 579 //行の先頭インデックスを取得(取得する行の番号はwParamで渡される) … … 549 726 { 550 727 for( int i=0;i<MdiInfo.size();i++){ 551 if(MdiInfo[i] .hwnd) SaveDocument(MdiInfo[i].hwnd,NULL);728 if(MdiInfo[i]->hwnd) SaveDocument(MdiInfo[i]->hwnd,NULL); 552 729 } 553 730 if( projectInfo.IsOpened() ) … … 585 762 if(!hChild) return; 586 763 int WndNum=GetWndNum(hChild); 587 if( IS_DOCUMENT_TEXT(MdiInfo[WndNum] .DocType) )764 if( IS_DOCUMENT_TEXT(MdiInfo[WndNum]->DocType) ) 588 765 { 589 766 TextEdit_UndoCommand(WndNum); 590 767 } 591 else if( MdiInfo[WndNum] .DocType == WNDTYPE_RAD )768 else if( MdiInfo[WndNum]->DocType == WNDTYPE_RAD ) 592 769 { 593 770 Rad_UndoCommand(WndNum); 594 771 } 595 else if( MdiInfo[WndNum] .DocType == WNDTYPE_ICONEDIT )772 else if( MdiInfo[WndNum]->DocType == WNDTYPE_ICONEDIT ) 596 773 { 597 774 IconEdit_UndoCommand(WndNum); … … 604 781 if(!hChild) return; 605 782 int WndNum=GetWndNum(hChild); 606 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum] .DocType))783 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum]->DocType)) 607 784 TextEdit_RedoCommand(WndNum); 608 else if(MdiInfo[WndNum] .DocType==WNDTYPE_RAD)785 else if(MdiInfo[WndNum]->DocType==WNDTYPE_RAD) 609 786 Rad_RedoCommand(WndNum); 610 else if(MdiInfo[WndNum] .DocType==WNDTYPE_ICONEDIT)787 else if(MdiInfo[WndNum]->DocType==WNDTYPE_ICONEDIT) 611 788 IconEdit_RedoCommand(WndNum); 612 789 } … … 616 793 HWND hChild=::GetWindow(hClient,GW_CHILD); 617 794 int WndNum=GetWndNum(hChild); 618 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum] .DocType)){795 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum]->DocType)){ 619 796 HWND hEdit=::GetWindow(hChild,GW_CHILD); 620 797 … … 624 801 HGLOBAL hGlobal=(char *)GlobalAlloc(GMEM_MOVEABLE,CharRange.cpMax-CharRange.cpMin+1); 625 802 char *pTemp=(char *)GlobalLock(hGlobal); 626 memcpy(pTemp,MdiInfo[WndNum] .pMdiTextEdit->buffer+CharRange.cpMin,CharRange.cpMax-CharRange.cpMin);803 memcpy(pTemp,MdiInfo[WndNum]->pMdiTextEdit->buffer+CharRange.cpMin,CharRange.cpMax-CharRange.cpMin); 627 804 pTemp[CharRange.cpMax-CharRange.cpMin]=0; 628 805 GlobalUnlock(hGlobal); … … 637 814 SendMessage(hEdit,WM_KEYDOWN,VK_DELETE,0); 638 815 } 639 else if(MdiInfo[WndNum] .DocType==WNDTYPE_RAD){640 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum] .path);641 int indexOfWndInfo = GetWndInfoNum(MdiInfo[WndNum] .path);816 else if(MdiInfo[WndNum]->DocType==WNDTYPE_RAD){ 817 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum]->path); 818 int indexOfWndInfo = GetWndInfoNum(MdiInfo[WndNum]->path); 642 819 643 820 //クリップボードに格納するためのデータを用意する 644 pWindowInfo->childWindowInfos[MdiInfo[WndNum] .MdiRadInfo->SelectingItem[0]]->pos.x-=17;645 pWindowInfo->childWindowInfos[MdiInfo[WndNum] .MdiRadInfo->SelectingItem[0]]->pos.y-=10;821 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->pos.x-=17; 822 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->pos.y-=10; 646 823 HGLOBAL hGlobal=Rad_GetChildInfoClipboardData(WndNum,indexOfWndInfo); 647 pWindowInfo->childWindowInfos[MdiInfo[WndNum] .MdiRadInfo->SelectingItem[0]]->pos.x+=17;648 pWindowInfo->childWindowInfos[MdiInfo[WndNum] .MdiRadInfo->SelectingItem[0]]->pos.y+=10;824 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->pos.x+=17; 825 pWindowInfo->childWindowInfos[MdiInfo[WndNum]->MdiRadInfo->SelectingItem[0]]->pos.y+=10; 649 826 650 827 OpenClipboard(); … … 654 831 CloseClipboard(); 655 832 656 SendMessage(MdiInfo[WndNum] .MdiRadInfo->hRad,WM_COMMAND,IDM_RAD_ITEM_DELETE,0);657 } 658 else if(MdiInfo[WndNum] .DocType==WNDTYPE_ICONEDIT){833 SendMessage(MdiInfo[WndNum]->MdiRadInfo->hRad,WM_COMMAND,IDM_RAD_ITEM_DELETE,0); 834 } 835 else if(MdiInfo[WndNum]->DocType==WNDTYPE_ICONEDIT){ 659 836 //クリップボードに格納するためのデータを用意する 660 837 HGLOBAL hGlobal=IconEdit_GetChildInfoClipboardData(WndNum); … … 666 843 CloseClipboard(); 667 844 668 DeleteObject(MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp);669 MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel=0;670 671 IconEdit_EraseRect(WndNum,&MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect);845 DeleteObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp); 846 MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=0; 847 848 IconEdit_EraseRect(WndNum,&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect); 672 849 } 673 850 } … … 677 854 HWND hChild=::GetWindow(hClient,GW_CHILD); 678 855 int WndNum=GetWndNum(hChild); 679 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum] .DocType)){856 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum]->DocType)){ 680 857 HWND hEdit = ::GetWindow(hChild,GW_CHILD); 681 858 … … 685 862 HGLOBAL hGlobal=(char *)GlobalAlloc(GMEM_MOVEABLE,CharRange.cpMax-CharRange.cpMin+1); 686 863 char *pTemp=(char *)GlobalLock(hGlobal); 687 memcpy(pTemp,MdiInfo[WndNum] .pMdiTextEdit->buffer+CharRange.cpMin,CharRange.cpMax-CharRange.cpMin);864 memcpy(pTemp,MdiInfo[WndNum]->pMdiTextEdit->buffer+CharRange.cpMin,CharRange.cpMax-CharRange.cpMin); 688 865 pTemp[CharRange.cpMax-CharRange.cpMin]=0; 689 866 GlobalUnlock(hGlobal); … … 695 872 CloseClipboard(); 696 873 } 697 else if(MdiInfo[WndNum] .DocType==WNDTYPE_RAD){698 int indexOfWndInfo = GetWndInfoNum(MdiInfo[WndNum] .path);874 else if(MdiInfo[WndNum]->DocType==WNDTYPE_RAD){ 875 int indexOfWndInfo = GetWndInfoNum(MdiInfo[WndNum]->path); 699 876 700 877 //クリップボードに格納するためのデータを用意する … … 707 884 CloseClipboard(); 708 885 } 709 else if(MdiInfo[WndNum] .DocType==WNDTYPE_ICONEDIT){886 else if(MdiInfo[WndNum]->DocType==WNDTYPE_ICONEDIT){ 710 887 //クリップボードに格納するためのデータを用意する 711 888 HGLOBAL hGlobal=IconEdit_GetChildInfoClipboardData(WndNum); … … 722 899 HWND hChild=::GetWindow(hClient,GW_CHILD); 723 900 int WndNum=GetWndNum(hChild); 724 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum] .DocType)){901 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum]->DocType)){ 725 902 HWND hEdit=::GetWindow(hChild,GW_CHILD); 726 903 … … 762 939 ResetCaretPos(WndNum); 763 940 } 764 else if(MdiInfo[WndNum] .DocType==WNDTYPE_RAD){941 else if(MdiInfo[WndNum]->DocType==WNDTYPE_RAD){ 765 942 OpenClipboard(); 766 943 extern DWORD dwRadClipboardID; … … 773 950 CloseClipboard(); 774 951 } 775 else if(MdiInfo[WndNum] .DocType==WNDTYPE_ICONEDIT){952 else if(MdiInfo[WndNum]->DocType==WNDTYPE_ICONEDIT){ 776 953 OpenClipboard(); 777 954 HGLOBAL hGlobal=GetClipboardData(CF_BITMAP); … … 789 966 HWND hChild=::GetWindow(hClient,GW_CHILD); 790 967 int WndNum=GetWndNum(hChild); 791 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum] .DocType)){968 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum]->DocType)){ 792 969 HWND hEdit=::GetWindow(hChild,GW_CHILD); 793 970 TextEdit_ReplaceUpdateUndoData(WndNum,"",0,1); 794 971 } 795 else if(MdiInfo[WndNum] .DocType==WNDTYPE_RAD)796 SendMessage(MdiInfo[WndNum] .MdiRadInfo->hRad,WM_COMMAND,IDM_RAD_ITEM_DELETE,0);972 else if(MdiInfo[WndNum]->DocType==WNDTYPE_RAD) 973 SendMessage(MdiInfo[WndNum]->MdiRadInfo->hRad,WM_COMMAND,IDM_RAD_ITEM_DELETE,0); 797 974 } 798 975 … … 801 978 HWND hChild=::GetWindow(hClient,GW_CHILD); 802 979 int WndNum=GetWndNum(hChild); 803 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum] .DocType)){980 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum]->DocType)){ 804 981 HWND hEdit=::GetWindow(hChild,GW_CHILD); 805 982 806 MdiInfo[WndNum] .pMdiTextEdit->StartCaretPos.x=0;807 MdiInfo[WndNum] .pMdiTextEdit->StartCaretPos.y=0;983 MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x=0; 984 MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y=0; 808 985 809 986 GetCaretPosFromBufferIndex( 810 MdiInfo[WndNum] .pMdiTextEdit->buffer,811 lstrlen(MdiInfo[WndNum] .pMdiTextEdit->buffer),812 &MdiInfo[WndNum] .pMdiTextEdit->EndCaretPos);987 MdiInfo[WndNum]->pMdiTextEdit->buffer, 988 lstrlen(MdiInfo[WndNum]->pMdiTextEdit->buffer), 989 &MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos); 813 990 814 991 ::InvalidateRect(hEdit,NULL,0); … … 816 993 ResetState_EditMenu(); 817 994 } 818 else if(MdiInfo[WndNum] .DocType==WNDTYPE_RAD){819 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum] .path);995 else if(MdiInfo[WndNum]->DocType==WNDTYPE_RAD){ 996 ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum]->path); 820 997 for( int i3=0; i3<static_cast<int>(pWindowInfo->childWindowInfos.size()); i3++ ) 821 998 { 822 MdiInfo[WndNum] .MdiRadInfo->SelectingItem[i3] = i3;999 MdiInfo[WndNum]->MdiRadInfo->SelectingItem[i3] = i3; 823 1000 } 824 1001 DrawRadWindow(WndNum,pWindowInfo); … … 880 1057 881 1058 //再配置 882 ResizeOwnerWnd();1059 this->Resized(); 883 1060 884 1061 ::ShowWindow(hClient,SW_SHOW); … … 991 1168 //単独ソースコード 992 1169 if(!SetRunning(hChild)) return; 993 if(IsNeedCompile(MdiInfo[GetWndNum(hChild)] .path,1))994 sprintf(temporary,"\"%s\" /debug /run /wnd:%08x",MdiInfo[GetWndNum(hChild)] .path.c_str(),m_hWnd);1170 if(IsNeedCompile(MdiInfo[GetWndNum(hChild)]->path,1)) 1171 sprintf(temporary,"\"%s\" /debug /run /wnd:%08x",MdiInfo[GetWndNum(hChild)]->path.c_str(),m_hWnd); 995 1172 else 996 sprintf(temporary,"\"%s\" /run /wnd:%08x",MdiInfo[GetWndNum(hChild)] .path.c_str(),m_hWnd);1173 sprintf(temporary,"\"%s\" /run /wnd:%08x",MdiInfo[GetWndNum(hChild)]->path.c_str(),m_hWnd); 997 1174 998 1175 //ブレークポイントをセーブ … … 1057 1234 //単独ソースコード 1058 1235 if(!SetRunning(hChild)) return; 1059 sprintf(temporary,"\"%s\" /debug /wnd:%08x",MdiInfo[GetWndNum(hChild)] .path.c_str(),m_hWnd);1236 sprintf(temporary,"\"%s\" /debug /wnd:%08x",MdiInfo[GetWndNum(hChild)]->path.c_str(),m_hWnd); 1060 1237 } 1061 1238 … … 1171 1348 //単独ソースコード 1172 1349 if(!SetRunning(hChild)) return; 1173 sprintf(temporary,"\"%s\" /wnd:%08x",MdiInfo[GetWndNum(hChild)] .path.c_str(),m_hWnd);1350 sprintf(temporary,"\"%s\" /wnd:%08x",MdiInfo[GetWndNum(hChild)]->path.c_str(),m_hWnd); 1174 1351 } 1175 1352 … … 1226 1403 if(!SetRunning(hChild)) return; 1227 1404 1228 if(IsNeedCompile(MdiInfo[GetWndNum(hChild)] .path,0))1405 if(IsNeedCompile(MdiInfo[GetWndNum(hChild)]->path,0)) 1229 1406 SendMessage(WM_COMMAND,IDM_RELEASECOMPILE,0);*/ 1230 1407 1231 1408 //単独ソースコード 1232 _splitpath(MdiInfo[GetWndNum(hChild)] .path.c_str(),temporary,temp2,temp3,NULL);1409 _splitpath(MdiInfo[GetWndNum(hChild)]->path.c_str(),temporary,temp2,temp3,NULL); 1233 1410 lstrcat(temporary,temp2); 1234 1411 lstrcat(temporary,temp3); … … 1411 1588 for(int i=0;i<MdiInfo.size();i++){ 1412 1589 if(i==WndNum) continue; 1413 if(MdiInfo[i] .hwnd) SendMessage(MdiInfo[i].hwnd,WM_CLOSE,0,0);1590 if(MdiInfo[i]->hwnd) SendMessage(MdiInfo[i]->hwnd,WM_CLOSE,0,0); 1414 1591 } 1415 1592 } … … 1421 1598 1422 1599 //絶対パスをコピー 1423 HGLOBAL hGlobal=(char *)GlobalAlloc(GMEM_MOVEABLE,MdiInfo[WndNum] .path.size()+1);1600 HGLOBAL hGlobal=(char *)GlobalAlloc(GMEM_MOVEABLE,MdiInfo[WndNum]->path.size()+1); 1424 1601 char *pTemp=(char *)GlobalLock(hGlobal); 1425 lstrcpy(pTemp,MdiInfo[WndNum] .path.c_str());1602 lstrcpy(pTemp,MdiInfo[WndNum]->path.c_str()); 1426 1603 GlobalUnlock(hGlobal); 1427 1604 … … 1439 1616 1440 1617 char temporary[1024], temp2[1024]; 1441 _splitpath(MdiInfo[WndNum] .path.c_str(),temporary,temp2,NULL,NULL);1618 _splitpath(MdiInfo[WndNum]->path.c_str(),temporary,temp2,NULL,NULL); 1442 1619 lstrcat(temporary,temp2); 1443 1620 … … 1451 1628 1452 1629 char temporary[1024], temp2[1024]; 1453 _splitpath(MdiInfo[WndNum] .path.c_str(),NULL,NULL,temporary,temp2);1630 _splitpath(MdiInfo[WndNum]->path.c_str(),NULL,NULL,temporary,temp2); 1454 1631 lstrcat(temporary,temp2); 1455 1632 … … 1461 1638 fo.hwnd=m_hWnd; 1462 1639 fo.wFunc=FO_DELETE; 1463 fo.pFrom =MdiInfo[WndNum] .path.c_str();1640 fo.pFrom =MdiInfo[WndNum]->path.c_str(); 1464 1641 fo.pTo="\0"; 1465 1642 fo.fFlags =FOF_ALLOWUNDO|FOF_NOCONFIRMATION; … … 1467 1644 1468 1645 //閉じる 1469 MdiInfo[WndNum] .pMdiTextEdit->UnModify();1470 SendMessage(MdiInfo[WndNum] .hwnd,WM_CLOSE,0,0);1646 MdiInfo[WndNum]->pMdiTextEdit->UnModify(); 1647 SendMessage(MdiInfo[WndNum]->hwnd,WM_CLOSE,0,0); 1471 1648 } 1472 1649
Note:
See TracChangeset
for help on using the changeset viewer.