Changeset 615 in dev for trunk/ab5.0/abdev/abdev/ProjectControl.cpp
- Timestamp:
- May 19, 2008, 7:38:03 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/ProjectControl.cpp
r613 r615 180 180 hTreeItem=TreeView_GetSelection(hMaterialTreeView); 181 181 for(i=0;i<static_cast<int>(ProjectInfo.windowInfos.size());i++){ 182 if(ProjectInfo.windowInfos[i] .hTreeItem==hTreeItem){183 NewRadWindow( ProjectInfo.windowInfos[i] );182 if(ProjectInfo.windowInfos[i]->hTreeItem==hTreeItem){ 183 NewRadWindow( *ProjectInfo.windowInfos[i] ); 184 184 break; 185 185 } … … 247 247 } 248 248 for(i=0;i<static_cast<int>(ProjectInfo.windowInfos.size());i++){ 249 if(ProjectInfo.windowInfos[i] .hTreeItem==hTreeItem){249 if(ProjectInfo.windowInfos[i]->hTreeItem==hTreeItem){ 250 250 251 251 //"%s ウィンドウをプロジェクトから削除します。よろしいですか?" 252 sprintf(str,STRING_PJ_CHECK_DELETEWINDOW,ProjectInfo.windowInfos[i] .name);252 sprintf(str,STRING_PJ_CHECK_DELETEWINDOW,ProjectInfo.windowInfos[i]->name); 253 253 if(IDCANCEL==MessageBox(hOwner,str,APPLICATION_NAME,MB_OKCANCEL|MB_ICONEXCLAMATION)) break; 254 254 … … 1053 1053 // ウィンドウ定義ファイル(*.wnd)を作成 1054 1054 ///////////////////////////////////////// 1055 std::vector<WINDOW_INFO>windowInfos;1056 windowInfos.push_back( WINDOW_INFO() );1057 windowInfos.back() .name="MainWnd";1058 windowInfos.back() .HandleName="hMainWnd";1059 windowInfos.back() .pos.x=CW_USEDEFAULT;1060 windowInfos.back() .pos.y=CW_USEDEFAULT;1061 windowInfos.back() .size.cx=480;1062 windowInfos.back() .size.cy=360;1063 windowInfos.back() .caption=NewProjectInfo.name;1055 WindowInfos windowInfos; 1056 windowInfos.push_back( new WindowInfo() ); 1057 windowInfos.back()->name="MainWnd"; 1058 windowInfos.back()->HandleName="hMainWnd"; 1059 windowInfos.back()->pos.x=CW_USEDEFAULT; 1060 windowInfos.back()->pos.y=CW_USEDEFAULT; 1061 windowInfos.back()->size.cx=480; 1062 windowInfos.back()->size.cy=360; 1063 windowInfos.back()->caption=NewProjectInfo.name; 1064 1064 if(NewProjectInfo.dwTypeID==IDC_EXE_WINDOWBASE) 1065 windowInfos.back() .style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_VISIBLE;1065 windowInfos.back()->style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_VISIBLE; 1066 1066 else if(NewProjectInfo.dwTypeID==IDC_EXE_DIRECTX) 1067 windowInfos.back() .style=WS_OVERLAPPED|WS_THICKFRAME|WS_SYSMENU;1068 windowInfos.back() .ExStyle=0;1069 windowInfos.back() .MenuID=0;1070 windowInfos.back() .id=0;1071 windowInfos.back() .bgColor=COLOR_3DFACE;1072 GetDefaultWindowFont(&windowInfos.back() .LogFont);1073 windowInfos.back() .IconResName=0;1074 windowInfos.back() .ClassName="NORMAL";1075 windowInfos.back() .CallBackName="MainWndProc";1076 windowInfos.back() .type=WNDTYPE_DEFAULT;1077 windowInfos.back() .filepath="MainWnd.ab";1078 windowInfos.back() .NumberOfChildWindows=0;1067 windowInfos.back()->style=WS_OVERLAPPED|WS_THICKFRAME|WS_SYSMENU; 1068 windowInfos.back()->ExStyle=0; 1069 windowInfos.back()->MenuID=0; 1070 windowInfos.back()->id=0; 1071 windowInfos.back()->bgColor=COLOR_3DFACE; 1072 GetDefaultWindowFont(&windowInfos.back()->LogFont); 1073 windowInfos.back()->IconResName=0; 1074 windowInfos.back()->ClassName="NORMAL"; 1075 windowInfos.back()->CallBackName="MainWndProc"; 1076 windowInfos.back()->type=WNDTYPE_DEFAULT; 1077 windowInfos.back()->filepath="MainWnd.ab"; 1078 windowInfos.back()->NumberOfChildWindows=0; 1079 1079 sprintf(temporary,"%s%s.wnd",dir,NewProjectInfo.name); 1080 1080 … … 1204 1204 tv.hParent=TreeView_InsertItem(hMaterialTreeView,&tv); 1205 1205 ProjectInfo.hWindowTreeItem=tv.hParent; 1206 BOOST_FOREACH( W INDOW_INFO &windowInfo, ProjectInfo.windowInfos )1206 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos ) 1207 1207 { 1208 1208 tv.item.iImage=2; 1209 1209 tv.item.iSelectedImage=2; 1210 tv.item.pszText = windowInfo.name;1211 windowInfo.hTreeItem=TreeView_InsertItem(hMaterialTreeView,&tv);1210 tv.item.pszText = pWindowInfo->name; 1211 pWindowInfo->hTreeItem=TreeView_InsertItem(hMaterialTreeView,&tv); 1212 1212 } 1213 1213 } … … 1457 1457 } 1458 1458 else{ 1459 ProjectInfo.windowInfos. clear();1459 ProjectInfo.windowInfos.Clear(); 1460 1460 1461 1461 ProjectInfo.NumberOfMenu=0; … … 1582 1582 else if(lstrcmpi(temporary,"rad")==0){ 1583 1583 for(i3=0;i3<static_cast<int>(ProjectInfo.windowInfos.size());i3++){ 1584 if(lstrcmpi(ProjectInfo.windowInfos[i3] .name,temp2)==0){1585 NewRadWindow( ProjectInfo.windowInfos[i3] );1584 if(lstrcmpi(ProjectInfo.windowInfos[i3]->name,temp2)==0){ 1585 NewRadWindow( *ProjectInfo.windowInfos[i3] ); 1586 1586 break; 1587 1587 } … … 1704 1704 else if(lstrcmpi(temporary,"rad")==0){ 1705 1705 for(i3=0;i3<static_cast<int>(ProjectInfo.windowInfos.size());i3++){ 1706 if(lstrcmpi(ProjectInfo.windowInfos[i3] .name,temp2)==0){1707 NewRadWindow( ProjectInfo.windowInfos[i3] );1706 if(lstrcmpi(ProjectInfo.windowInfos[i3]->name,temp2)==0){ 1707 NewRadWindow( *ProjectInfo.windowInfos[i3] ); 1708 1708 break; 1709 1709 } … … 1895 1895 } 1896 1896 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){ 1897 BOOST_FOREACH( const W INDOW_INFO &windowInfo, ProjectInfo.windowInfos )1897 BOOST_FOREACH( const WindowInfo *pWindowInfo, ProjectInfo.windowInfos ) 1898 1898 { 1899 if(lstrcmp(MdiInfo[WndNum].path, windowInfo.name)==0){1899 if(lstrcmp(MdiInfo[WndNum].path, pWindowInfo->name)==0){ 1900 1900 SendMessage(hCloseChild,WM_CLOSE,0,0); 1901 1901 break; … … 1930 1930 1931 1931 //ウィンドウ情報のメモリを解放 1932 BOOST_FOREACH( W INDOW_INFO &windowInfo, ProjectInfo.windowInfos )1932 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos ) 1933 1933 { 1934 HeapDefaultFree( windowInfo.name);1935 HeapDefaultFree( windowInfo.HandleName);1936 HeapDefaultFree( windowInfo.caption);1937 HeapDefaultFree( windowInfo.ClassName);1938 HeapDefaultFree( windowInfo.CallBackName);1939 HeapDefaultFree( windowInfo.filepath);1940 if( windowInfo.MenuID)1941 HeapDefaultFree( windowInfo.MenuID);1942 if( windowInfo.IconResName)1943 HeapDefaultFree( windowInfo.IconResName);1934 HeapDefaultFree(pWindowInfo->name); 1935 HeapDefaultFree(pWindowInfo->HandleName); 1936 HeapDefaultFree(pWindowInfo->caption); 1937 HeapDefaultFree(pWindowInfo->ClassName); 1938 HeapDefaultFree(pWindowInfo->CallBackName); 1939 HeapDefaultFree(pWindowInfo->filepath); 1940 if(pWindowInfo->MenuID) 1941 HeapDefaultFree(pWindowInfo->MenuID); 1942 if(pWindowInfo->IconResName) 1943 HeapDefaultFree(pWindowInfo->IconResName); 1944 1944 1945 1945 //子ウィンドウのメモリを解放 1946 for(i2=0;i2< windowInfo.NumberOfChildWindows;i2++){1947 HeapDefaultFree( windowInfo.pChildInfo[i2].IdName);1948 HeapDefaultFree( windowInfo.pChildInfo[i2].caption);1949 if( windowInfo.pChildInfo[i2].Control==CT_IMAGEBOX){1946 for(i2=0;i2<pWindowInfo->NumberOfChildWindows;i2++){ 1947 HeapDefaultFree(pWindowInfo->pChildInfo[i2].IdName); 1948 HeapDefaultFree(pWindowInfo->pChildInfo[i2].caption); 1949 if(pWindowInfo->pChildInfo[i2].Control==CT_IMAGEBOX){ 1950 1950 //イメージ ボックスの場合 1951 HeapDefaultFree( windowInfo.pChildInfo[i2].ImageCtrlInfo.path);1952 } 1953 } 1954 HeapDefaultFree( windowInfo.pChildInfo);1955 } 1956 ProjectInfo.windowInfos. clear();1951 HeapDefaultFree(pWindowInfo->pChildInfo[i2].ImageCtrlInfo.path); 1952 } 1953 } 1954 HeapDefaultFree(pWindowInfo->pChildInfo); 1955 } 1956 ProjectInfo.windowInfos.Clear(); 1957 1957 1958 1958 //メニュー情報のメモリを解放 … … 2040 2040 } 2041 2041 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){ 2042 BOOST_FOREACH( W INDOW_INFO &windowInfo, ProjectInfo.windowInfos )2042 BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos ) 2043 2043 { 2044 if(lstrcmpi(MdiInfo[WndNum].path, windowInfo.name)==0){2044 if(lstrcmpi(MdiInfo[WndNum].path,pWindowInfo->name)==0){ 2045 2045 sprintf(buffer+i2,"rad,%s\r\n",MdiInfo[WndNum].path); 2046 2046 i2+=lstrlen(buffer+i2);
Note: See TracChangeset
for help on using the changeset viewer.