Changeset 618 in dev for trunk/ab5.0/abdev/abdev/WindowControl.cpp
- Timestamp:
- May 19, 2008, 5:10:15 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/WindowControl.cpp
r617 r618 14 14 15 15 int GetWndInfoNum(char *name){ 16 for( int i=0;i<static_cast<int>( ProjectInfo.windowInfos.size());i++){17 if(lstrcmpi(name, ProjectInfo.windowInfos[i]->GetName().c_str())==0) return i;16 for( int i=0;i<static_cast<int>(projectInfo.windowInfos.size());i++){ 17 if(lstrcmpi(name,projectInfo.windowInfos[i]->GetName().c_str())==0) return i; 18 18 } 19 19 return -1; … … 21 21 WindowInfo *GetWndInfo( char *name ) 22 22 { 23 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )23 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 24 24 { 25 25 if(lstrcmpi(name,pWindowInfo->GetName().c_str())==0) return pWindowInfo; … … 85 85 86 86 for(i3--;i3>=0;i3--){ 87 CHILDINFO *pChildInfo = ProjectInfo.windowInfos[WndInfoNum]->childWindowInfos[MdiInfo[WndNum].MdiRadInfo->SelectingItem[i3]];87 CHILDINFO *pChildInfo = projectInfo.windowInfos[WndInfoNum]->childWindowInfos[MdiInfo[WndNum].MdiRadInfo->SelectingItem[i3]]; 88 88 89 89 MemSize+=lstrlen(pChildInfo->IdName)+1+ … … 526 526 char temporary[MAX_PATH],*temp2; 527 527 528 WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];528 WindowInfo *pWindowInfo = projectInfo.windowInfos[WndInfoNum]; 529 529 530 530 Command[0]=0; … … 550 550 if(pWindowInfo->MenuID){ 551 551 //メニュー作成 552 for(i2=0;i2< ProjectInfo.NumberOfMenu;i2++){553 if(lstrcmpi( ProjectInfo.pMenuInfo[i2].IdName,pWindowInfo->MenuID)==0) break;554 } 555 if(i2!= ProjectInfo.NumberOfMenu){556 sprintf(Command+i,"%s\tSetMenu(hWnd,hMenu_%s)\r\n",spaces, ProjectInfo.pMenuInfo[i2].IdName);552 for(i2=0;i2<projectInfo.NumberOfMenu;i2++){ 553 if(lstrcmpi(projectInfo.pMenuInfo[i2].IdName,pWindowInfo->MenuID)==0) break; 554 } 555 if(i2!=projectInfo.NumberOfMenu){ 556 sprintf(Command+i,"%s\tSetMenu(hWnd,hMenu_%s)\r\n",spaces,projectInfo.pMenuInfo[i2].IdName); 557 557 i+=lstrlen(Command+i); 558 558 } … … 726 726 if(pWindowInfo->MenuID){ 727 727 //メニューを解放 728 for(i2=0;i2< ProjectInfo.NumberOfMenu;i2++){729 if(lstrcmpi( ProjectInfo.pMenuInfo[i2].IdName,pWindowInfo->MenuID)==0) break;730 } 731 if(i2!= ProjectInfo.NumberOfMenu){728 for(i2=0;i2<projectInfo.NumberOfMenu;i2++){ 729 if(lstrcmpi(projectInfo.pMenuInfo[i2].IdName,pWindowInfo->MenuID)==0) break; 730 } 731 if(i2!=projectInfo.NumberOfMenu){ 732 732 sprintf(Command+i,"%s\tSetMenu(hWnd,NULL)\r\n",spaces); 733 733 i+=lstrlen(Command+i); … … 990 990 i2=lstrlen(buffer); 991 991 992 if( ProjectInfo.dwOption&PJ_OP_COMMCTRL){992 if(projectInfo.dwOption&PJ_OP_COMMCTRL){ 993 993 //コマンコントロールを初期化 994 994 lstrcpy(buffer+i2,"Dim _RadSys_InitCtrls As INITCOMMONCONTROLSEX\r\n"); … … 1009 1009 i4=1000; 1010 1010 i5=0; 1011 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1011 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1012 1012 { 1013 1013 BOOST_FOREACH( const CHILDINFO *pChildInfo, pWindowInfo->childWindowInfos ) … … 1038 1038 1039 1039 //メニューのIDを定義 1040 ppNames=GetMenuItemConstData( ProjectInfo.pMenuInfo,ProjectInfo.NumberOfMenu,&i4,ppNames,&i5,buffer,&i2);1040 ppNames=GetMenuItemConstData(projectInfo.pMenuInfo,projectInfo.NumberOfMenu,&i4,ppNames,&i5,buffer,&i2); 1041 1041 1042 1042 HeapDefaultFree(ppNames); … … 1046 1046 1047 1047 //ハンドル変数を定義 1048 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1048 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1049 1049 { 1050 1050 sprintf(buffer+i2,"Dim %s As HWND\r\n",pWindowInfo->GetHandleName().c_str()); … … 1082 1082 i2+=lstrlen(buffer+i2); 1083 1083 i=0; 1084 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1084 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1085 1085 { 1086 1086 if(pWindowInfo->bgColor<=0&& … … 1097 1097 sprintf(buffer+i2,"_RadSys_hBackBrush%d=CreatePatternBrush(LoadImage(GetModuleHandle(0),%s,IMAGE_BITMAP,0,0,LR_DEFAULTSIZE or LR_SHARED))\r\n", 1098 1098 i, 1099 ProjectInfo.res.pBitmapResInfo[pWindowInfo->bgColor-0x1000].IdName);1099 projectInfo.res.pBitmapResInfo[pWindowInfo->bgColor-0x1000].IdName); 1100 1100 i2+=lstrlen(buffer+i2); 1101 1101 } … … 1108 1108 1109 1109 //イメージ ボックス用の変数を定義 1110 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1110 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1111 1111 { 1112 1112 BOOST_FOREACH( const CHILDINFO *pChildInfo, pWindowInfo->childWindowInfos ) … … 1131 1131 1132 1132 //メニュー作成 1133 for(i=0;i< ProjectInfo.NumberOfMenu;i++){1134 sprintf(temporary,"hMenu_%s", ProjectInfo.pMenuInfo[i].IdName);1133 for(i=0;i<projectInfo.NumberOfMenu;i++){ 1134 sprintf(temporary,"hMenu_%s",projectInfo.pMenuInfo[i].IdName); 1135 1135 1136 1136 //InsertMenuItem郡 1137 i2+=GetMakeMenuCommand( ProjectInfo.pMenuInfo[i].pMenuInfo,ProjectInfo.pMenuInfo[i].NumberOfMenu,temporary,buffer+i2,1);1137 i2+=GetMakeMenuCommand(projectInfo.pMenuInfo[i].pMenuInfo,projectInfo.pMenuInfo[i].NumberOfMenu,temporary,buffer+i2,1); 1138 1138 1139 1139 lstrcpy(buffer+i2,"\r\n"); … … 1149 1149 ////////////////////////// 1150 1150 //オブジェクトの解放処理 1151 sprintf(buffer+i2,"Sub %s_DestroyObjects()\r\n", ProjectInfo.name);1151 sprintf(buffer+i2,"Sub %s_DestroyObjects()\r\n",projectInfo.name); 1152 1152 i2+=lstrlen(buffer+i2); 1153 1153 1154 1154 //メニュー解放 1155 for(i=0;i< ProjectInfo.NumberOfMenu;i++){1156 sprintf(temporary,"hMenu_%s", ProjectInfo.pMenuInfo[i].IdName);1157 i2+=GetDestroyMenuCommand( ProjectInfo.pMenuInfo[i].pMenuInfo,ProjectInfo.pMenuInfo[i].NumberOfMenu,temporary,buffer+i2);1155 for(i=0;i<projectInfo.NumberOfMenu;i++){ 1156 sprintf(temporary,"hMenu_%s",projectInfo.pMenuInfo[i].IdName); 1157 i2+=GetDestroyMenuCommand(projectInfo.pMenuInfo[i].pMenuInfo,projectInfo.pMenuInfo[i].NumberOfMenu,temporary,buffer+i2); 1158 1158 1159 1159 while(i2>65535*(size-1)){ … … 1163 1163 } 1164 1164 1165 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1165 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1166 1166 { 1167 1167 //フォントハンドル解放 … … 1179 1179 i2+=lstrlen(buffer+i2); 1180 1180 i=0; 1181 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1181 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1182 1182 { 1183 1183 if(pWindowInfo->bgColor<=0&& … … 1198 1198 1199 1199 i=0; 1200 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1200 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1201 1201 { 1202 1202 if(i!=0){ … … 1363 1363 sw1=0; 1364 1364 i=0; 1365 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1365 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1366 1366 { 1367 1367 if(pWindowInfo->type==WNDTYPE_MODALDLG){ … … 1462 1462 i2+=lstrlen(buffer+i2); 1463 1463 i=0; 1464 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1464 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1465 1465 { 1466 1466 if(pWindowInfo->type==WNDTYPE_MODELESSDLG){ … … 1513 1513 /////////////////////// 1514 1514 // 保存(Callback.wbp) 1515 sprintf(temporary,"%sCallback.wbp", ProjectInfo.dir);1515 sprintf(temporary,"%sCallback.wbp",projectInfo.dir); 1516 1516 WriteBuffer(temporary,buffer,i2); 1517 1517 … … 1535 1535 1536 1536 i=0; 1537 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1537 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1538 1538 { 1539 1539 if(pWindowInfo->type==WNDTYPE_DEFAULT){ … … 1600 1600 ///////////////////////// 1601 1601 // 保存(MakeWindow.wbp) 1602 sprintf(temporary,"%sMakeWindow.wbp", ProjectInfo.dir);1602 sprintf(temporary,"%sMakeWindow.wbp",projectInfo.dir); 1603 1603 WriteBuffer(temporary,buffer,i2); 1604 1604 HeapDefaultFree(buffer); … … 1640 1640 buffer=(char *)HeapAlloc(hHeap,0,GENERAL_SIZE*size); 1641 1641 i2=0; 1642 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )1642 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 1643 1643 { 1644 1644 sprintf(buffer+i2,"WINDOW:%s\r\n",pWindowInfo->GetName().c_str()); … … 1724 1724 } 1725 1725 } 1726 for(i=0;i< ProjectInfo.NumberOfMenu;i++){1727 sprintf(buffer+i2,"MENU:%s\r\n", ProjectInfo.pMenuInfo[i].IdName);1728 i2+=lstrlen(buffer+i2); 1729 i2+=GetSaveMenuData(buffer+i2,1, ProjectInfo.pMenuInfo[i].pMenuInfo,ProjectInfo.pMenuInfo[i].NumberOfMenu);1726 for(i=0;i<projectInfo.NumberOfMenu;i++){ 1727 sprintf(buffer+i2,"MENU:%s\r\n",projectInfo.pMenuInfo[i].IdName); 1728 i2+=lstrlen(buffer+i2); 1729 i2+=GetSaveMenuData(buffer+i2,1,projectInfo.pMenuInfo[i].pMenuInfo,projectInfo.pMenuInfo[i].NumberOfMenu); 1730 1730 sprintf(buffer+i2,"END\r\n",windowInfos[i]->GetName().c_str()); 1731 1731 i2+=lstrlen(buffer+i2); … … 1738 1738 HeapDefaultFree(buffer); 1739 1739 1740 ProjectInfo.ModifyOfMaterial=0;1740 projectInfo.ModifyOfMaterial=0; 1741 1741 } 1742 1742 … … 1845 1845 //temp2はこの後の処理の一時保存バッファにも利用するので解放しない 1846 1846 1847 ProjectInfo.NumberOfMenu=0;1848 ProjectInfo.pMenuInfo=(MENU_INFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1);1849 1850 ProjectInfo.windowInfos.Clear();1847 projectInfo.NumberOfMenu=0; 1848 projectInfo.pMenuInfo=(MENU_INFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1); 1849 1850 projectInfo.windowInfos.Clear(); 1851 1851 1852 1852 for(i=0,i3=0;;i++){ … … 1883 1883 //ウィンドウ 1884 1884 if(lstrcmpi(temporary,"WINDOW")==0&&i3==0){ 1885 ProjectInfo.windowInfos.push_back( new WindowInfo() );1885 projectInfo.windowInfos.push_back( new WindowInfo() ); 1886 1886 i3=1; 1887 1887 1888 ProjectInfo.windowInfos.back()->SetName( temp2 );1888 projectInfo.windowInfos.back()->SetName( temp2 ); 1889 1889 } 1890 1890 else if(lstrcmpi(temporary,"HANDLE")==0&&i3==1){ 1891 ProjectInfo.windowInfos.back()->SetHandleName( temp2 );1891 projectInfo.windowInfos.back()->SetHandleName( temp2 ); 1892 1892 } 1893 1893 else if(lstrcmpi(temporary,"POINT")==0&&i3==1){ 1894 1894 sscanf(temp2,"%d,%d", 1895 & ProjectInfo.windowInfos.back()->pos.x,1896 & ProjectInfo.windowInfos.back()->pos.y);1897 if( ProjectInfo.windowInfos.back()->pos.x==-1) ProjectInfo.windowInfos.back()->pos.x=CW_USEDEFAULT;1898 if( ProjectInfo.windowInfos.back()->pos.y==-1) ProjectInfo.windowInfos.back()->pos.y=CW_USEDEFAULT;1895 &projectInfo.windowInfos.back()->pos.x, 1896 &projectInfo.windowInfos.back()->pos.y); 1897 if(projectInfo.windowInfos.back()->pos.x==-1) projectInfo.windowInfos.back()->pos.x=CW_USEDEFAULT; 1898 if(projectInfo.windowInfos.back()->pos.y==-1) projectInfo.windowInfos.back()->pos.y=CW_USEDEFAULT; 1899 1899 } 1900 1900 else if(lstrcmpi(temporary,"SIZE")==0&&i3==1){ 1901 1901 sscanf(temp2,"%d,%d", 1902 & ProjectInfo.windowInfos.back()->size.cx,1903 & ProjectInfo.windowInfos.back()->size.cy);1902 &projectInfo.windowInfos.back()->size.cx, 1903 &projectInfo.windowInfos.back()->size.cy); 1904 1904 } 1905 1905 else if(lstrcmpi(temporary,"CAPTION")==0&&i3==1){ 1906 1906 if(temp2[0]=='\"'&&temp2[lstrlen(temp2)-1]=='\"'){ 1907 1907 temp2[lstrlen(temp2)-1]=0; 1908 ProjectInfo.windowInfos.back()->caption=(char *)HeapAlloc(hHeap,0,i2+1);1909 lstrcpy( ProjectInfo.windowInfos.back()->caption,temp2+1);1908 projectInfo.windowInfos.back()->caption=(char *)HeapAlloc(hHeap,0,i2+1); 1909 lstrcpy(projectInfo.windowInfos.back()->caption,temp2+1); 1910 1910 } 1911 1911 } 1912 else if(lstrcmpi(temporary,"STYLE")==0&&i3==1) ProjectInfo.windowInfos.back()->style=GetValue(temp2);1913 else if(lstrcmpi(temporary,"EXSTYLE")==0&&i3==1) ProjectInfo.windowInfos.back()->ExStyle=GetValue(temp2);1912 else if(lstrcmpi(temporary,"STYLE")==0&&i3==1) projectInfo.windowInfos.back()->style=GetValue(temp2); 1913 else if(lstrcmpi(temporary,"EXSTYLE")==0&&i3==1) projectInfo.windowInfos.back()->ExStyle=GetValue(temp2); 1914 1914 else if(lstrcmpi(temporary,"MENUID")==0&&i3==1){ 1915 ProjectInfo.windowInfos.back()->MenuID=(char *)HeapAlloc(hHeap,0,i2+1);1916 lstrcpy( ProjectInfo.windowInfos.back()->MenuID,temp2);1917 } 1918 else if(lstrcmpi(temporary,"ID")==0&&i3==1) ProjectInfo.windowInfos.back()->id=GetValue(temp2);1915 projectInfo.windowInfos.back()->MenuID=(char *)HeapAlloc(hHeap,0,i2+1); 1916 lstrcpy(projectInfo.windowInfos.back()->MenuID,temp2); 1917 } 1918 else if(lstrcmpi(temporary,"ID")==0&&i3==1) projectInfo.windowInfos.back()->id=GetValue(temp2); 1919 1919 else if(lstrcmpi(temporary,"BGCOLOR")==0&&i3==1){ 1920 ProjectInfo.windowInfos.back()->bgColor=GetValue(temp2);1921 if( ProjectInfo.dwVersion<=3){1920 projectInfo.windowInfos.back()->bgColor=GetValue(temp2); 1921 if(projectInfo.dwVersion<=3){ 1922 1922 //プロジェクトバージョンが3以前のときは新値に変換する 1923 if( ProjectInfo.windowInfos.back()->bgColor==-1)1924 ProjectInfo.windowInfos.back()->bgColor=-(int)RGB(255,255,255);1923 if(projectInfo.windowInfos.back()->bgColor==-1) 1924 projectInfo.windowInfos.back()->bgColor=-(int)RGB(255,255,255); 1925 1925 } 1926 1926 } 1927 1927 else if(lstrcmpi(temporary,"FONT")==0&&i3==1){ 1928 1928 i5=GetOneParameter(temp2,0,temp3); 1929 ProjectInfo.windowInfos.back()->LogFont.lfHeight=GetValue(temp3);1929 projectInfo.windowInfos.back()->LogFont.lfHeight=GetValue(temp3); 1930 1930 1931 1931 i5=GetOneParameter(temp2,i5,temp3); 1932 ProjectInfo.windowInfos.back()->LogFont.lfWidth=GetValue(temp3);1932 projectInfo.windowInfos.back()->LogFont.lfWidth=GetValue(temp3); 1933 1933 1934 1934 i5=GetOneParameter(temp2,i5,temp3); 1935 ProjectInfo.windowInfos.back()->LogFont.lfEscapement=GetValue(temp3);1935 projectInfo.windowInfos.back()->LogFont.lfEscapement=GetValue(temp3); 1936 1936 1937 1937 i5=GetOneParameter(temp2,i5,temp3); 1938 ProjectInfo.windowInfos.back()->LogFont.lfOrientation=GetValue(temp3);1938 projectInfo.windowInfos.back()->LogFont.lfOrientation=GetValue(temp3); 1939 1939 1940 1940 i5=GetOneParameter(temp2,i5,temp3); 1941 ProjectInfo.windowInfos.back()->LogFont.lfWeight=GetValue(temp3);1941 projectInfo.windowInfos.back()->LogFont.lfWeight=GetValue(temp3); 1942 1942 1943 1943 i5=GetOneParameter(temp2,i5,temp3); 1944 ProjectInfo.windowInfos.back()->LogFont.lfItalic=(BYTE)GetValue(temp3);1944 projectInfo.windowInfos.back()->LogFont.lfItalic=(BYTE)GetValue(temp3); 1945 1945 1946 1946 i5=GetOneParameter(temp2,i5,temp3); 1947 ProjectInfo.windowInfos.back()->LogFont.lfUnderline=(BYTE)GetValue(temp3);1947 projectInfo.windowInfos.back()->LogFont.lfUnderline=(BYTE)GetValue(temp3); 1948 1948 1949 1949 i5=GetOneParameter(temp2,i5,temp3); 1950 ProjectInfo.windowInfos.back()->LogFont.lfStrikeOut=(BYTE)GetValue(temp3);1950 projectInfo.windowInfos.back()->LogFont.lfStrikeOut=(BYTE)GetValue(temp3); 1951 1951 1952 1952 i5=GetOneParameter(temp2,i5,temp3); 1953 ProjectInfo.windowInfos.back()->LogFont.lfCharSet=(BYTE)GetValue(temp3);1953 projectInfo.windowInfos.back()->LogFont.lfCharSet=(BYTE)GetValue(temp3); 1954 1954 1955 1955 i5=GetOneParameter(temp2,i5,temp3); 1956 ProjectInfo.windowInfos.back()->LogFont.lfOutPrecision=(BYTE)GetValue(temp3);1956 projectInfo.windowInfos.back()->LogFont.lfOutPrecision=(BYTE)GetValue(temp3); 1957 1957 1958 1958 i5=GetOneParameter(temp2,i5,temp3); 1959 ProjectInfo.windowInfos.back()->LogFont.lfClipPrecision=(BYTE)GetValue(temp3);1959 projectInfo.windowInfos.back()->LogFont.lfClipPrecision=(BYTE)GetValue(temp3); 1960 1960 1961 1961 i5=GetOneParameter(temp2,i5,temp3); 1962 ProjectInfo.windowInfos.back()->LogFont.lfQuality=(BYTE)GetValue(temp3);1962 projectInfo.windowInfos.back()->LogFont.lfQuality=(BYTE)GetValue(temp3); 1963 1963 1964 1964 i5=GetOneParameter(temp2,i5,temp3); 1965 ProjectInfo.windowInfos.back()->LogFont.lfPitchAndFamily=(BYTE)GetValue(temp3);1965 projectInfo.windowInfos.back()->LogFont.lfPitchAndFamily=(BYTE)GetValue(temp3); 1966 1966 1967 1967 i5=GetOneParameter(temp2,i5,temp3); 1968 1968 RemoveStringQuotes(temp3); 1969 lstrcpy( ProjectInfo.windowInfos.back()->LogFont.lfFaceName,temp3);1969 lstrcpy(projectInfo.windowInfos.back()->LogFont.lfFaceName,temp3); 1970 1970 } 1971 1971 else if(lstrcmpi(temporary,"ICONID")==0&&i3==1){ 1972 ProjectInfo.windowInfos.back()->IconResName=(char *)HeapAlloc(hHeap,0,i2+1);1973 lstrcpy( ProjectInfo.windowInfos.back()->IconResName,temp2);1972 projectInfo.windowInfos.back()->IconResName=(char *)HeapAlloc(hHeap,0,i2+1); 1973 lstrcpy(projectInfo.windowInfos.back()->IconResName,temp2); 1974 1974 } 1975 1975 else if(lstrcmpi(temporary,"CLASS")==0&&i3==1){ 1976 1976 if(temp2[0]=='\"'&&temp2[lstrlen(temp2)-1]=='\"'){ 1977 1977 temp2[lstrlen(temp2)-1]=0; 1978 ProjectInfo.windowInfos.back()->ClassName=(char *)HeapAlloc(hHeap,0,i2+1);1979 lstrcpy( ProjectInfo.windowInfos.back()->ClassName,temp2+1);1978 projectInfo.windowInfos.back()->ClassName=(char *)HeapAlloc(hHeap,0,i2+1); 1979 lstrcpy(projectInfo.windowInfos.back()->ClassName,temp2+1); 1980 1980 } 1981 1981 } 1982 1982 else if(lstrcmpi(temporary,"CALLBACK")==0&&i3==1){ 1983 ProjectInfo.windowInfos.back()->CallBackName=(char *)HeapAlloc(hHeap,0,i2+1);1984 lstrcpy( ProjectInfo.windowInfos.back()->CallBackName,temp2);1983 projectInfo.windowInfos.back()->CallBackName=(char *)HeapAlloc(hHeap,0,i2+1); 1984 lstrcpy(projectInfo.windowInfos.back()->CallBackName,temp2); 1985 1985 } 1986 1986 1987 1987 //以前のバージョンとの互換用 1988 else if(lstrcmpi(temporary,"DLGTMP")==0&&i3==1) ProjectInfo.windowInfos.back()->type=GetValue(temp2);1989 1990 else if(lstrcmpi(temporary,"TYPE")==0&&i3==1) ProjectInfo.windowInfos.back()->type=GetValue(temp2);1988 else if(lstrcmpi(temporary,"DLGTMP")==0&&i3==1) projectInfo.windowInfos.back()->type=GetValue(temp2); 1989 1990 else if(lstrcmpi(temporary,"TYPE")==0&&i3==1) projectInfo.windowInfos.back()->type=GetValue(temp2); 1991 1991 else if(lstrcmpi(temporary,"FILEPATH")==0&&i3==1){ 1992 ProjectInfo.windowInfos.back()->filepath=(char *)HeapAlloc(hHeap,0,i2+1);1993 lstrcpy( ProjectInfo.windowInfos.back()->filepath,temp2);1992 projectInfo.windowInfos.back()->filepath=(char *)HeapAlloc(hHeap,0,i2+1); 1993 lstrcpy(projectInfo.windowInfos.back()->filepath,temp2); 1994 1994 } 1995 1995 else if(lstrcmpi(temporary,"ITEM")==0&&i3==1){ … … 2040 2040 } 2041 2041 2042 ProjectInfo.windowInfos.back()->childWindowInfos.push_back( pChildInfo );2042 projectInfo.windowInfos.back()->childWindowInfos.push_back( pChildInfo ); 2043 2043 } 2044 2044 … … 2047 2047 //メニュー 2048 2048 else if(lstrcmpi(temporary,"MENU")==0&&i3==0){ 2049 ProjectInfo.NumberOfMenu++;2050 ProjectInfo.pMenuInfo=(MENU_INFO *)HeapReAlloc(hHeap,HEAP_ZERO_MEMORY,ProjectInfo.pMenuInfo,ProjectInfo.NumberOfMenu*sizeof(MENU_INFO));2051 i4= ProjectInfo.NumberOfMenu-1;2049 projectInfo.NumberOfMenu++; 2050 projectInfo.pMenuInfo=(MENU_INFO *)HeapReAlloc(hHeap,HEAP_ZERO_MEMORY,projectInfo.pMenuInfo,projectInfo.NumberOfMenu*sizeof(MENU_INFO)); 2051 i4=projectInfo.NumberOfMenu-1; 2052 2052 2053 2053 //ID名 2054 ProjectInfo.pMenuInfo[i4].IdName=(char *)HeapAlloc(hHeap,0,lstrlen(temp2)+1);2055 lstrcpy( ProjectInfo.pMenuInfo[i4].IdName,temp2);2056 ProjectInfo.pMenuInfo[i4].pMenuInfo=GetMenuData(buffer,&i,&ProjectInfo.pMenuInfo[i4].NumberOfMenu);2057 if(! ProjectInfo.pMenuInfo[i4].pMenuInfo){2054 projectInfo.pMenuInfo[i4].IdName=(char *)HeapAlloc(hHeap,0,lstrlen(temp2)+1); 2055 lstrcpy(projectInfo.pMenuInfo[i4].IdName,temp2); 2056 projectInfo.pMenuInfo[i4].pMenuInfo=GetMenuData(buffer,&i,&projectInfo.pMenuInfo[i4].NumberOfMenu); 2057 if(!projectInfo.pMenuInfo[i4].pMenuInfo){ 2058 2058 //"ウィンドウ定義ファイルが壊れています。\n\n%s" 2059 2059 sprintf(temporary,STRING_ERROR_BROKEN_WNDFILE,path); … … 2172 2172 //重複チェック 2173 2173 sprintf(temporary,"%s.sbp",NewWindow.name); 2174 if( ProjectInfo.pobj_DBFileInfo->dupli_check(temporary)){2174 if(projectInfo.pobj_DBFileInfo->dupli_check(temporary)){ 2175 2175 sprintf(temp2,"\"%s\" ファイルは既にプロジェクト内に存在します。",temporary); 2176 2176 MessageBox(hOwner,temp2,APPLICATION_NAME,MB_OK|MB_ICONEXCLAMATION); 2177 2177 return; 2178 2178 } 2179 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )2179 BOOST_FOREACH( WindowInfo *pWindowInfo, projectInfo.windowInfos ) 2180 2180 { 2181 2181 if(lstrcmpi(NewWindow.name,pWindowInfo->GetName().c_str())==0){ … … 2199 2199 } 2200 2200 2201 // ProjectInfo.windowInfos構造体コレクションに追加2202 ProjectInfo.windowInfos.push_back( new WindowInfo() );2201 //projectInfo.windowInfos構造体コレクションに追加 2202 projectInfo.windowInfos.push_back( new WindowInfo() ); 2203 2203 2204 2204 2205 2205 /////////////////////////////////////// 2206 // ProjectInfo.windowInfos構造体を設定2206 //projectInfo.windowInfos構造体を設定 2207 2207 2208 2208 //ウィンドウ名 2209 ProjectInfo.windowInfos.back()->SetName( NewWindow.name );2209 projectInfo.windowInfos.back()->SetName( NewWindow.name ); 2210 2210 2211 2211 //ハンドル名 2212 ProjectInfo.windowInfos.back()->SetHandleName( NewWindow.HandleName );2212 projectInfo.windowInfos.back()->SetHandleName( NewWindow.HandleName ); 2213 2213 2214 2214 //位置情報 2215 ProjectInfo.windowInfos.back()->pos.x=-1;2216 ProjectInfo.windowInfos.back()->pos.y=-1;2217 ProjectInfo.windowInfos.back()->size.cx=480;2218 ProjectInfo.windowInfos.back()->size.cy=360;2215 projectInfo.windowInfos.back()->pos.x=-1; 2216 projectInfo.windowInfos.back()->pos.y=-1; 2217 projectInfo.windowInfos.back()->size.cx=480; 2218 projectInfo.windowInfos.back()->size.cy=360; 2219 2219 2220 2220 //ウィンドウテキスト 2221 ProjectInfo.windowInfos.back()->caption=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.name)+1);2222 lstrcpy( ProjectInfo.windowInfos.back()->caption,NewWindow.name);2221 projectInfo.windowInfos.back()->caption=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.name)+1); 2222 lstrcpy(projectInfo.windowInfos.back()->caption,NewWindow.name); 2223 2223 2224 2224 //スタイル … … 2226 2226 case WNDTYPE_DEFAULT: 2227 2227 //通常ウィンドウ 2228 ProjectInfo.windowInfos.back()->style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX;2228 projectInfo.windowInfos.back()->style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX; 2229 2229 break; 2230 2230 case WNDTYPE_MODALDLG: 2231 2231 case WNDTYPE_MODELESSDLG: 2232 2232 //ダイアログ テンプレート(最大化、最小化ボタンをなくして、細枠にする) 2233 ProjectInfo.windowInfos.back()->style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU;2233 projectInfo.windowInfos.back()->style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU; 2234 2234 break; 2235 2235 } 2236 2236 2237 2237 //拡張スタイル 2238 ProjectInfo.windowInfos.back()->ExStyle=0;2238 projectInfo.windowInfos.back()->ExStyle=0; 2239 2239 2240 2240 //メニュー 2241 ProjectInfo.windowInfos.back()->MenuID=0;2241 projectInfo.windowInfos.back()->MenuID=0; 2242 2242 2243 2243 //ID 2244 ProjectInfo.windowInfos.back()->id=0;2244 projectInfo.windowInfos.back()->id=0; 2245 2245 2246 2246 //背景色 2247 ProjectInfo.windowInfos.back()->bgColor=COLOR_3DFACE;2247 projectInfo.windowInfos.back()->bgColor=COLOR_3DFACE; 2248 2248 2249 2249 //フォント 2250 GetDefaultWindowFont(& ProjectInfo.windowInfos.back()->LogFont);2250 GetDefaultWindowFont(&projectInfo.windowInfos.back()->LogFont); 2251 2251 2252 2252 //アイコン 2253 ProjectInfo.windowInfos.back()->IconResName=0;2253 projectInfo.windowInfos.back()->IconResName=0; 2254 2254 2255 2255 //クラス名 2256 2256 lstrcpy(temporary,"NORMAL"); 2257 ProjectInfo.windowInfos.back()->ClassName=(char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);2258 lstrcpy( ProjectInfo.windowInfos.back()->ClassName,temporary);2257 projectInfo.windowInfos.back()->ClassName=(char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1); 2258 lstrcpy(projectInfo.windowInfos.back()->ClassName,temporary); 2259 2259 2260 2260 //コールバック関数名 2261 ProjectInfo.windowInfos.back()->CallBackName=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.CallBackName)+1);2262 lstrcpy( ProjectInfo.windowInfos.back()->CallBackName,NewWindow.CallBackName);2261 projectInfo.windowInfos.back()->CallBackName=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.CallBackName)+1); 2262 lstrcpy(projectInfo.windowInfos.back()->CallBackName,NewWindow.CallBackName); 2263 2263 2264 2264 //タイプ識別 2265 ProjectInfo.windowInfos.back()->type=NewWindow.type;2265 projectInfo.windowInfos.back()->type=NewWindow.type; 2266 2266 2267 2267 2268 2268 //メッセージ処理ファイル名 2269 sprintf(temporary,"%s.ab", ProjectInfo.windowInfos.back()->GetName().c_str());2270 ProjectInfo.windowInfos.back()->filepath=(char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);2271 lstrcpy( ProjectInfo.windowInfos.back()->filepath,temporary);2269 sprintf(temporary,"%s.ab",projectInfo.windowInfos.back()->GetName().c_str()); 2270 projectInfo.windowInfos.back()->filepath=(char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1); 2271 lstrcpy(projectInfo.windowInfos.back()->filepath,temporary); 2272 2272 2273 2273 … … 2282 2282 //#name#をプロジェクト名に置換 2283 2283 pTemp=PermutationWndPgmTemplate(pTemp, 2284 ProjectInfo.name,2284 projectInfo.name, 2285 2285 NewWindow.name, 2286 2286 NewWindow.HandleName, 2287 2287 NewWindow.CallBackName); 2288 2288 2289 sprintf(temporary,"%s%s.ab", ProjectInfo.dir,ProjectInfo.windowInfos.back()->GetName().c_str());2289 sprintf(temporary,"%s%s.ab",projectInfo.dir,projectInfo.windowInfos.back()->GetName().c_str()); 2290 2290 2291 2291 //書き込み … … 2305 2305 tv.item.iImage=2; 2306 2306 tv.item.iSelectedImage=2; 2307 tv.hParent= ProjectInfo.hWindowTreeItem;2308 lstrcpy( temp2, ProjectInfo.windowInfos.back()->GetName().c_str() );2307 tv.hParent=projectInfo.hWindowTreeItem; 2308 lstrcpy( temp2, projectInfo.windowInfos.back()->GetName().c_str() ); 2309 2309 tv.item.pszText = temp2; 2310 2310 2311 ProjectInfo.windowInfos.back()->hTreeItem=TreeView_InsertItem(hMaterialTreeView,&tv);2312 2313 TreeView_SelectItem(hMaterialTreeView, ProjectInfo.windowInfos.back()->hTreeItem);2314 2315 2316 ProjectInfo.ModifyOfMaterial=1;2317 2318 NewRadWindow( * ProjectInfo.windowInfos.back() );2311 projectInfo.windowInfos.back()->hTreeItem=TreeView_InsertItem(hMaterialTreeView,&tv); 2312 2313 TreeView_SelectItem(hMaterialTreeView,projectInfo.windowInfos.back()->hTreeItem); 2314 2315 2316 projectInfo.ModifyOfMaterial=1; 2317 2318 NewRadWindow( *projectInfo.windowInfos.back() ); 2319 2319 } 2320 2320 void Project_Window_Delete(int WndInfoNum){ … … 2323 2323 int i; 2324 2324 2325 WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];2325 WindowInfo *pWindowInfo = projectInfo.windowInfos[WndInfoNum]; 2326 2326 2327 2327 //ウィンドウが開かれている場合は閉じる … … 2351 2351 TreeView_DeleteItem(hMaterialTreeView,pWindowInfo->hTreeItem); 2352 2352 2353 // ProjectInfo.windowInfos構造体から削除2354 ProjectInfo.windowInfos.Erase( WndInfoNum );2355 2356 ProjectInfo.ModifyOfMaterial=1;2357 } 2353 //projectInfo.windowInfos構造体から削除 2354 projectInfo.windowInfos.Erase( WndInfoNum ); 2355 2356 projectInfo.ModifyOfMaterial=1; 2357 }
Note: See TracChangeset
for help on using the changeset viewer.