Changeset 625 in dev for trunk/ab5.0/abdev/abdev/abdev.cpp
- Timestamp:
- May 27, 2008, 9:17:34 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/abdev.cpp
r624 r625 99 99 int i; 100 100 if(!IsWindow(hChild)) return -1; 101 for(i=0;i<M AX_WNDNUM;i++){101 for(i=0;i<MdiInfo.size();i++){ 102 102 if(hChild==MdiInfo[i].hwnd) break; 103 103 } 104 if(i==M AX_WNDNUM) i=-1;104 if(i==MdiInfo.size()) i=-1; 105 105 return i; 106 106 } … … 119 119 projectInfo.pobj_DBFileInfo->ppobj_FileInfo[i]->GetFullPath(temporary); 120 120 121 if(lstrcmpi(MdiInfo[WndNum].path ,temporary)==0) return i;121 if(lstrcmpi(MdiInfo[WndNum].path.c_str(),temporary)==0) return i; 122 122 } 123 123 return -1; … … 643 643 } 644 644 WndNum=GetWndNum(hChild); 645 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){ 646 pobj_MainMenu->EnableItem(IDM_PAGESET,MF_BYCOMMAND|MF_ENABLED); 647 648 pobj_MainMenu->EnableItem(IDM_PREVIEW,MF_BYCOMMAND|MF_ENABLED); 649 650 pobj_MainMenu->EnableItem(IDM_PRINTOUT,MF_BYCOMMAND|MF_ENABLED); 651 } 652 else{ 653 pobj_MainMenu->EnableItem(IDM_PAGESET,MF_BYCOMMAND|MF_GRAYED); 654 655 pobj_MainMenu->EnableItem(IDM_PREVIEW,MF_BYCOMMAND|MF_GRAYED); 656 657 pobj_MainMenu->EnableItem(IDM_PRINTOUT,MF_BYCOMMAND|MF_GRAYED); 645 if( WndNum != -1 ) 646 { 647 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){ 648 pobj_MainMenu->EnableItem(IDM_PAGESET,MF_BYCOMMAND|MF_ENABLED); 649 650 pobj_MainMenu->EnableItem(IDM_PREVIEW,MF_BYCOMMAND|MF_ENABLED); 651 652 pobj_MainMenu->EnableItem(IDM_PRINTOUT,MF_BYCOMMAND|MF_ENABLED); 653 } 654 else{ 655 pobj_MainMenu->EnableItem(IDM_PAGESET,MF_BYCOMMAND|MF_GRAYED); 656 657 pobj_MainMenu->EnableItem(IDM_PREVIEW,MF_BYCOMMAND|MF_GRAYED); 658 659 pobj_MainMenu->EnableItem(IDM_PRINTOUT,MF_BYCOMMAND|MF_GRAYED); 660 } 658 661 } 659 662 } … … 722 725 void DuplicateTitleCheck(char *lpszTitle){ 723 726 int i; 724 for(i=0;i<M AX_WNDNUM;i++){727 for(i=0;i<MdiInfo.size();i++){ 725 728 if(MdiInfo[i].hwnd){ 726 729 if(lstrcmpi(MdiInfo[i].title,lpszTitle)==0){ … … 747 750 i=GetWndNum(hChild); 748 751 if(IS_DOCUMENT_TEXT(MdiInfo[i].DocType)){ 749 if(lstrcmpi(MdiInfo[i].path ,filepath)==0) break;752 if(lstrcmpi(MdiInfo[i].path.c_str(),filepath)==0) break; 750 753 } 751 754 hChild=GetNextWindow(hChild,GW_HWNDNEXT); … … 890 893 hChild,NULL,hInst,NULL); 891 894 895 892 896 //ウィンドウのID登録 893 for(i=0;i<MAX_WNDNUM;i++){894 if(MdiInfo[i].hwnd==0){895 896 897 DuplicateTitleCheck(str);898 MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(str)+1);899 lstrcpy(MdiInfo[i].title,str);900 if(filepath){901 MdiInfo[i].path=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(filepath)+1);902 lstrcpy(MdiInfo[i].path,filepath);903 }904 else{905 MdiInfo[i].path=(char *)GlobalAlloc(GPTR,1);906 }907 908 MdiInfo[i].pMdiTextEdit = new CMdiTextEdit( &MdiInfo[i] );909 910 MdiInfo[i].pMdiTextEdit->hEdit=hEdit;911 MdiInfo[i].pMdiTextEdit->pobj_WebResult=new CWebResult(hChild); 912 MdiInfo[i].pMdiTextEdit->pobj_Ruler=new CRuler(hChild,i);913 MdiInfo[i].pMdiTextEdit->hIcon=shfi.hIcon;914 MdiInfo[i].pMdiTextEdit->buffer=buffer;915 MdiInfo[i].pMdiTextEdit->pColorRef=(COLORREF *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,sizeof(COLORREF)*lstrlen(buffer));916 MdiInfo[i].pMdiTextEdit->iUnderStart=-1;917 MdiInfo[i].pMdiTextEdit->iUnderEnd=-1;918 MdiInfo[i].pMdiTextEdit->StartCaretPos.x=0;919 MdiInfo[i].pMdiTextEdit->StartCaretPos.y=0;920 MdiInfo[i].pMdiTextEdit->EndCaretPos.x=0;921 MdiInfo[i].pMdiTextEdit->EndCaretPos.y=0;922 MdiInfo[i].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;923 MdiInfo[i].pMdiTextEdit->bAutoScroll=0;924 MdiInfo[i].pMdiTextEdit->iWidth_ControlTabSpace=925 GetControlTabSpace(i,&MdiInfo[i].pMdiTextEdit->iLineNumberTextCount);926 MdiInfo[i].pMdiTextEdit->iCharCode=iCharCode;927 MdiInfo[i].pMdiTextEdit->iLfCode=iLfCode;928 929 MdiInfo[i].IndentStr=0;930 931 int flag; 932 if(mdic.style&WS_MAXIMIZE) flag=SIZE_MAXIMIZED; 933 else flag=0;934 SendTextEditResizeEvent(hChild);935 break;936 }937 } 897 MdiInfo.push_back( MDIINFO() ); 898 i = MdiInfo.size()-1; 899 MdiInfo[i].hwnd=hChild; 900 MdiInfo[i].DocType=DocumentType; 901 MdiInfo[i].title=""; 902 DuplicateTitleCheck(str); 903 MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(str)+1); 904 lstrcpy(MdiInfo[i].title,str); 905 if(filepath) 906 { 907 MdiInfo[i].path = filepath; 908 } 909 else 910 { 911 MdiInfo[i].path = ""; 912 } 913 914 MdiInfo[i].pMdiTextEdit = new CMdiTextEdit( &MdiInfo[i] ); 915 916 MdiInfo[i].pMdiTextEdit->hEdit=hEdit; 917 MdiInfo[i].pMdiTextEdit->pobj_WebResult=new CWebResult(hChild); 918 MdiInfo[i].pMdiTextEdit->pobj_Ruler=new CRuler(hChild,i); 919 MdiInfo[i].pMdiTextEdit->hIcon=shfi.hIcon; 920 MdiInfo[i].pMdiTextEdit->buffer=buffer; 921 MdiInfo[i].pMdiTextEdit->pColorRef=(COLORREF *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,sizeof(COLORREF)*lstrlen(buffer)); 922 MdiInfo[i].pMdiTextEdit->iUnderStart=-1; 923 MdiInfo[i].pMdiTextEdit->iUnderEnd=-1; 924 MdiInfo[i].pMdiTextEdit->StartCaretPos.x=0; 925 MdiInfo[i].pMdiTextEdit->StartCaretPos.y=0; 926 MdiInfo[i].pMdiTextEdit->EndCaretPos.x=0; 927 MdiInfo[i].pMdiTextEdit->EndCaretPos.y=0; 928 MdiInfo[i].pMdiTextEdit->Temp_UpDown_CaretXPos=-1; 929 MdiInfo[i].pMdiTextEdit->bAutoScroll=0; 930 MdiInfo[i].pMdiTextEdit->iWidth_ControlTabSpace= 931 GetControlTabSpace(i,&MdiInfo[i].pMdiTextEdit->iLineNumberTextCount); 932 MdiInfo[i].pMdiTextEdit->iCharCode=iCharCode; 933 MdiInfo[i].pMdiTextEdit->iLfCode=iLfCode; 934 MdiInfo[i].IndentStr=0; 935 936 937 int flag; 938 if(mdic.style&WS_MAXIMIZE) flag=SIZE_MAXIMIZED; 939 else flag=0; 940 SendTextEditResizeEvent(hChild); 941 938 942 939 943 //ワードカラーをセット 940 if(IS_DOCUMENT_TEXT(DocumentType)) SetTextEditWordColor( i);944 if(IS_DOCUMENT_TEXT(DocumentType)) SetTextEditWordColor(MdiInfo.size()-1); 941 945 942 946 //Docコンボボックスに追加 … … 983 987 984 988 GlobalFree(MdiInfo[WndNum].title); 985 GlobalFree(MdiInfo[WndNum].path);986 989 987 990 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){ … … 1063 1066 HeapDefaultFree(MdiInfo[WndNum].MdiIconEditInfo); 1064 1067 } 1068 else 1069 { 1070 throw; 1071 } 1072 1073 Jenga::Common::EraseVectorItem<std::vector<MDIINFO>>( MdiInfo, WndNum ); 1065 1074 } 1066 1075 void ResizeTextEditWnd(HWND hwnd,int cx,int cy){ … … 1711 1720 if(!TranslateAccelerator(hOwner,hAccel,&msg)){ 1712 1721 if( projectInfo.IsOpened() ){ 1713 for(i=0,i2=0;i<M AX_WNDNUM;i++){1722 for(i=0,i2=0;i<MdiInfo.size();i++){ 1714 1723 if(MdiInfo[i].hwnd&&MdiInfo[i].DocType==WNDTYPE_RAD){ 1715 1724 if(IsDialogMessage(MdiInfo[i].MdiRadInfo->hProp_Dlg,&msg)) i2=1;
Note:
See TracChangeset
for help on using the changeset viewer.