Changeset 615 in dev for trunk/ab5.0/abdev


Ignore:
Timestamp:
May 19, 2008, 7:38:03 AM (17 years ago)
Author:
dai_9181
Message:

WindowInfosクラスを追加。

Location:
trunk/ab5.0/abdev/abdev
Files:
4 added
13 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/abdev/Common.h

    r613 r615  
    504504#define WNDTYPE_MODELESSDLG 3
    505505
    506 //イメージタイプ
    507 #define IMGTYPE_FILE    0
    508 #define IMGTYPE_RES     1
    509 
    510 struct IMAGECTRLINFO{
    511     int type;
    512     char *path;
    513 };
    514 struct CHILDINFO{
    515     char *IdName;
    516     POINT pos;
    517     SIZE size;
    518     char *caption;
    519     DWORD style;
    520     DWORD ExStyle;
    521     int Control;
    522 
    523     IMAGECTRLINFO ImageCtrlInfo;
    524 };
    525 struct WINDOW_INFO{
    526     //ウィンドウデータ
    527     char *name;
    528     char *HandleName;
    529     POINT pos;
    530     SIZE size;
    531     char *caption;
    532     DWORD style;
    533     DWORD ExStyle;
    534     char *MenuID;
    535     int id;
    536     int bgColor;
    537     LOGFONT LogFont;
    538     char *IconResName;
    539     char *ClassName;
    540     char *CallBackName;
    541     long type;
    542     char *filepath;
    543 
    544     //子ウィンドウ管理
    545     int NumberOfChildWindows;
    546     CHILDINFO *pChildInfo;
    547 
    548     //ツリー項目
    549     HTREEITEM hTreeItem;
    550 };
    551506struct NEWPROJECTINFO{
    552507    char name[MAX_PATH];
     
    1033988//WindowControl.cpp
    1034989int GetWndInfoNum(char *name);
    1035 WINDOW_INFO *GetWndInfo( char *name );
     990WindowInfo *GetWndInfo( char *name );
    1036991HGLOBAL Rad_GetChildInfoClipboardData(int WndNum,int WndInfoNum);
    1037992void Rad_PasteChildInfoClipboardData(int WndNum,HGLOBAL hGlobal);
     
    1039994void GetItemClassName(char *buffer,int Control);
    1040995void SaveWindowProgram();
    1041 void SaveWindowFile( char *path, const std::vector<WINDOW_INFO> &windowInfos );
     996void SaveWindowFile( char *path, const WindowInfos &windowInfos );
    1042997_int8 OpenWindowFile(char *path);
    1043998void GetDefaultWindowFont(LOGFONT *LogFont);
     
    10641019
    10651020//RadProc.cpp
    1066 void NewRadWindow( const WINDOW_INFO &windowInfo );
     1021void NewRadWindow( const WindowInfo &windowInfo );
    10671022int InsertDlgItem(int WndNum,int WndInfoNum,int ItemNum,POINT *pPos,SIZE *pSize,char *IdName,char *caption,DWORD style_or_WndNum,DWORD ExStyle,int Control,int ImageType,char *ImagePath,DWORD dwInsertType);
    10681023void DeleteDlgItem(int WndNum,int WndInfoNum,int ItemNum,BOOL bNoticeChanging);
     
    10761031
    10771032//DrawWindow.cpp
    1078 void DrawRadWindow(int WndNum,const WINDOW_INFO *pWindowInfo);
     1033void DrawRadWindow(int WndNum,const WindowInfo *pWindowInfo);
    10791034
    10801035//Rad_UndoRedo.cpp
     
    11121067//RadSupport.cpp
    11131068LRESULT CALLBACK TestWindowProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
    1114 void SetSupportDlgData(int WndNum, const WINDOW_INFO &windowInfo );
     1069void SetSupportDlgData(int WndNum, const WindowInfo &windowInfo );
    11151070BOOL CALLBACK DlgRadSupport(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
    11161071
  • trunk/ab5.0/abdev/abdev/DrawWindow.cpp

    r613 r615  
    687687    DeleteObject(hBmp);
    688688}
    689 void DesigningWindow(int WndNum,HDC hdc,POINT *pBasePos,const WINDOW_INFO *pWindowInfo){
     689void DesigningWindow(int WndNum,HDC hdc,POINT *pBasePos,const WindowInfo *pWindowInfo){
    690690    extern MDIINFO MdiInfo[MAX_WNDNUM];
    691691    int i,i2,i3,i4;
     
    17481748    DeleteObject(hFont);
    17491749}
    1750 void DrawRadWindow(int WndNum,const WINDOW_INFO *pWindowInfo){
     1750void DrawRadWindow(int WndNum,const WindowInfo *pWindowInfo){
    17511751    extern MDIINFO MdiInfo[MAX_WNDNUM];
    17521752    HBRUSH hOldBrush;
  • trunk/ab5.0/abdev/abdev/MessageCallOperation.cpp

    r613 r615  
    2020    if(lstrcmp(EventName,"MenuClick")==0) return CT_MENU;
    2121
    22     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     22    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    2323    for(i=0;i<pWindowInfo->NumberOfChildWindows;i++){
    2424        if(lstrcmp(buffer,pWindowInfo->pChildInfo[i].IdName)==0) break;
     
    3333    char *buffer,**ppNames,temporary[MAX_PATH],temp2[MAX_PATH];
    3434
    35     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     35    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    3636
    3737    NameLen=lstrlen(pWindowInfo->name);
     
    133133    POINT pos;
    134134
    135     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     135    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    136136
    137137    sprintf(temporary,"%s%s",ProjectInfo.dir,pWindowInfo->filepath);
     
    219219    char temporary[MAX_PATH];
    220220
    221     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     221    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    222222
    223223    MaxCount=ListView_GetItemCount(hList);
     
    402402
    403403    WndNum=GetWndNum(GetWindow(hClient,GW_CHILD));
    404     WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
     404    WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
    405405    i=0;
    406406    if(MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){
     
    646646            {
    647647                WndNum=GetWndNum(GetWindow(hClient,GW_CHILD));
    648                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
     648                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
    649649                NowMenuNum=GetMenuInfoNum(pWindowInfo->MenuID);
    650650            }
  • trunk/ab5.0/abdev/abdev/ProjectControl.cpp

    r613 r615  
    180180                    hTreeItem=TreeView_GetSelection(hMaterialTreeView);
    181181                    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] );
    184184                            break;
    185185                        }
     
    247247                    }
    248248                    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){
    250250
    251251                            //"%s ウィンドウをプロジェクトから削除します。よろしいですか?"
    252                             sprintf(str,STRING_PJ_CHECK_DELETEWINDOW,ProjectInfo.windowInfos[i].name);
     252                            sprintf(str,STRING_PJ_CHECK_DELETEWINDOW,ProjectInfo.windowInfos[i]->name);
    253253                            if(IDCANCEL==MessageBox(hOwner,str,APPLICATION_NAME,MB_OKCANCEL|MB_ICONEXCLAMATION)) break;
    254254
     
    10531053        // ウィンドウ定義ファイル(*.wnd)を作成
    10541054        /////////////////////////////////////////
    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;
    10641064        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;
    10661066        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;
    10791079        sprintf(temporary,"%s%s.wnd",dir,NewProjectInfo.name);
    10801080
     
    12041204    tv.hParent=TreeView_InsertItem(hMaterialTreeView,&tv);
    12051205    ProjectInfo.hWindowTreeItem=tv.hParent;
    1206     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1206    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    12071207    {
    12081208        tv.item.iImage=2;
    12091209        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);
    12121212    }
    12131213}
     
    14571457    }
    14581458    else{
    1459         ProjectInfo.windowInfos.clear();
     1459        ProjectInfo.windowInfos.Clear();
    14601460
    14611461        ProjectInfo.NumberOfMenu=0;
     
    15821582                        else if(lstrcmpi(temporary,"rad")==0){
    15831583                            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] );
    15861586                                    break;
    15871587                                }
     
    17041704                        else if(lstrcmpi(temporary,"rad")==0){
    17051705                            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] );
    17081708                                    break;
    17091709                                }
     
    18951895        }
    18961896        else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){
    1897             BOOST_FOREACH( const WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1897            BOOST_FOREACH( const WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    18981898            {
    1899                 if(lstrcmp(MdiInfo[WndNum].path, windowInfo.name)==0){
     1899                if(lstrcmp(MdiInfo[WndNum].path, pWindowInfo->name)==0){
    19001900                    SendMessage(hCloseChild,WM_CLOSE,0,0);
    19011901                    break;
     
    19301930
    19311931    //ウィンドウ情報のメモリを解放
    1932     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1932    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    19331933    {
    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);
    19441944
    19451945        //子ウィンドウのメモリを解放
    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){
    19501950                //イメージ ボックスの場合
    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();
    19571957
    19581958    //メニュー情報のメモリを解放
     
    20402040        }
    20412041        else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){
    2042             BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     2042            BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    20432043            {
    2044                 if(lstrcmpi(MdiInfo[WndNum].path,windowInfo.name)==0){
     2044                if(lstrcmpi(MdiInfo[WndNum].path,pWindowInfo->name)==0){
    20452045                    sprintf(buffer+i2,"rad,%s\r\n",MdiInfo[WndNum].path);
    20462046                    i2+=lstrlen(buffer+i2);
  • trunk/ab5.0/abdev/abdev/RadProc.cpp

    r613 r615  
    44#include "common.h"
    55
    6 void NewRadWindow( const WINDOW_INFO &windowInfo )
     6void NewRadWindow( const WindowInfo &windowInfo )
    77{
    88    extern HINSTANCE hInst,hResInst;
     
    165165    CHILDINFO *pChildInfo;
    166166
    167     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
    168 
    169     pWindowInfo->pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,0,pWindowInfo->pChildInfo,(pWindowInfo->NumberOfChildWindows+1)*sizeof(WINDOW_INFO));
     167    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
     168
     169    pWindowInfo->pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,0,pWindowInfo->pChildInfo,(pWindowInfo->NumberOfChildWindows+1)*sizeof(WindowInfo));
    170170    if(ItemNum==-1)
    171171        NewItemNum=pWindowInfo->NumberOfChildWindows;
     
    264264    int i;
    265265
    266     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     266    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    267267
    268268    //変更情報
     
    347347    RECT rect;
    348348
    349     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     349    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    350350
    351351    hdc=GetDC(hwnd);
     
    449449    extern MDIINFO MdiInfo[MAX_WNDNUM];
    450450
    451     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     451    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    452452
    453453    if(MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]==SELECT_WINDOW){
     
    546546    SCROLLINFO ScrollInfo;
    547547
    548     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     548    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    549549
    550550    DestroyWindow(MdiInfo[WndNum].MdiRadInfo->hProp_Dlg);
     
    607607    int i;
    608608
    609     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     609    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    610610
    611611    for(i=pWindowInfo->NumberOfChildWindows-1;i>=0;i--){
     
    669669
    670670    //サポートダイアログの内容をセット
    671     SetSupportDlgData( WndNum, ProjectInfo.windowInfos[WndInfoNum] );
     671    SetSupportDlgData( WndNum, *ProjectInfo.windowInfos[WndInfoNum] );
    672672}
    673673void SetItemNumOnFrame(int WndNum,int WndInfoNum,RECT *pRect){
     
    676676    RECT rect;
    677677
    678     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     678    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    679679
    680680    for(i=1;i<MAX_RAD_SELITEM;i++) MdiInfo[WndNum].MdiRadInfo->SelectingItem[i]=-1;
     
    701701    RECT rect;
    702702
    703     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     703    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    704704
    705705    if(MdiInfo[WndNum].MdiRadInfo->SelectingItem[1]!=-1){
     
    762762    SIZE NeedSize;
    763763
    764     WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
     764    WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
    765765
    766766    //必要な幅、高さを共に100ピクセル余裕を持たせる
     
    817817                i=GetWndNum(GetParent(hwnd));
    818818                i2 = GetWndInfoNum(MdiInfo[i].path);
    819                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     819                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    820820
    821821                if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
     
    897897                i=GetWndNum(hParent);
    898898                i2 = GetWndInfoNum(MdiInfo[i].path);
    899                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     899                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    900900
    901901                if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
     
    12751275                i=GetWndNum(hParent);
    12761276                i2 = GetWndInfoNum(MdiInfo[i].path);
    1277                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1277                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    12781278
    12791279                if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
     
    14401440                i=GetWndNum(hParent);
    14411441                i2=GetWndInfoNum(MdiInfo[i].path);
    1442                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1442                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    14431443                if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
    14441444                    if(MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW){
     
    14671467                hParent=GetParent(hwnd);
    14681468                i=GetWndNum(hParent);
    1469                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1469                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    14701470                if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
    14711471                    if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){
  • trunk/ab5.0/abdev/abdev/RadSupport.cpp

    r613 r615  
    5050    }
    5151
    52     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     52    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    5353
    5454    if(pWindowInfo->style&WS_CHILD){
     
    171171}
    172172
    173 void SetSupportDlgData(int WndNum, const WINDOW_INFO &windowInfo )
     173void SetSupportDlgData(int WndNum, const WindowInfo &windowInfo )
    174174{
    175175    ////////////////////////////////////
     
    302302
    303303            i=GetWndNum(GetParent(hwnd));
    304             WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     304            WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    305305
    306306            for(i3=0;;i3++){
  • trunk/ab5.0/abdev/abdev/RadToolsAndPropertyProc.cpp

    r613 r615  
    360360                SetPosCenter(hwnd);
    361361                i=GetWndNum(GetWindow(hClient,GW_CHILD));
    362                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     362                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    363363                sprintf(temporary,"h%s",pWindowInfo->name);
    364364                sprintf(temp2,"%sProc",pWindowInfo->name);
     
    394394
    395395                        i=GetWndNum(GetWindow(hClient,GW_CHILD));
    396                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     396                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    397397
    398398                        RAD_UNDOSTATE_NAME names,NoticeNames;
     
    484484                SetPosCenter(hwnd);
    485485                i=GetWndNum(GetWindow(hClient,GW_CHILD));
    486                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     486                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    487487                if(pWindowInfo->ExStyle&WS_EX_TOPMOST) SendDlgItemMessage(hwnd,IDC_EXSTYLE_TOPMOST,BM_SETCHECK,BST_CHECKED,0);
    488488                if(pWindowInfo->ExStyle&WS_EX_ACCEPTFILES) SendDlgItemMessage(hwnd,IDC_EXSTYLE_ACCEPTFILES,BM_SETCHECK,BST_CHECKED,0);
     
    523523                            style|=WS_EX_CONTROLPARENT;
    524524
    525                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     525                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    526526
    527527                        if(style==pWindowInfo->ExStyle){
     
    556556                bInitial=1;
    557557                i=GetWndNum(GetParent(GetParent(hwnd)));
    558                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     558                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    559559
    560560                SetDlgItemText(hwnd,IDC_WINDOWNAME,pWindowInfo->name);
     
    704704                        if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_WINDOW_RENAME),hwnd,(DLGPROC)DlgRadProperty_Window_Rename)) return 1;
    705705                        i=GetWndNum(GetParent(GetParent(hwnd)));
    706                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     706                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    707707                        SetDlgItemText(hwnd,IDC_WINDOWNAME,pWindowInfo->name);
    708708                        SetDlgItemText(hwnd,IDC_HANDLE,pWindowInfo->HandleName);
     
    713713                        if(!DialogBox(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_ITEM_RENAMECAPTION),hwnd,(DLGPROC)DlgRadProperty_Item_RenameCaption)) return 1;
    714714                        i=GetWndNum(GetParent(GetParent(hwnd)));
    715                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     715                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    716716                        SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->caption);
    717717                        return 1;
     
    720720                    {
    721721                        i=GetWndNum(GetParent(GetParent(hwnd)));
    722                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     722                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    723723                        LOGFONT lf;
    724724                        lf=pWindowInfo->LogFont;
     
    735735                    if(HIWORD(wParam)==CBN_SELCHANGE){
    736736                        i=GetWndNum(GetParent(GetParent(hwnd)));
    737                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     737                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    738738
    739739                        i3=SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_GETCURSEL,0,0);
     
    811811                    if(HIWORD(wParam)==CBN_SELCHANGE){
    812812                        i=GetWndNum(GetParent(GetParent(hwnd)));
    813                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     813                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    814814
    815815                        //変更情報
     
    831831                    if(HIWORD(wParam)==CBN_SELCHANGE){
    832832                        i=GetWndNum(GetParent(GetParent(hwnd)));
    833                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     833                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    834834
    835835                        //変更情報
     
    852852                    if(HIWORD(wParam)==CBN_SELCHANGE){
    853853                        i=GetWndNum(GetParent(GetParent(hwnd)));
    854                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     854                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    855855
    856856                        //変更情報
     
    869869                    if(HIWORD(wParam)==CBN_SELCHANGE){
    870870                        i=GetWndNum(GetParent(GetParent(hwnd)));
    871                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     871                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    872872
    873873                        //変更情報
     
    890890                    if(HIWORD(wParam)==BN_CLICKED){
    891891                        i=GetWndNum(GetParent(GetParent(hwnd)));
    892                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     892                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    893893
    894894                        //変更情報
     
    907907                    if(HIWORD(wParam)==BN_CLICKED){
    908908                        i=GetWndNum(GetParent(GetParent(hwnd)));
    909                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     909                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    910910
    911911                        //変更情報
     
    923923                    if(HIWORD(wParam)==BN_CLICKED){
    924924                        i=GetWndNum(GetParent(GetParent(hwnd)));
    925                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     925                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    926926
    927927                        //変更情報
     
    939939                    if(HIWORD(wParam)==BN_CLICKED){
    940940                        i=GetWndNum(GetParent(GetParent(hwnd)));
    941                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     941                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    942942
    943943                        //変更情報
     
    955955                    if(HIWORD(wParam)==BN_CLICKED){
    956956                        i=GetWndNum(GetParent(GetParent(hwnd)));
    957                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     957                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    958958
    959959                        //変更情報
     
    971971                    if(HIWORD(wParam)==BN_CLICKED){
    972972                        i=GetWndNum(GetParent(GetParent(hwnd)));
    973                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     973                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    974974
    975975                        //変更情報
     
    986986                    if(HIWORD(wParam)==BN_CLICKED){
    987987                        i=GetWndNum(GetParent(GetParent(hwnd)));
    988                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     988                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    989989
    990990                        //変更情報
     
    10011001                    if(HIWORD(wParam)==BN_CLICKED){
    10021002                        i=GetWndNum(GetParent(GetParent(hwnd)));
    1003                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1003                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    10041004
    10051005                        //変更情報
     
    10171017                    if(HIWORD(wParam)==BN_CLICKED){
    10181018                        i=GetWndNum(GetParent(GetParent(hwnd)));
    1019                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1019                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    10201020
    10211021                        //変更情報
     
    10331033                    if(HIWORD(wParam)==BN_CLICKED){
    10341034                        i=GetWndNum(GetParent(GetParent(hwnd)));
    1035                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1035                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    10361036
    10371037                        //変更情報
     
    10491049                    if(HIWORD(wParam)==BN_CLICKED){
    10501050                        i=GetWndNum(GetParent(GetParent(hwnd)));
    1051                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1051                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    10521052
    10531053                        //変更情報
     
    10651065                    if(HIWORD(wParam)==BN_CLICKED){
    10661066                        i=GetWndNum(GetParent(GetParent(hwnd)));
    1067                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1067                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    10681068
    10691069                        //変更情報
     
    10901090                    if(HIWORD(wParam)==BN_CLICKED){
    10911091                        i=GetWndNum(GetParent(GetParent(hwnd)));
    1092                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1092                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    10931093
    10941094                        //変更情報
     
    11221122                SetPosCenter(hwnd);
    11231123                i=GetWndNum(GetWindow(hClient,GW_CHILD));
    1124                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1124                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    11251125                if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW)
    11261126                    SetDlgItemText(hwnd,IDC_CAPTION,pWindowInfo->caption);
     
    11341134                    {
    11351135                        i=GetWndNum(GetWindow(hClient,GW_CHILD));
    1136                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1136                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    11371137
    11381138                        i3=GetWindowTextLength(GetDlgItem(hwnd,IDC_CAPTION))+1;
     
    12531253                SetPosCenter(hwnd);
    12541254                i=GetWndNum(GetWindow(hClient,GW_CHILD));
    1255                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1255                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    12561256                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
    12571257            }
     
    12621262                    {
    12631263                        i=GetWndNum(GetWindow(hClient,GW_CHILD));
    1264                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1264                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    12651265
    12661266                        i3=GetWindowTextLength(GetDlgItem(hwnd,IDC_IDNAME))+1;
     
    13021302    extern MDIINFO MdiInfo[MAX_WNDNUM];
    13031303
    1304     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     1304    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    13051305
    13061306    switch(LOWORD(wParam)){
     
    13741374                SetPosCenter(hwnd);
    13751375                i=GetWndNum(GetWindow(hClient,GW_CHILD));
    1376                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1376                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    13771377                if(pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].ExStyle&WS_EX_ACCEPTFILES) SendDlgItemMessage(hwnd,IDC_EXSTYLE_ACCEPTFILES,BM_SETCHECK,BST_CHECKED,0);
    13781378                if(pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].ExStyle&WS_EX_TRANSPARENT) SendDlgItemMessage(hwnd,IDC_EXSTYLE_TRANSPARENT,BM_SETCHECK,BST_CHECKED,0);
     
    13871387                    {
    13881388                        i=GetWndNum(GetWindow(hClient,GW_CHILD));
    1389                         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1389                        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    13901390
    13911391                        DWORD style;
     
    14371437                bInitial=1;
    14381438                i=GetWndNum(GetParent(GetParent(hwnd)));
    1439                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1439                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    14401440
    14411441                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    15081508                if(i==-1) return 1;
    15091509                i2=GetWndInfoNum(MdiInfo[i].path);
    1510                 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[i2];
     1510                WindowInfo *pWindowInfo = ProjectInfo.windowInfos[i2];
    15111511
    15121512                //共通スタイル
     
    16591659                bInitial=1;
    16601660                i=GetWndNum(GetParent(GetParent(hwnd)));
    1661                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1661                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    16621662
    16631663                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    17351735                if(i==-1) return 1;
    17361736                i2=GetWndInfoNum(MdiInfo[i].path);
    1737                 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[i2];
     1737                WindowInfo *pWindowInfo = ProjectInfo.windowInfos[i2];
    17381738
    17391739                //共通スタイル
     
    19501950                bInitial=1;
    19511951                i=GetWndNum(GetParent(GetParent(hwnd)));
    1952                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1952                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    19531953
    19541954                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    20172017                if(i==-1) return 1;
    20182018                i2=GetWndInfoNum(MdiInfo[i].path);
    2019                 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[i2];
     2019                WindowInfo *pWindowInfo = ProjectInfo.windowInfos[i2];
    20202020
    20212021                //共通スタイル
     
    22142214                bInitial=1;
    22152215                i=GetWndNum(GetParent(GetParent(hwnd)));
    2216                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     2216                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    22172217
    22182218                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    22712271                if(i==-1) return 1;
    22722272                i2=GetWndInfoNum(MdiInfo[i].path);
    2273                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     2273                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    22742274
    22752275                //共通スタイル
     
    24952495                bInitial=1;
    24962496                i=GetWndNum(GetParent(GetParent(hwnd)));
    2497                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     2497                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    24982498
    24992499                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    25432543                if(i==-1) return 1;
    25442544                i2=GetWndInfoNum(MdiInfo[i].path);
    2545                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     2545                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    25462546
    25472547                //共通スタイル
     
    26482648                bInitial=1;
    26492649                i=GetWndNum(GetParent(GetParent(hwnd)));
    2650                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     2650                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    26512651
    26522652                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    27592759                if(i==-1) return 1;
    27602760                i2=GetWndInfoNum(MdiInfo[i].path);
    2761                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     2761                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    27622762
    27632763                //共通スタイル
     
    30293029                bInitial=1;
    30303030                i=GetWndNum(GetParent(GetParent(hwnd)));
    3031                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3031                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    30323032
    30333033                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    31113111                if(i==-1) return 1;
    31123112                i2=GetWndInfoNum(MdiInfo[i].path);
    3113                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3113                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    31143114
    31153115                //共通スタイル
     
    33213321                bInitial=1;
    33223322                i=GetWndNum(GetParent(GetParent(hwnd)));
    3323                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3323                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    33243324
    33253325                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    33913391                if(i==-1) return 1;
    33923392                i2=GetWndInfoNum(MdiInfo[i].path);
    3393                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3393                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    33943394
    33953395                //共通スタイル
     
    35753575                bInitial=1;
    35763576                i=GetWndNum(GetParent(GetParent(hwnd)));
    3577                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3577                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    35783578
    35793579                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    36013601                if(i==-1) return 1;
    36023602                i2=GetWndInfoNum(MdiInfo[i].path);
    3603                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3603                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    36043604
    36053605                //共通スタイル
     
    36603660                bInitial=1;
    36613661                i=GetWndNum(GetParent(GetParent(hwnd)));
    3662                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3662                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    36633663
    36643664                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    37323732                if(i==-1) return 1;
    37333733                i2=GetWndInfoNum(MdiInfo[i].path);
    3734                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3734                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    37353735
    37363736                //共通スタイル
     
    38943894                bInitial=1;
    38953895                i=GetWndNum(GetParent(GetParent(hwnd)));
    3896                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3896                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    38973897
    38983898                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    39333933                if(i==-1) return 1;
    39343934                i2=GetWndInfoNum(MdiInfo[i].path);
    3935                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3935                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    39363936
    39373937                //共通スタイル
     
    39793979                bInitial=1;
    39803980                i=GetWndNum(GetParent(GetParent(hwnd)));
    3981                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     3981                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    39823982
    39833983                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    40244024                if(i==-1) return 1;
    40254025                i2=GetWndInfoNum(MdiInfo[i].path);
    4026                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     4026                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    40274027
    40284028                //共通スタイル
     
    41104110                bInitial=1;
    41114111                i=GetWndNum(GetParent(GetParent(hwnd)));
    4112                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     4112                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    41134113
    41144114                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    41664166                if(i==-1) return 1;
    41674167                i2=GetWndInfoNum(MdiInfo[i].path);
    4168                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     4168                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    41694169
    41704170                //共通スタイル
     
    42634263                bInitial=1;
    42644264                i=GetWndNum(GetParent(GetParent(hwnd)));
    4265                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     4265                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    42664266
    42674267                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    42984298                if(i==-1) return 1;
    42994299                i2=GetWndInfoNum(MdiInfo[i].path);
    4300                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     4300                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    43014301
    43024302                //共通スタイル
     
    44754475                bInitial=1;
    44764476                i=GetWndNum(GetParent(GetParent(hwnd)));
    4477                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     4477                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    44784478
    44794479                SetDlgItemText(hwnd,IDC_IDNAME,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName);
     
    45334533                if(i==-1) return 1;
    45344534                i2=GetWndInfoNum(MdiInfo[i].path);
    4535                 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     4535                WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    45364536
    45374537                //共通スタイル
  • trunk/ab5.0/abdev/abdev/Rad_UndoRedo.cpp

    r613 r615  
    2020    pUndoState->NowPos=i;
    2121
    22     WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
     22    WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
    2323    int WndInfoNum = GetWndInfoNum(MdiInfo[WndNum].path);
    2424    switch(pUndoState->Command[pUndoState->NowPos]){
     
    206206    }
    207207
    208     WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
     208    WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
    209209    int WndInfoNum = GetWndInfoNum(MdiInfo[WndNum].path);
    210210    switch(pUndoState->Command[pUndoState->NowPos]){
  • trunk/ab5.0/abdev/abdev/WindowControl.cpp

    r613 r615  
    1515int GetWndInfoNum(char *name){
    1616    for( int i=0;i<static_cast<int>(ProjectInfo.windowInfos.size());i++){
    17         if(lstrcmpi(name,ProjectInfo.windowInfos[i].name)==0) return i;
     17        if(lstrcmpi(name,ProjectInfo.windowInfos[i]->name)==0) return i;
    1818    }
    1919    return -1;
    2020}
    21 WINDOW_INFO *GetWndInfo( char *name )
     21WindowInfo *GetWndInfo( char *name )
    2222{
    23     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     23    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    2424    {
    25         if(lstrcmpi(name,windowInfo.name)==0) return &windowInfo;
     25        if(lstrcmpi(name,pWindowInfo->name)==0) return pWindowInfo;
    2626    }
    2727    return NULL;
     
    8686
    8787    for(i3--;i3>=0;i3--){
    88         pChildInfo=&ProjectInfo.windowInfos[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[i3]];
     88        pChildInfo=&ProjectInfo.windowInfos[WndInfoNum]->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[i3]];
    8989
    9090        MemSize+=lstrlen(pChildInfo->IdName)+1+
     
    352352    return 1;
    353353}
    354 BOOL GetNotifyCommandByItemMessage(WINDOW_INFO *pWindowInfo,ITEMEVENTINFO *pItemEventInfo,char *Command,char *spaces){
     354BOOL GetNotifyCommandByItemMessage(WindowInfo *pWindowInfo,ITEMEVENTINFO *pItemEventInfo,char *Command,char *spaces){
    355355    int i,i2,i3,sw;
    356356    char temporary[MAX_PATH];
     
    429429    }
    430430}
    431 void GetCommandByItemMessage(WINDOW_INFO *pWindowInfo,ITEMEVENTINFO *pItemEventInfo,char *Command,char *spaces){
     431void GetCommandByItemMessage(WindowInfo *pWindowInfo,ITEMEVENTINFO *pItemEventInfo,char *Command,char *spaces){
    432432    extern HANDLE hHeap;
    433433    int i,i2,i3;
     
    523523    char temporary[MAX_PATH],*temp2;
    524524
    525     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     525    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    526526
    527527    Command[0]=0;
     
    10031003    i4=1000;
    10041004    i5=0;
    1005     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1005    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    10061006    {
    1007         for(i3=0;i3<windowInfo.NumberOfChildWindows;i3++){
     1007        for(i3=0;i3<pWindowInfo->NumberOfChildWindows;i3++){
    10081008
    10091009            //重複チェック
    10101010            for(i6=0,sw1=0;i6<i5;i6++){
    1011                 if(lstrcmpi(ppNames[i6],windowInfo.pChildInfo[i3].IdName)==0){
     1011                if(lstrcmpi(ppNames[i6],pWindowInfo->pChildInfo[i3].IdName)==0){
    10121012                    sw1=1;
    10131013                    break;
     
    10171017
    10181018            ppNames=(char **)HeapReAlloc(hHeap,0,ppNames,sizeof(char *)*(i5+1));
    1019             ppNames[i5]=windowInfo.pChildInfo[i3].IdName;
     1019            ppNames[i5]=pWindowInfo->pChildInfo[i3].IdName;
    10201020            i5++;
    10211021
    1022             sprintf(buffer+i2,"Const %s=%d\r\n",windowInfo.pChildInfo[i3].IdName,i4);
     1022            sprintf(buffer+i2,"Const %s=%d\r\n",pWindowInfo->pChildInfo[i3].IdName,i4);
    10231023            i2+=lstrlen(buffer+i2);
    10241024            i4++;
     
    10401040
    10411041    //ハンドル変数を定義
    1042     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1042    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    10431043    {
    1044         sprintf(buffer+i2,"Dim %s As HWND\r\n",windowInfo.HandleName);
    1045         i2+=lstrlen(buffer+i2);
    1046         sprintf(buffer+i2,"Dim hFont_%s As HFONT\r\n",windowInfo.name);
     1044        sprintf(buffer+i2,"Dim %s As HWND\r\n",pWindowInfo->HandleName);
     1045        i2+=lstrlen(buffer+i2);
     1046        sprintf(buffer+i2,"Dim hFont_%s As HFONT\r\n",pWindowInfo->name);
    10471047        i2+=lstrlen(buffer+i2);
    10481048        sprintf(buffer+i2,"hFont_%s=CreateFont(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,\"%s\")\r\n",
    1049             windowInfo.name,
    1050             windowInfo.LogFont.lfHeight,
    1051             windowInfo.LogFont.lfWidth,
    1052             windowInfo.LogFont.lfEscapement,
    1053             windowInfo.LogFont.lfOrientation,
    1054             windowInfo.LogFont.lfWeight,
    1055             windowInfo.LogFont.lfItalic,
    1056             windowInfo.LogFont.lfUnderline,
    1057             windowInfo.LogFont.lfStrikeOut,
    1058             windowInfo.LogFont.lfCharSet,
    1059             windowInfo.LogFont.lfOutPrecision,
    1060             windowInfo.LogFont.lfClipPrecision,
    1061             windowInfo.LogFont.lfQuality,
    1062             windowInfo.LogFont.lfPitchAndFamily,
    1063             windowInfo.LogFont.lfFaceName);
     1049            pWindowInfo->name,
     1050            pWindowInfo->LogFont.lfHeight,
     1051            pWindowInfo->LogFont.lfWidth,
     1052            pWindowInfo->LogFont.lfEscapement,
     1053            pWindowInfo->LogFont.lfOrientation,
     1054            pWindowInfo->LogFont.lfWeight,
     1055            pWindowInfo->LogFont.lfItalic,
     1056            pWindowInfo->LogFont.lfUnderline,
     1057            pWindowInfo->LogFont.lfStrikeOut,
     1058            pWindowInfo->LogFont.lfCharSet,
     1059            pWindowInfo->LogFont.lfOutPrecision,
     1060            pWindowInfo->LogFont.lfClipPrecision,
     1061            pWindowInfo->LogFont.lfQuality,
     1062            pWindowInfo->LogFont.lfPitchAndFamily,
     1063            pWindowInfo->LogFont.lfFaceName);
    10641064        i2+=lstrlen(buffer+i2);
    10651065
     
    10761076    i2+=lstrlen(buffer+i2);
    10771077    i=0;
    1078     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1078    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    10791079    {
    1080         if(windowInfo.bgColor<=0&&
    1081             windowInfo.bgColor!=-(int)RGB(255,255,255)&&
    1082             windowInfo.bgColor!=-(int)RGB(0,0,0)){
     1080        if(pWindowInfo->bgColor<=0&&
     1081            pWindowInfo->bgColor!=-(int)RGB(255,255,255)&&
     1082            pWindowInfo->bgColor!=-(int)RGB(0,0,0)){
    10831083                sprintf(buffer+i2,"Dim _RadSys_hBackBrush%d As HBRUSH\r\n",i);
    10841084                i2+=lstrlen(buffer+i2);
    1085                 sprintf(buffer+i2,"_RadSys_hBackBrush%d=CreateSolidBrush(%d)\r\n",i,-windowInfo.bgColor);
     1085                sprintf(buffer+i2,"_RadSys_hBackBrush%d=CreateSolidBrush(%d)\r\n",i,-pWindowInfo->bgColor);
    10861086                i2+=lstrlen(buffer+i2);
    10871087        }
    1088         if(windowInfo.bgColor>=0x1000){
     1088        if(pWindowInfo->bgColor>=0x1000){
    10891089                sprintf(buffer+i2,"Dim _RadSys_hBackBrush%d As HBRUSH\r\n",i);
    10901090                i2+=lstrlen(buffer+i2);
    10911091                sprintf(buffer+i2,"_RadSys_hBackBrush%d=CreatePatternBrush(LoadImage(GetModuleHandle(0),%s,IMAGE_BITMAP,0,0,LR_DEFAULTSIZE or LR_SHARED))\r\n",
    10921092                    i,
    1093                     ProjectInfo.res.pBitmapResInfo[windowInfo.bgColor-0x1000].IdName);
     1093                    ProjectInfo.res.pBitmapResInfo[pWindowInfo->bgColor-0x1000].IdName);
    10941094                i2+=lstrlen(buffer+i2);
    10951095        }
     
    11021102
    11031103    //イメージ ボックス用の変数を定義
    1104     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1104    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    11051105    {
    1106         for(i3=0;i3<windowInfo.NumberOfChildWindows;i3++){
    1107             if(windowInfo.pChildInfo[i3].Control==CT_IMAGEBOX){
    1108                 if((windowInfo.pChildInfo[i3].style&0x000F)==SS_ICON||
    1109                     (windowInfo.pChildInfo[i3].style&0x000F)==SS_BITMAP){
    1110                     sprintf(buffer+i2,"Dim hImage_%s_%s As HANDLE\r\n",windowInfo.name,windowInfo.pChildInfo[i3].IdName);
     1106        for(i3=0;i3<pWindowInfo->NumberOfChildWindows;i3++){
     1107            if(pWindowInfo->pChildInfo[i3].Control==CT_IMAGEBOX){
     1108                if((pWindowInfo->pChildInfo[i3].style&0x000F)==SS_ICON||
     1109                    (pWindowInfo->pChildInfo[i3].style&0x000F)==SS_BITMAP){
     1110                    sprintf(buffer+i2,"Dim hImage_%s_%s As HANDLE\r\n",pWindowInfo->name,pWindowInfo->pChildInfo[i3].IdName);
    11111111                    i2+=lstrlen(buffer+i2);
    11121112
     
    11561156    }
    11571157
    1158     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1158    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    11591159    {
    11601160        //フォントハンドル解放
    1161         sprintf(buffer+i2,"\tDeleteObject(hFont_%s)\r\n",windowInfo.name);
     1161        sprintf(buffer+i2,"\tDeleteObject(hFont_%s)\r\n",pWindowInfo->name);
    11621162        i2+=lstrlen(buffer+i2);
    11631163
     
    11721172    i2+=lstrlen(buffer+i2);
    11731173    i=0;
    1174     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1174    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    11751175    {
    1176         if(windowInfo.bgColor<=0&&
    1177             windowInfo.bgColor!=-(int)RGB(255,255,255)&&
    1178             windowInfo.bgColor!=-(int)RGB(0,0,0)){
     1176        if(pWindowInfo->bgColor<=0&&
     1177            pWindowInfo->bgColor!=-(int)RGB(255,255,255)&&
     1178            pWindowInfo->bgColor!=-(int)RGB(0,0,0)){
    11791179                sprintf(buffer+i2,"\tDeleteObject(_RadSys_hBackBrush%d)\r\n",i);
    11801180                i2+=lstrlen(buffer+i2);
     
    11911191
    11921192    i=0;
    1193     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1193    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    11941194    {
    11951195        if(i!=0){
     
    12051205        ppNames=GetProcedureNamesOfMessageCall(i,&pItemEventInfo,&i3,&bAvailUserProc[i]);
    12061206
    1207         sprintf(buffer+i2,"Function EventCall_%s(hWnd As HWND, message As DWord, wParam As WPARAM, lParam As LPARAM) As LRESULT\r\n",windowInfo.name);
     1207        sprintf(buffer+i2,"Function EventCall_%s(hWnd As HWND, message As DWord, wParam As WPARAM, lParam As LPARAM) As LRESULT\r\n",pWindowInfo->name);
    12081208        i2+=lstrlen(buffer+i2);
    12091209
     
    12431243            i2+=lstrlen(buffer+i2);
    12441244            if(sw4){
    1245                 sprintf(buffer+i2,"\t\t\t%s_Notify(ByVal (lParam As *NMHDR))\r\n",windowInfo.name);
     1245                sprintf(buffer+i2,"\t\t\t%s_Notify(ByVal (lParam As *NMHDR))\r\n",pWindowInfo->name);
    12461246                i2+=lstrlen(buffer+i2);
    12471247            }
     
    12531253            i2+=lstrlen(buffer+i2);
    12541254
    1255             if(GetNotifyCommandByItemMessage(&windowInfo,pItemEventInfo,buffer+i2,"\t\t\t\t")){
     1255            if(GetNotifyCommandByItemMessage(pWindowInfo,pItemEventInfo,buffer+i2,"\t\t\t\t")){
    12561256                i2+=lstrlen(buffer+i2);
    12571257
     
    12691269            lstrcpy(buffer+i2,"\t\tCase WM_NOTIFY\r\n");
    12701270            i2+=lstrlen(buffer+i2);
    1271             sprintf(buffer+i2,"\t\t\t%s_Notify(ByVal (lParam As *NMHDR))\r\n",windowInfo.name);
     1271            sprintf(buffer+i2,"\t\t\t%s_Notify(ByVal (lParam As *NMHDR))\r\n",pWindowInfo->name);
    12721272            i2+=lstrlen(buffer+i2);
    12731273        }
     
    12811281
    12821282            //pItemEventInfoのIdName、EventNameメンバのメモリ解放はこの関数内で行う
    1283             GetCommandByItemMessage(&windowInfo,pItemEventInfo,buffer+i2,"\t\t\t\t");
     1283            GetCommandByItemMessage(pWindowInfo,pItemEventInfo,buffer+i2,"\t\t\t\t");
    12841284            i2+=lstrlen(buffer+i2);
    12851285
     
    12921292        lstrcpy(buffer+i2,"\t\tCase Else\r\n");
    12931293        i2+=lstrlen(buffer+i2);
    1294         sprintf(buffer+i2,"\t\t\tEventCall_%s=DefWindowProc(hWnd,message,wParam,lParam)\r\n",windowInfo.name);
     1294        sprintf(buffer+i2,"\t\t\tEventCall_%s=DefWindowProc(hWnd,message,wParam,lParam)\r\n",pWindowInfo->name);
    12951295        i2+=lstrlen(buffer+i2);
    12961296        lstrcpy(buffer+i2,"\t\t\tExit Function\r\n");
     
    13001300        i2+=lstrlen(buffer+i2);
    13011301
    1302         sprintf(buffer+i2,"\tEventCall_%s=0\r\n",windowInfo.name);
     1302        sprintf(buffer+i2,"\tEventCall_%s=0\r\n",pWindowInfo->name);
    13031303        i2+=lstrlen(buffer+i2);
    13041304        lstrcpy(buffer+i2,"End Function\r\n");
     
    13561356    sw1=0;
    13571357    i=0;
    1358     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1358    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    13591359    {
    1360         if(windowInfo.type==WNDTYPE_MODALDLG){
     1360        if(pWindowInfo->type==WNDTYPE_MODALDLG){
    13611361            if(sw1==0){
    1362                 sprintf(buffer+i2,"\tIf lstrcmp(TemplateName,\"%s\")=0 Then\r\n",windowInfo.name);
     1362                sprintf(buffer+i2,"\tIf lstrcmp(TemplateName,\"%s\")=0 Then\r\n",pWindowInfo->name);
    13631363                i2+=lstrlen(buffer+i2);
    13641364                sw1=1;
    13651365            }
    13661366            else{
    1367                 sprintf(buffer+i2,"\tElseIf lstrcmp(TemplateName,\"%s\")=0 Then\r\n",windowInfo.name);
     1367                sprintf(buffer+i2,"\tElseIf lstrcmp(TemplateName,\"%s\")=0 Then\r\n",pWindowInfo->name);
    13681368                i2+=lstrlen(buffer+i2);
    13691369            }
    13701370            sprintf(buffer+i2,"\t\t%s=CreateWindowEx(&H%08x,\"NORMALDLG\",\"%s\",&H%08x,%d,%d,%d,%d,hOwnerWnd,%d As HMENU,GetModuleHandle(0),0)\r\n",
    1371                 windowInfo.HandleName,
    1372                 windowInfo.ExStyle,
    1373                 windowInfo.caption,
    1374                 windowInfo.style,
    1375                 windowInfo.pos.x,
    1376                 windowInfo.pos.y,
    1377                 windowInfo.size.cx,
    1378                 windowInfo.size.cy,
    1379                 windowInfo.id);
     1371                pWindowInfo->HandleName,
     1372                pWindowInfo->ExStyle,
     1373                pWindowInfo->caption,
     1374                pWindowInfo->style,
     1375                pWindowInfo->pos.x,
     1376                pWindowInfo->pos.y,
     1377                pWindowInfo->size.cx,
     1378                pWindowInfo->size.cy,
     1379                pWindowInfo->id);
    13801380            i2+=lstrlen(buffer+i2);
    13811381            sprintf(buffer+i2,"\t\thDlg=%s\r\n",
    1382                 windowInfo.HandleName);
     1382                pWindowInfo->HandleName);
    13831383            i2+=lstrlen(buffer+i2);
    13841384            if(bAvailUserProc[i]){
    13851385                sprintf(buffer+i2,"\t\tSetWindowLongPtr(%s,GWLP_WNDPROC,AddressOf(%s) As LONG_PTR)\r\n",
    1386                     windowInfo.HandleName,
    1387                     windowInfo.CallBackName);
     1386                    pWindowInfo->HandleName,
     1387                    pWindowInfo->CallBackName);
    13881388            }
    13891389            else{
    13901390                sprintf(buffer+i2,"\t\tSetWindowLongPtr(%s,GWLP_WNDPROC,AddressOf(EventCall_%s) As LONG_PTR)\r\n",
    1391                     windowInfo.HandleName,
    1392                     windowInfo.name);
    1393             }
    1394             i2+=lstrlen(buffer+i2);
    1395             sprintf(buffer+i2,"\t\tSendMessage(%s,WM_INITDIALOG,0,0)\r\n",windowInfo.HandleName);
    1396             i2+=lstrlen(buffer+i2);
    1397             if(windowInfo.IconResName){
    1398                 sprintf(buffer+i2,"\t\tSendMessage(%s,WM_SETICON,ICON_SMALL,LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(%s)) As LPARAM)\r\n",windowInfo.HandleName,windowInfo.IconResName);
     1391                    pWindowInfo->HandleName,
     1392                    pWindowInfo->name);
     1393            }
     1394            i2+=lstrlen(buffer+i2);
     1395            sprintf(buffer+i2,"\t\tSendMessage(%s,WM_INITDIALOG,0,0)\r\n",pWindowInfo->HandleName);
     1396            i2+=lstrlen(buffer+i2);
     1397            if(pWindowInfo->IconResName){
     1398                sprintf(buffer+i2,"\t\tSendMessage(%s,WM_SETICON,ICON_SMALL,LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(%s)) As LPARAM)\r\n",pWindowInfo->HandleName,pWindowInfo->IconResName);
    13991399                i2+=lstrlen(buffer+i2);
    14001400            }
    1401             sprintf(buffer+i2,"\t\tShowWindow(%s,SW_SHOW)\r\n",windowInfo.HandleName);
     1401            sprintf(buffer+i2,"\t\tShowWindow(%s,SW_SHOW)\r\n",pWindowInfo->HandleName);
    14021402            i2+=lstrlen(buffer+i2);
    14031403        }
     
    14551455    i2+=lstrlen(buffer+i2);
    14561456    i=0;
    1457     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1457    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    14581458    {
    1459         if(windowInfo.type==WNDTYPE_MODELESSDLG){
    1460             sprintf(buffer+i2,"\tIf lstrcmp(TemplateName,\"%s\")=0 Then\r\n",windowInfo.name);
     1459        if(pWindowInfo->type==WNDTYPE_MODELESSDLG){
     1460            sprintf(buffer+i2,"\tIf lstrcmp(TemplateName,\"%s\")=0 Then\r\n",pWindowInfo->name);
    14611461            i2+=lstrlen(buffer+i2);
    14621462
    14631463            sprintf(buffer+i2,"\t\t%s=CreateWindowEx(&H%08x,\"NORMALDLG\",\"%s\",&H%08x,%d,%d,%d,%d,hOwnerWnd,%d As HMENU,GetModuleHandle(0),0)\r\n",
    1464                 windowInfo.HandleName,
    1465                 windowInfo.ExStyle,
    1466                 windowInfo.caption,
    1467                 windowInfo.style,
    1468                 windowInfo.pos.x,
    1469                 windowInfo.pos.y,
    1470                 windowInfo.size.cx,
    1471                 windowInfo.size.cy,
    1472                 windowInfo.id);
    1473             i2+=lstrlen(buffer+i2);
    1474             sprintf(buffer+i2,"\t\tCreateDialog=%s\r\n",windowInfo.HandleName);
     1464                pWindowInfo->HandleName,
     1465                pWindowInfo->ExStyle,
     1466                pWindowInfo->caption,
     1467                pWindowInfo->style,
     1468                pWindowInfo->pos.x,
     1469                pWindowInfo->pos.y,
     1470                pWindowInfo->size.cx,
     1471                pWindowInfo->size.cy,
     1472                pWindowInfo->id);
     1473            i2+=lstrlen(buffer+i2);
     1474            sprintf(buffer+i2,"\t\tCreateDialog=%s\r\n",pWindowInfo->HandleName);
    14751475            i2+=lstrlen(buffer+i2);
    14761476            if(bAvailUserProc[i]){
    14771477                sprintf(buffer+i2,"\t\tSetWindowLongPtr(%s,GWLP_WNDPROC,AddressOf(%s) As LONG_PTR)\r\n",
    1478                     windowInfo.HandleName,
    1479                     windowInfo.CallBackName);
     1478                    pWindowInfo->HandleName,
     1479                    pWindowInfo->CallBackName);
    14801480            }
    14811481            else{
    14821482                sprintf(buffer+i2,"\t\tSetWindowLongPtr(%s,GWLP_WNDPROC,AddressOf(EventCall_%s) As LONG_PTR)\r\n",
    1483                     windowInfo.HandleName,
    1484                     windowInfo.name);
    1485             }
    1486             i2+=lstrlen(buffer+i2);
    1487             sprintf(buffer+i2,"\t\tSendMessage(%s,WM_INITDIALOG,0,0)\r\n",windowInfo.HandleName);
    1488             i2+=lstrlen(buffer+i2);
    1489             if(windowInfo.IconResName){
    1490                 sprintf(buffer+i2,"\t\tSendMessage(%s,WM_SETICON,ICON_SMALL,LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(%s)) As LPARAM)\r\n",windowInfo.HandleName,windowInfo.IconResName);
     1483                    pWindowInfo->HandleName,
     1484                    pWindowInfo->name);
     1485            }
     1486            i2+=lstrlen(buffer+i2);
     1487            sprintf(buffer+i2,"\t\tSendMessage(%s,WM_INITDIALOG,0,0)\r\n",pWindowInfo->HandleName);
     1488            i2+=lstrlen(buffer+i2);
     1489            if(pWindowInfo->IconResName){
     1490                sprintf(buffer+i2,"\t\tSendMessage(%s,WM_SETICON,ICON_SMALL,LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(%s)) As LPARAM)\r\n",pWindowInfo->HandleName,pWindowInfo->IconResName);
    14911491                i2+=lstrlen(buffer+i2);
    14921492            }
    1493             sprintf(buffer+i2,"\tEnd If\r\n",windowInfo.name);
     1493            sprintf(buffer+i2,"\tEnd If\r\n",pWindowInfo->name);
    14941494            i2+=lstrlen(buffer+i2);
    14951495        }
     
    15281528
    15291529    i=0;
    1530     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1530    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    15311531    {
    1532         if(windowInfo.type==WNDTYPE_DEFAULT){
     1532        if(pWindowInfo->type==WNDTYPE_DEFAULT){
    15331533            //////////////////////
    15341534            //通常ウィンドウ作成
     
    15371537            i2+=2;
    15381538
    1539             if(windowInfo.IconResName==0){
     1539            if(pWindowInfo->IconResName==0){
    15401540                lstrcpy(buffer+i2,"_RadSys_wcl.hIcon=LoadIcon(NULL,MAKEINTRESOURCE(IDI_APPLICATION))\r\n");
    15411541                i2+=lstrlen(buffer+i2);
     
    15441544            }
    15451545            else{
    1546                 sprintf(buffer+i2,"_RadSys_wcl.hIcon=LoadIcon(_RadSys_wcl.hInstance,MAKEINTRESOURCE(%s))\r\n",windowInfo.IconResName);
     1546                sprintf(buffer+i2,"_RadSys_wcl.hIcon=LoadIcon(_RadSys_wcl.hInstance,MAKEINTRESOURCE(%s))\r\n",pWindowInfo->IconResName);
    15471547                i2+=lstrlen(buffer+i2);
    1548                 sprintf(buffer+i2,"_RadSys_wcl.hIconSm=LoadIcon(_RadSys_wcl.hInstance,MAKEINTRESOURCE(%s))\r\n",windowInfo.IconResName);
     1548                sprintf(buffer+i2,"_RadSys_wcl.hIconSm=LoadIcon(_RadSys_wcl.hInstance,MAKEINTRESOURCE(%s))\r\n",pWindowInfo->IconResName);
    15491549                i2+=lstrlen(buffer+i2);
    15501550            }
     
    15531553            i2+=lstrlen(buffer+i2);
    15541554            if(bAvailUserProc[i])
    1555                 sprintf(buffer+i2,"_RadSys_wcl.lpfnWndProc=AddressOf(%s)\r\n",windowInfo.CallBackName);
    1556             else sprintf(buffer+i2,"_RadSys_wcl.lpfnWndProc=AddressOf(EventCall_%s)\r\n",windowInfo.name);
    1557             i2+=lstrlen(buffer+i2);
    1558             if(windowInfo.bgColor==COLOR_3DFACE)
     1555                sprintf(buffer+i2,"_RadSys_wcl.lpfnWndProc=AddressOf(%s)\r\n",pWindowInfo->CallBackName);
     1556            else sprintf(buffer+i2,"_RadSys_wcl.lpfnWndProc=AddressOf(EventCall_%s)\r\n",pWindowInfo->name);
     1557            i2+=lstrlen(buffer+i2);
     1558            if(pWindowInfo->bgColor==COLOR_3DFACE)
    15591559                lstrcpy(buffer+i2,"_RadSys_wcl.hbrBackground=h3DFaceBrush\r\n");
    1560             else if(windowInfo.bgColor==-(int)RGB(255,255,255))
     1560            else if(pWindowInfo->bgColor==-(int)RGB(255,255,255))
    15611561                lstrcpy(buffer+i2,"_RadSys_wcl.hbrBackground=GetStockObject(WHITE_BRUSH)\r\n");
    1562             else if(windowInfo.bgColor==-(int)RGB(0,0,0))
     1562            else if(pWindowInfo->bgColor==-(int)RGB(0,0,0))
    15631563                lstrcpy(buffer+i2,"_RadSys_wcl.hbrBackground=GetStockObject(BLACK_BRUSH)\r\n");
    1564             else if(windowInfo.bgColor<=0||
    1565                 windowInfo.bgColor>=0x1000){
     1564            else if(pWindowInfo->bgColor<=0||
     1565                pWindowInfo->bgColor>=0x1000){
    15661566                //色指定またはビットマップ
    15671567                sprintf(buffer+i2,"_RadSys_wcl.hbrBackground=_RadSys_hBackBrush%d\r\n",i);
     
    15711571            i2+=lstrlen(buffer+i2);
    15721572            sprintf(buffer+i2,"CreateWindowEx(&H%08x,\"%s%d\",\"%s\",&H%08x,%d,%d,%d,%d,0,0,GetModuleHandle(0),0)\r\n",
    1573                 windowInfo.ExStyle,
    1574                 windowInfo.ClassName,i,
    1575                 windowInfo.caption,
    1576                 windowInfo.style,
    1577                 windowInfo.pos.x,
    1578                 windowInfo.pos.y,
    1579                 windowInfo.size.cx,
    1580                 windowInfo.size.cy);
     1573                pWindowInfo->ExStyle,
     1574                pWindowInfo->ClassName,i,
     1575                pWindowInfo->caption,
     1576                pWindowInfo->style,
     1577                pWindowInfo->pos.x,
     1578                pWindowInfo->pos.y,
     1579                pWindowInfo->size.cx,
     1580                pWindowInfo->size.cy);
    15811581            i2+=lstrlen(buffer+i2);
    15821582        }
     
    16231623    return i2;
    16241624}
    1625 void SaveWindowFile( char *path, const std::vector<WINDOW_INFO> &windowInfos )
     1625void SaveWindowFile( char *path, const WindowInfos &windowInfos )
    16261626{
    16271627    extern HANDLE hHeap;
     
    16331633    buffer=(char *)HeapAlloc(hHeap,0,GENERAL_SIZE*size);
    16341634    i2=0;
    1635     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     1635    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    16361636    {
    1637         sprintf(buffer+i2,"WINDOW:%s\r\n",windowInfo.name);
    1638         i2+=lstrlen(buffer+i2);
    1639         sprintf(buffer+i2,"    HANDLE    = %s\r\n",windowInfo.HandleName);
    1640         i2+=lstrlen(buffer+i2);
    1641         sprintf(buffer+i2,"    POINT     = %d,%d\r\n",windowInfo.pos.x,windowInfo.pos.y);
    1642         i2+=lstrlen(buffer+i2);
    1643         sprintf(buffer+i2,"    SIZE      = %d,%d\r\n",windowInfo.size.cx,windowInfo.size.cy);
    1644         i2+=lstrlen(buffer+i2);
    1645         sprintf(buffer+i2,"    CAPTION   = \"%s\"\r\n",windowInfo.caption);
    1646         i2+=lstrlen(buffer+i2);
    1647         sprintf(buffer+i2,"    STYLE     = &H%08x\r\n",windowInfo.style);
    1648         i2+=lstrlen(buffer+i2);
    1649         sprintf(buffer+i2,"    EXSTYLE   = &H%08x\r\n",windowInfo.ExStyle);
    1650         i2+=lstrlen(buffer+i2);
    1651         if(windowInfo.MenuID){
    1652             sprintf(buffer+i2,"    MENUID    = %s\r\n",windowInfo.MenuID);
    1653             i2+=lstrlen(buffer+i2);
    1654         }
    1655         sprintf(buffer+i2,"    ID        = %d\r\n",windowInfo.id);
    1656         i2+=lstrlen(buffer+i2);
    1657         sprintf(buffer+i2,"    BGCOLOR   = %d\r\n",windowInfo.bgColor);
     1637        sprintf(buffer+i2,"WINDOW:%s\r\n",pWindowInfo->name);
     1638        i2+=lstrlen(buffer+i2);
     1639        sprintf(buffer+i2,"    HANDLE    = %s\r\n",pWindowInfo->HandleName);
     1640        i2+=lstrlen(buffer+i2);
     1641        sprintf(buffer+i2,"    POINT     = %d,%d\r\n",pWindowInfo->pos.x,pWindowInfo->pos.y);
     1642        i2+=lstrlen(buffer+i2);
     1643        sprintf(buffer+i2,"    SIZE      = %d,%d\r\n",pWindowInfo->size.cx,pWindowInfo->size.cy);
     1644        i2+=lstrlen(buffer+i2);
     1645        sprintf(buffer+i2,"    CAPTION   = \"%s\"\r\n",pWindowInfo->caption);
     1646        i2+=lstrlen(buffer+i2);
     1647        sprintf(buffer+i2,"    STYLE     = &H%08x\r\n",pWindowInfo->style);
     1648        i2+=lstrlen(buffer+i2);
     1649        sprintf(buffer+i2,"    EXSTYLE   = &H%08x\r\n",pWindowInfo->ExStyle);
     1650        i2+=lstrlen(buffer+i2);
     1651        if(pWindowInfo->MenuID){
     1652            sprintf(buffer+i2,"    MENUID    = %s\r\n",pWindowInfo->MenuID);
     1653            i2+=lstrlen(buffer+i2);
     1654        }
     1655        sprintf(buffer+i2,"    ID        = %d\r\n",pWindowInfo->id);
     1656        i2+=lstrlen(buffer+i2);
     1657        sprintf(buffer+i2,"    BGCOLOR   = %d\r\n",pWindowInfo->bgColor);
    16581658        i2+=lstrlen(buffer+i2);
    16591659        sprintf(buffer+i2,"    FONT      = %d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,\"%s\"\r\n",
    1660             windowInfo.LogFont.lfHeight,
    1661             windowInfo.LogFont.lfWidth,
    1662             windowInfo.LogFont.lfEscapement,
    1663             windowInfo.LogFont.lfOrientation,
    1664             windowInfo.LogFont.lfWeight,
    1665             windowInfo.LogFont.lfItalic,
    1666             windowInfo.LogFont.lfUnderline,
    1667             windowInfo.LogFont.lfStrikeOut,
    1668             windowInfo.LogFont.lfCharSet,
    1669             windowInfo.LogFont.lfOutPrecision,
    1670             windowInfo.LogFont.lfClipPrecision,
    1671             windowInfo.LogFont.lfQuality,
    1672             windowInfo.LogFont.lfPitchAndFamily,
    1673             windowInfo.LogFont.lfFaceName);
    1674         i2+=lstrlen(buffer+i2);
    1675         if(windowInfo.IconResName){
    1676             sprintf(buffer+i2,"    ICONID    = %s\r\n",windowInfo.IconResName);
    1677             i2+=lstrlen(buffer+i2);
    1678         }
    1679         sprintf(buffer+i2,"    CLASS     = \"%s\"\r\n",windowInfo.ClassName);
    1680         i2+=lstrlen(buffer+i2);
    1681         sprintf(buffer+i2,"    CALLBACK  = %s\r\n",windowInfo.CallBackName);
    1682         i2+=lstrlen(buffer+i2);
    1683         sprintf(buffer+i2,"    TYPE      = %d\r\n",windowInfo.type);
    1684         i2+=lstrlen(buffer+i2);
    1685         sprintf(buffer+i2,"    FILEPATH  = %s\r\n",windowInfo.filepath);
    1686         i2+=lstrlen(buffer+i2);
    1687         for(i3=0;i3<windowInfo.NumberOfChildWindows;i3++){
    1688             temporary=SetCaptionSequence(windowInfo.pChildInfo[i3].caption);
     1660            pWindowInfo->LogFont.lfHeight,
     1661            pWindowInfo->LogFont.lfWidth,
     1662            pWindowInfo->LogFont.lfEscapement,
     1663            pWindowInfo->LogFont.lfOrientation,
     1664            pWindowInfo->LogFont.lfWeight,
     1665            pWindowInfo->LogFont.lfItalic,
     1666            pWindowInfo->LogFont.lfUnderline,
     1667            pWindowInfo->LogFont.lfStrikeOut,
     1668            pWindowInfo->LogFont.lfCharSet,
     1669            pWindowInfo->LogFont.lfOutPrecision,
     1670            pWindowInfo->LogFont.lfClipPrecision,
     1671            pWindowInfo->LogFont.lfQuality,
     1672            pWindowInfo->LogFont.lfPitchAndFamily,
     1673            pWindowInfo->LogFont.lfFaceName);
     1674        i2+=lstrlen(buffer+i2);
     1675        if(pWindowInfo->IconResName){
     1676            sprintf(buffer+i2,"    ICONID    = %s\r\n",pWindowInfo->IconResName);
     1677            i2+=lstrlen(buffer+i2);
     1678        }
     1679        sprintf(buffer+i2,"    CLASS     = \"%s\"\r\n",pWindowInfo->ClassName);
     1680        i2+=lstrlen(buffer+i2);
     1681        sprintf(buffer+i2,"    CALLBACK  = %s\r\n",pWindowInfo->CallBackName);
     1682        i2+=lstrlen(buffer+i2);
     1683        sprintf(buffer+i2,"    TYPE      = %d\r\n",pWindowInfo->type);
     1684        i2+=lstrlen(buffer+i2);
     1685        sprintf(buffer+i2,"    FILEPATH  = %s\r\n",pWindowInfo->filepath);
     1686        i2+=lstrlen(buffer+i2);
     1687        for(i3=0;i3<pWindowInfo->NumberOfChildWindows;i3++){
     1688            temporary=SetCaptionSequence(pWindowInfo->pChildInfo[i3].caption);
    16891689            sprintf(buffer+i2,"    ITEM      = %s,%d,%d,%d,%d,\"%s\",&H%08x,&H%08x,%d",
    1690                 windowInfo.pChildInfo[i3].IdName,
    1691                 windowInfo.pChildInfo[i3].pos.x,windowInfo.pChildInfo[i3].pos.y,
    1692                 windowInfo.pChildInfo[i3].size.cx,windowInfo.pChildInfo[i3].size.cy,
     1690                pWindowInfo->pChildInfo[i3].IdName,
     1691                pWindowInfo->pChildInfo[i3].pos.x,pWindowInfo->pChildInfo[i3].pos.y,
     1692                pWindowInfo->pChildInfo[i3].size.cx,pWindowInfo->pChildInfo[i3].size.cy,
    16931693                temporary,
    1694                 windowInfo.pChildInfo[i3].style,
    1695                 windowInfo.pChildInfo[i3].ExStyle,
    1696                 windowInfo.pChildInfo[i3].Control
     1694                pWindowInfo->pChildInfo[i3].style,
     1695                pWindowInfo->pChildInfo[i3].ExStyle,
     1696                pWindowInfo->pChildInfo[i3].Control
    16971697            );
    16981698            i2+=lstrlen(buffer+i2);
    16991699            HeapDefaultFree(temporary);
    1700             if(windowInfo.pChildInfo[i3].Control==CT_IMAGEBOX){
    1701                 sprintf(buffer+i2,",%d,\"%s\"",windowInfo.pChildInfo[i3].ImageCtrlInfo.type,windowInfo.pChildInfo[i3].ImageCtrlInfo.path);
     1700            if(pWindowInfo->pChildInfo[i3].Control==CT_IMAGEBOX){
     1701                sprintf(buffer+i2,",%d,\"%s\"",pWindowInfo->pChildInfo[i3].ImageCtrlInfo.type,pWindowInfo->pChildInfo[i3].ImageCtrlInfo.path);
    17021702                i2+=lstrlen(buffer+i2);
    17031703            }
     
    17091709            }
    17101710        }
    1711         sprintf(buffer+i2,"END\r\n",windowInfo.name);
     1711        sprintf(buffer+i2,"END\r\n",pWindowInfo->name);
    17121712        i2+=lstrlen(buffer+i2);
    17131713        if(i2-GENERAL_SIZE<GENERAL_SIZE){
     
    17201720        i2+=lstrlen(buffer+i2);
    17211721        i2+=GetSaveMenuData(buffer+i2,1,ProjectInfo.pMenuInfo[i].pMenuInfo,ProjectInfo.pMenuInfo[i].NumberOfMenu);
    1722         sprintf(buffer+i2,"END\r\n",windowInfos[i].name);
     1722        sprintf(buffer+i2,"END\r\n",windowInfos[i]->name);
    17231723        i2+=lstrlen(buffer+i2);
    17241724        if(i2-GENERAL_SIZE<GENERAL_SIZE){
     
    18411841    ProjectInfo.pMenuInfo=(MENU_INFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1);
    18421842
    1843     ProjectInfo.windowInfos.clear();
     1843    ProjectInfo.windowInfos.Clear();
    18441844
    18451845    for(i=0,i3=0;;i++){
     
    18761876            //ウィンドウ
    18771877            if(lstrcmpi(temporary,"WINDOW")==0&&i3==0){
    1878                 ProjectInfo.windowInfos.push_back( WINDOW_INFO() );
     1878                ProjectInfo.windowInfos.push_back( new WindowInfo() );
    18791879                i3=1;
    18801880
    1881                 ProjectInfo.windowInfos.back().name=(char *)HeapAlloc(hHeap,0,i2+1);
    1882                 lstrcpy(ProjectInfo.windowInfos.back().name,temp2);
    1883 
    1884                 ProjectInfo.windowInfos.back().NumberOfChildWindows=0;
    1885                 ProjectInfo.windowInfos.back().pChildInfo=(CHILDINFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1);
     1881                ProjectInfo.windowInfos.back()->name=(char *)HeapAlloc(hHeap,0,i2+1);
     1882                lstrcpy(ProjectInfo.windowInfos.back()->name,temp2);
     1883
     1884                ProjectInfo.windowInfos.back()->NumberOfChildWindows=0;
     1885                ProjectInfo.windowInfos.back()->pChildInfo=(CHILDINFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1);
    18861886            }
    18871887            else if(lstrcmpi(temporary,"HANDLE")==0&&i3==1){
    1888                 ProjectInfo.windowInfos.back().HandleName=(char *)HeapAlloc(hHeap,0,i2+1);
    1889                 lstrcpy(ProjectInfo.windowInfos.back().HandleName,temp2);
     1888                ProjectInfo.windowInfos.back()->HandleName=(char *)HeapAlloc(hHeap,0,i2+1);
     1889                lstrcpy(ProjectInfo.windowInfos.back()->HandleName,temp2);
    18901890            }
    18911891            else if(lstrcmpi(temporary,"POINT")==0&&i3==1){
    18921892                sscanf(temp2,"%d,%d",
    1893                     &ProjectInfo.windowInfos.back().pos.x,
    1894                     &ProjectInfo.windowInfos.back().pos.y);
    1895                 if(ProjectInfo.windowInfos.back().pos.x==-1) ProjectInfo.windowInfos.back().pos.x=CW_USEDEFAULT;
    1896                 if(ProjectInfo.windowInfos.back().pos.y==-1) ProjectInfo.windowInfos.back().pos.y=CW_USEDEFAULT;
     1893                    &ProjectInfo.windowInfos.back()->pos.x,
     1894                    &ProjectInfo.windowInfos.back()->pos.y);
     1895                if(ProjectInfo.windowInfos.back()->pos.x==-1) ProjectInfo.windowInfos.back()->pos.x=CW_USEDEFAULT;
     1896                if(ProjectInfo.windowInfos.back()->pos.y==-1) ProjectInfo.windowInfos.back()->pos.y=CW_USEDEFAULT;
    18971897            }
    18981898            else if(lstrcmpi(temporary,"SIZE")==0&&i3==1){
    18991899                sscanf(temp2,"%d,%d",
    1900                     &ProjectInfo.windowInfos.back().size.cx,
    1901                     &ProjectInfo.windowInfos.back().size.cy);
     1900                    &ProjectInfo.windowInfos.back()->size.cx,
     1901                    &ProjectInfo.windowInfos.back()->size.cy);
    19021902            }
    19031903            else if(lstrcmpi(temporary,"CAPTION")==0&&i3==1){
    19041904                if(temp2[0]=='\"'&&temp2[lstrlen(temp2)-1]=='\"'){
    19051905                    temp2[lstrlen(temp2)-1]=0;
    1906                     ProjectInfo.windowInfos.back().caption=(char *)HeapAlloc(hHeap,0,i2+1);
    1907                     lstrcpy(ProjectInfo.windowInfos.back().caption,temp2+1);
     1906                    ProjectInfo.windowInfos.back()->caption=(char *)HeapAlloc(hHeap,0,i2+1);
     1907                    lstrcpy(ProjectInfo.windowInfos.back()->caption,temp2+1);
    19081908                }
    19091909            }
    1910             else if(lstrcmpi(temporary,"STYLE")==0&&i3==1) ProjectInfo.windowInfos.back().style=GetValue(temp2);
    1911             else if(lstrcmpi(temporary,"EXSTYLE")==0&&i3==1) ProjectInfo.windowInfos.back().ExStyle=GetValue(temp2);
     1910            else if(lstrcmpi(temporary,"STYLE")==0&&i3==1) ProjectInfo.windowInfos.back()->style=GetValue(temp2);
     1911            else if(lstrcmpi(temporary,"EXSTYLE")==0&&i3==1) ProjectInfo.windowInfos.back()->ExStyle=GetValue(temp2);
    19121912            else if(lstrcmpi(temporary,"MENUID")==0&&i3==1){
    1913                 ProjectInfo.windowInfos.back().MenuID=(char *)HeapAlloc(hHeap,0,i2+1);
    1914                 lstrcpy(ProjectInfo.windowInfos.back().MenuID,temp2);
    1915             }
    1916             else if(lstrcmpi(temporary,"ID")==0&&i3==1) ProjectInfo.windowInfos.back().id=GetValue(temp2);
     1913                ProjectInfo.windowInfos.back()->MenuID=(char *)HeapAlloc(hHeap,0,i2+1);
     1914                lstrcpy(ProjectInfo.windowInfos.back()->MenuID,temp2);
     1915            }
     1916            else if(lstrcmpi(temporary,"ID")==0&&i3==1) ProjectInfo.windowInfos.back()->id=GetValue(temp2);
    19171917            else if(lstrcmpi(temporary,"BGCOLOR")==0&&i3==1){
    1918                 ProjectInfo.windowInfos.back().bgColor=GetValue(temp2);
     1918                ProjectInfo.windowInfos.back()->bgColor=GetValue(temp2);
    19191919                if(ProjectInfo.dwVersion<=3){
    19201920                    //プロジェクトバージョンが3以前のときは新値に変換する
    1921                     if(ProjectInfo.windowInfos.back().bgColor==-1)
    1922                         ProjectInfo.windowInfos.back().bgColor=-(int)RGB(255,255,255);
     1921                    if(ProjectInfo.windowInfos.back()->bgColor==-1)
     1922                        ProjectInfo.windowInfos.back()->bgColor=-(int)RGB(255,255,255);
    19231923                }
    19241924            }
    19251925            else if(lstrcmpi(temporary,"FONT")==0&&i3==1){
    19261926                i5=GetOneParameter(temp2,0,temp3);
    1927                 ProjectInfo.windowInfos.back().LogFont.lfHeight=GetValue(temp3);
     1927                ProjectInfo.windowInfos.back()->LogFont.lfHeight=GetValue(temp3);
    19281928
    19291929                i5=GetOneParameter(temp2,i5,temp3);
    1930                 ProjectInfo.windowInfos.back().LogFont.lfWidth=GetValue(temp3);
     1930                ProjectInfo.windowInfos.back()->LogFont.lfWidth=GetValue(temp3);
    19311931
    19321932                i5=GetOneParameter(temp2,i5,temp3);
    1933                 ProjectInfo.windowInfos.back().LogFont.lfEscapement=GetValue(temp3);
     1933                ProjectInfo.windowInfos.back()->LogFont.lfEscapement=GetValue(temp3);
    19341934
    19351935                i5=GetOneParameter(temp2,i5,temp3);
    1936                 ProjectInfo.windowInfos.back().LogFont.lfOrientation=GetValue(temp3);
     1936                ProjectInfo.windowInfos.back()->LogFont.lfOrientation=GetValue(temp3);
    19371937
    19381938                i5=GetOneParameter(temp2,i5,temp3);
    1939                 ProjectInfo.windowInfos.back().LogFont.lfWeight=GetValue(temp3);
     1939                ProjectInfo.windowInfos.back()->LogFont.lfWeight=GetValue(temp3);
    19401940
    19411941                i5=GetOneParameter(temp2,i5,temp3);
    1942                 ProjectInfo.windowInfos.back().LogFont.lfItalic=(BYTE)GetValue(temp3);
     1942                ProjectInfo.windowInfos.back()->LogFont.lfItalic=(BYTE)GetValue(temp3);
    19431943
    19441944                i5=GetOneParameter(temp2,i5,temp3);
    1945                 ProjectInfo.windowInfos.back().LogFont.lfUnderline=(BYTE)GetValue(temp3);
     1945                ProjectInfo.windowInfos.back()->LogFont.lfUnderline=(BYTE)GetValue(temp3);
    19461946
    19471947                i5=GetOneParameter(temp2,i5,temp3);
    1948                 ProjectInfo.windowInfos.back().LogFont.lfStrikeOut=(BYTE)GetValue(temp3);
     1948                ProjectInfo.windowInfos.back()->LogFont.lfStrikeOut=(BYTE)GetValue(temp3);
    19491949
    19501950                i5=GetOneParameter(temp2,i5,temp3);
    1951                 ProjectInfo.windowInfos.back().LogFont.lfCharSet=(BYTE)GetValue(temp3);
     1951                ProjectInfo.windowInfos.back()->LogFont.lfCharSet=(BYTE)GetValue(temp3);
    19521952
    19531953                i5=GetOneParameter(temp2,i5,temp3);
    1954                 ProjectInfo.windowInfos.back().LogFont.lfOutPrecision=(BYTE)GetValue(temp3);
     1954                ProjectInfo.windowInfos.back()->LogFont.lfOutPrecision=(BYTE)GetValue(temp3);
    19551955
    19561956                i5=GetOneParameter(temp2,i5,temp3);
    1957                 ProjectInfo.windowInfos.back().LogFont.lfClipPrecision=(BYTE)GetValue(temp3);
     1957                ProjectInfo.windowInfos.back()->LogFont.lfClipPrecision=(BYTE)GetValue(temp3);
    19581958
    19591959                i5=GetOneParameter(temp2,i5,temp3);
    1960                 ProjectInfo.windowInfos.back().LogFont.lfQuality=(BYTE)GetValue(temp3);
     1960                ProjectInfo.windowInfos.back()->LogFont.lfQuality=(BYTE)GetValue(temp3);
    19611961
    19621962                i5=GetOneParameter(temp2,i5,temp3);
    1963                 ProjectInfo.windowInfos.back().LogFont.lfPitchAndFamily=(BYTE)GetValue(temp3);
     1963                ProjectInfo.windowInfos.back()->LogFont.lfPitchAndFamily=(BYTE)GetValue(temp3);
    19641964
    19651965                i5=GetOneParameter(temp2,i5,temp3);
    19661966                RemoveStringQuotes(temp3);
    1967                 lstrcpy(ProjectInfo.windowInfos.back().LogFont.lfFaceName,temp3);
     1967                lstrcpy(ProjectInfo.windowInfos.back()->LogFont.lfFaceName,temp3);
    19681968            }
    19691969            else if(lstrcmpi(temporary,"ICONID")==0&&i3==1){
    1970                 ProjectInfo.windowInfos.back().IconResName=(char *)HeapAlloc(hHeap,0,i2+1);
    1971                 lstrcpy(ProjectInfo.windowInfos.back().IconResName,temp2);
     1970                ProjectInfo.windowInfos.back()->IconResName=(char *)HeapAlloc(hHeap,0,i2+1);
     1971                lstrcpy(ProjectInfo.windowInfos.back()->IconResName,temp2);
    19721972            }
    19731973            else if(lstrcmpi(temporary,"CLASS")==0&&i3==1){
    19741974                if(temp2[0]=='\"'&&temp2[lstrlen(temp2)-1]=='\"'){
    19751975                    temp2[lstrlen(temp2)-1]=0;
    1976                     ProjectInfo.windowInfos.back().ClassName=(char *)HeapAlloc(hHeap,0,i2+1);
    1977                     lstrcpy(ProjectInfo.windowInfos.back().ClassName,temp2+1);
     1976                    ProjectInfo.windowInfos.back()->ClassName=(char *)HeapAlloc(hHeap,0,i2+1);
     1977                    lstrcpy(ProjectInfo.windowInfos.back()->ClassName,temp2+1);
    19781978                }
    19791979            }
    19801980            else if(lstrcmpi(temporary,"CALLBACK")==0&&i3==1){
    1981                 ProjectInfo.windowInfos.back().CallBackName=(char *)HeapAlloc(hHeap,0,i2+1);
    1982                 lstrcpy(ProjectInfo.windowInfos.back().CallBackName,temp2);
     1981                ProjectInfo.windowInfos.back()->CallBackName=(char *)HeapAlloc(hHeap,0,i2+1);
     1982                lstrcpy(ProjectInfo.windowInfos.back()->CallBackName,temp2);
    19831983            }
    19841984
    19851985            //以前のバージョンとの互換用
    1986             else if(lstrcmpi(temporary,"DLGTMP")==0&&i3==1) ProjectInfo.windowInfos.back().type=GetValue(temp2);
    1987 
    1988             else if(lstrcmpi(temporary,"TYPE")==0&&i3==1) ProjectInfo.windowInfos.back().type=GetValue(temp2);
     1986            else if(lstrcmpi(temporary,"DLGTMP")==0&&i3==1) ProjectInfo.windowInfos.back()->type=GetValue(temp2);
     1987
     1988            else if(lstrcmpi(temporary,"TYPE")==0&&i3==1) ProjectInfo.windowInfos.back()->type=GetValue(temp2);
    19891989            else if(lstrcmpi(temporary,"FILEPATH")==0&&i3==1){
    1990                 ProjectInfo.windowInfos.back().filepath=(char *)HeapAlloc(hHeap,0,i2+1);
    1991                 lstrcpy(ProjectInfo.windowInfos.back().filepath,temp2);
     1990                ProjectInfo.windowInfos.back()->filepath=(char *)HeapAlloc(hHeap,0,i2+1);
     1991                lstrcpy(ProjectInfo.windowInfos.back()->filepath,temp2);
    19921992            }
    19931993            else if(lstrcmpi(temporary,"ITEM")==0&&i3==1){
    1994                 ProjectInfo.windowInfos.back().pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,HEAP_ZERO_MEMORY,ProjectInfo.windowInfos.back().pChildInfo,(ProjectInfo.windowInfos.back().NumberOfChildWindows+1)*sizeof(CHILDINFO));
    1995                 pChildInfo=&ProjectInfo.windowInfos.back().pChildInfo[ProjectInfo.windowInfos.back().NumberOfChildWindows];
     1994                ProjectInfo.windowInfos.back()->pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,HEAP_ZERO_MEMORY,ProjectInfo.windowInfos.back()->pChildInfo,(ProjectInfo.windowInfos.back()->NumberOfChildWindows+1)*sizeof(CHILDINFO));
     1995                pChildInfo=&ProjectInfo.windowInfos.back()->pChildInfo[ProjectInfo.windowInfos.back()->NumberOfChildWindows];
    19961996
    19971997                //ID
     
    20392039                }
    20402040
    2041                 ProjectInfo.windowInfos.back().NumberOfChildWindows++;
     2041                ProjectInfo.windowInfos.back()->NumberOfChildWindows++;
    20422042            }
    20432043
     
    21762176        return;
    21772177    }
    2178     BOOST_FOREACH( WINDOW_INFO &windowInfo, ProjectInfo.windowInfos )
     2178    BOOST_FOREACH( WindowInfo *pWindowInfo, ProjectInfo.windowInfos )
    21792179    {
    2180         if(lstrcmpi(NewWindow.name,windowInfo.name)==0){
     2180        if(lstrcmpi(NewWindow.name,pWindowInfo->name)==0){
    21812181            //"\"%s\" ウィンドウは既にプロジェクト内に存在します。"
    2182             sprintf(temporary,STRING_DUPLICATIONERROR_WINDOW_IN_PROJECT,windowInfo.name);
     2182            sprintf(temporary,STRING_DUPLICATIONERROR_WINDOW_IN_PROJECT,pWindowInfo->name);
    21832183            MessageBox(hOwner,temporary,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION);
    21842184            return;
    21852185        }
    2186         if(lstrcmpi(NewWindow.HandleName,windowInfo.HandleName)==0){
     2186        if(lstrcmpi(NewWindow.HandleName,pWindowInfo->HandleName)==0){
    21872187            //"\"%s\" ハンドルは既にプロジェクト内に存在します。"
    2188             sprintf(temporary,STRING_DUPLICATIONERROR_HANDLE_IN_PROJECT,windowInfo.HandleName);
     2188            sprintf(temporary,STRING_DUPLICATIONERROR_HANDLE_IN_PROJECT,pWindowInfo->HandleName);
    21892189            MessageBox(hOwner,temporary,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION);
    21902190            return;
    21912191        }
    2192         if(lstrcmpi(NewWindow.CallBackName,windowInfo.CallBackName)==0){
     2192        if(lstrcmpi(NewWindow.CallBackName,pWindowInfo->CallBackName)==0){
    21932193            //"\"%s\" プロシージャは既にプロジェクト内に存在します。"
    2194             sprintf(temporary,STRING_DUPLICATIONERROR_PROC_IN_PROJECT,windowInfo.CallBackName);
     2194            sprintf(temporary,STRING_DUPLICATIONERROR_PROC_IN_PROJECT,pWindowInfo->CallBackName);
    21952195            MessageBox(hOwner,temporary,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION);
    21962196            return;
     
    21992199
    22002200    //ProjectInfo.windowInfos構造体コレクションに追加
    2201     ProjectInfo.windowInfos.push_back( WINDOW_INFO() );
     2201    ProjectInfo.windowInfos.push_back( new WindowInfo() );
    22022202
    22032203
     
    22062206
    22072207    //ウィンドウ名
    2208     ProjectInfo.windowInfos.back().name=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.name)+1);
    2209     lstrcpy(ProjectInfo.windowInfos.back().name,NewWindow.name);
     2208    ProjectInfo.windowInfos.back()->name=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.name)+1);
     2209    lstrcpy(ProjectInfo.windowInfos.back()->name,NewWindow.name);
    22102210
    22112211    //ハンドル名
    2212     ProjectInfo.windowInfos.back().HandleName=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.HandleName)+1);
    2213     lstrcpy(ProjectInfo.windowInfos.back().HandleName,NewWindow.HandleName);
     2212    ProjectInfo.windowInfos.back()->HandleName=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.HandleName)+1);
     2213    lstrcpy(ProjectInfo.windowInfos.back()->HandleName,NewWindow.HandleName);
    22142214
    22152215    //位置情報
    2216     ProjectInfo.windowInfos.back().pos.x=-1;
    2217     ProjectInfo.windowInfos.back().pos.y=-1;
    2218     ProjectInfo.windowInfos.back().size.cx=480;
    2219     ProjectInfo.windowInfos.back().size.cy=360;
     2216    ProjectInfo.windowInfos.back()->pos.x=-1;
     2217    ProjectInfo.windowInfos.back()->pos.y=-1;
     2218    ProjectInfo.windowInfos.back()->size.cx=480;
     2219    ProjectInfo.windowInfos.back()->size.cy=360;
    22202220
    22212221    //ウィンドウテキスト
    2222     ProjectInfo.windowInfos.back().caption=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.name)+1);
    2223     lstrcpy(ProjectInfo.windowInfos.back().caption,NewWindow.name);
     2222    ProjectInfo.windowInfos.back()->caption=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.name)+1);
     2223    lstrcpy(ProjectInfo.windowInfos.back()->caption,NewWindow.name);
    22242224
    22252225    //スタイル
     
    22272227        case WNDTYPE_DEFAULT:
    22282228            //通常ウィンドウ
    2229             ProjectInfo.windowInfos.back().style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX;
     2229            ProjectInfo.windowInfos.back()->style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX;
    22302230            break;
    22312231        case WNDTYPE_MODALDLG:
    22322232        case WNDTYPE_MODELESSDLG:
    22332233            //ダイアログ テンプレート(最大化、最小化ボタンをなくして、細枠にする)
    2234             ProjectInfo.windowInfos.back().style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU;
     2234            ProjectInfo.windowInfos.back()->style=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU;
    22352235            break;
    22362236    }
    22372237
    22382238    //拡張スタイル
    2239     ProjectInfo.windowInfos.back().ExStyle=0;
     2239    ProjectInfo.windowInfos.back()->ExStyle=0;
    22402240
    22412241    //メニュー
    2242     ProjectInfo.windowInfos.back().MenuID=0;
     2242    ProjectInfo.windowInfos.back()->MenuID=0;
    22432243
    22442244    //ID
    2245     ProjectInfo.windowInfos.back().id=0;
     2245    ProjectInfo.windowInfos.back()->id=0;
    22462246
    22472247    //背景色
    2248     ProjectInfo.windowInfos.back().bgColor=COLOR_3DFACE;
     2248    ProjectInfo.windowInfos.back()->bgColor=COLOR_3DFACE;
    22492249
    22502250    //フォント
    2251     GetDefaultWindowFont(&ProjectInfo.windowInfos.back().LogFont);
     2251    GetDefaultWindowFont(&ProjectInfo.windowInfos.back()->LogFont);
    22522252
    22532253    //アイコン
    2254     ProjectInfo.windowInfos.back().IconResName=0;
     2254    ProjectInfo.windowInfos.back()->IconResName=0;
    22552255
    22562256    //クラス名
    22572257    lstrcpy(temporary,"NORMAL");
    2258     ProjectInfo.windowInfos.back().ClassName=(char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
    2259     lstrcpy(ProjectInfo.windowInfos.back().ClassName,temporary);
     2258    ProjectInfo.windowInfos.back()->ClassName=(char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
     2259    lstrcpy(ProjectInfo.windowInfos.back()->ClassName,temporary);
    22602260
    22612261    //コールバック関数名
    2262     ProjectInfo.windowInfos.back().CallBackName=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.CallBackName)+1);
    2263     lstrcpy(ProjectInfo.windowInfos.back().CallBackName,NewWindow.CallBackName);
     2262    ProjectInfo.windowInfos.back()->CallBackName=(char *)HeapAlloc(hHeap,0,lstrlen(NewWindow.CallBackName)+1);
     2263    lstrcpy(ProjectInfo.windowInfos.back()->CallBackName,NewWindow.CallBackName);
    22642264
    22652265    //タイプ識別
    2266     ProjectInfo.windowInfos.back().type=NewWindow.type;
     2266    ProjectInfo.windowInfos.back()->type=NewWindow.type;
    22672267
    22682268    //子ウィンドウ情報
    2269     ProjectInfo.windowInfos.back().NumberOfChildWindows=0;
    2270     ProjectInfo.windowInfos.back().pChildInfo=(CHILDINFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1);
     2269    ProjectInfo.windowInfos.back()->NumberOfChildWindows=0;
     2270    ProjectInfo.windowInfos.back()->pChildInfo=(CHILDINFO *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,1);
    22712271
    22722272
    22732273    //メッセージ処理ファイル名
    2274     sprintf(temporary,"%s.ab",ProjectInfo.windowInfos.back().name);
    2275     ProjectInfo.windowInfos.back().filepath=(char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
    2276     lstrcpy(ProjectInfo.windowInfos.back().filepath,temporary);
     2274    sprintf(temporary,"%s.ab",ProjectInfo.windowInfos.back()->name);
     2275    ProjectInfo.windowInfos.back()->filepath=(char *)HeapAlloc(hHeap,0,lstrlen(temporary)+1);
     2276    lstrcpy(ProjectInfo.windowInfos.back()->filepath,temporary);
    22772277
    22782278
     
    22922292        NewWindow.CallBackName);
    22932293
    2294     sprintf(temporary,"%s%s.ab",ProjectInfo.dir,ProjectInfo.windowInfos.back().name);
     2294    sprintf(temporary,"%s%s.ab",ProjectInfo.dir,ProjectInfo.windowInfos.back()->name);
    22952295
    22962296    //書き込み
     
    23112311    tv.item.iSelectedImage=2;
    23122312    tv.hParent=ProjectInfo.hWindowTreeItem;
    2313     tv.item.pszText=ProjectInfo.windowInfos.back().name;
    2314 
    2315     ProjectInfo.windowInfos.back().hTreeItem=TreeView_InsertItem(hMaterialTreeView,&tv);
    2316 
    2317     TreeView_SelectItem(hMaterialTreeView,ProjectInfo.windowInfos.back().hTreeItem);
     2313    tv.item.pszText=ProjectInfo.windowInfos.back()->name;
     2314
     2315    ProjectInfo.windowInfos.back()->hTreeItem=TreeView_InsertItem(hMaterialTreeView,&tv);
     2316
     2317    TreeView_SelectItem(hMaterialTreeView,ProjectInfo.windowInfos.back()->hTreeItem);
    23182318
    23192319
    23202320    ProjectInfo.ModifyOfMaterial=1;
    23212321
    2322     NewRadWindow( ProjectInfo.windowInfos.back() );
     2322    NewRadWindow( *ProjectInfo.windowInfos.back() );
    23232323}
    23242324void Project_Window_Delete(int WndInfoNum){
     
    23272327    int i;
    23282328
    2329     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
     2329    WindowInfo *pWindowInfo = ProjectInfo.windowInfos[WndInfoNum];
    23302330
    23312331    //ウィンドウが開かれている場合は閉じる
     
    23572357
    23582358    //ProjectInfo.windowInfos構造体から削除
    2359     std::vector<WINDOW_INFO>::iterator it = ProjectInfo.windowInfos.begin();
    2360     for( int i=0; i!=WndInfoNum ;i++, it++ )
    2361     {
    2362     }
    2363     ProjectInfo.windowInfos.erase( it );
     2359    ProjectInfo.windowInfos.Erase( WndInfoNum );
    23642360
    23652361    ProjectInfo.ModifyOfMaterial=1;
  • trunk/ab5.0/abdev/abdev/abdev.cpp

    r609 r615  
    256256        ////////////////
    257257
    258         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
     258        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
    259259        if(RadInfo.NowDragging>=FRAME_CHANGEPOS_START&&RadInfo.NowDragging<=FRAME_CHANGEPOS_END){
    260260            sprintf(temporary,"pos %d, %d",
  • trunk/ab5.0/abdev/abdev/abdev.vcproj

    r608 r615  
    26822682                </File>
    26832683            </Filter>
     2684            <Filter
     2685                Name="ProjectManager"
     2686                >
     2687                <File
     2688                    RelativePath=".\src\ProjectManager\ProjectManager.cpp"
     2689                    >
     2690                </File>
     2691            </Filter>
    26842692        </Filter>
    26852693        <Filter
     
    27512759                </File>
    27522760                <File
    2753                     RelativePath=".\include\ProjectManager.h"
    2754                     >
    2755                 </File>
    2756                 <File
    27572761                    RelativePath=".\include\WindowAreaManager.h"
    27582762                    >
     
    27842788                <File
    27852789                    RelativePath=".\include\WindowComponents\TextView.h"
     2790                    >
     2791                </File>
     2792            </Filter>
     2793            <Filter
     2794                Name="ProjectManager"
     2795                >
     2796                <File
     2797                    RelativePath=".\include\ProjectManager\ProjectManager.h"
     2798                    >
     2799                </File>
     2800                <File
     2801                    RelativePath=".\include\ProjectManager\WindowManager.h"
    27862802                    >
    27872803                </File>
  • trunk/ab5.0/abdev/abdev/include/ProjectManager/ProjectManager.h

    r614 r615  
    1717    HTREEITEM hMenuTreeItem;
    1818
    19     std::vector<WINDOW_INFO> windowInfos;
     19    WindowInfos windowInfos;
    2020    HTREEITEM hWindowTreeItem;
    2121
  • trunk/ab5.0/abdev/abdev/src/MainFrame.cpp

    r609 r615  
    628628    }
    629629    else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){
    630         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
     630        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
    631631        int indexOfWndInfo = GetWndInfoNum(MdiInfo[WndNum].path);
    632632
     
    807807    }
    808808    else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){
    809         WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
     809        WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path);
    810810        for(int i3=0;i3<pWindowInfo->NumberOfChildWindows;i3++){
    811811            MdiInfo[WndNum].MdiRadInfo->SelectingItem[i3]=i3;
  • trunk/ab5.0/abdev/abdev/stdafx.h

    r613 r615  
    5252#include <MainFrame.h>
    5353#include <Program.h>
     54#include <ProjectManager/WindowManager.h>
    5455
    5556#include "Common.h"
    5657
    57 #include <ProjectManager.h>
     58#include <ProjectManager/ProjectManager.h>
Note: See TracChangeset for help on using the changeset viewer.