Ignore:
Timestamp:
May 19, 2008, 3:03:33 PM (16 years ago)
Author:
dai_9181
Message:

CHILDINFOの管理方法をstd::vectorに変更。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/abdev/RadSupport.cpp

    r615 r616  
    6060    }
    6161
    62     lphFont=(HFONT *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,pWindowInfo->NumberOfChildWindows*sizeof(DWORD));
    63     lphImage=(HANDLE *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,pWindowInfo->NumberOfChildWindows*sizeof(DWORD));
     62    lphFont=(HFONT *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,pWindowInfo->childWindowInfos.size()*sizeof(DWORD));
     63    lphImage=(HANDLE *)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,pWindowInfo->childWindowInfos.size()*sizeof(DWORD));
    6464
    6565    //テスト用のメインウィンドウを作成
     
    7373
    7474    //子ウィンドウ作成
    75     for(i2=0;i2<pWindowInfo->NumberOfChildWindows;i2++){
    76         if(pWindowInfo->pChildInfo[i2].Control==CT_UPDOWN){
     75    for(i2=0;i2<pWindowInfo->childWindowInfos.size();i2++){
     76        if(pWindowInfo->childWindowInfos[i2]->Control==CT_UPDOWN){
    7777            CreateUpDownControl(
    78                 pWindowInfo->pChildInfo[i2].style,
    79                 pWindowInfo->pChildInfo[i2].pos.x,pWindowInfo->pChildInfo[i2].pos.y,
    80                 pWindowInfo->pChildInfo[i2].size.cx,pWindowInfo->pChildInfo[i2].size.cy,
     78                pWindowInfo->childWindowInfos[i2]->style,
     79                pWindowInfo->childWindowInfos[i2]->pos.x,pWindowInfo->childWindowInfos[i2]->pos.y,
     80                pWindowInfo->childWindowInfos[i2]->size.cx,pWindowInfo->childWindowInfos[i2]->size.cy,
    8181                hWnd,0,hInst,
    8282                0,0,100,0);
    8383        }
    8484        else{
    85             GetItemClassName(temporary,pWindowInfo->pChildInfo[i2].Control);
     85            GetItemClassName(temporary,pWindowInfo->childWindowInfos[i2]->Control);
    8686            hChild=CreateWindowEx(
    87                 pWindowInfo->pChildInfo[i2].ExStyle,
     87                pWindowInfo->childWindowInfos[i2]->ExStyle,
    8888                temporary,
    89                 pWindowInfo->pChildInfo[i2].caption,
    90                 pWindowInfo->pChildInfo[i2].style,
    91                 pWindowInfo->pChildInfo[i2].pos.x,
    92                 pWindowInfo->pChildInfo[i2].pos.y,
    93                 pWindowInfo->pChildInfo[i2].size.cx,
    94                 pWindowInfo->pChildInfo[i2].size.cy,
     89                pWindowInfo->childWindowInfos[i2]->caption,
     90                pWindowInfo->childWindowInfos[i2]->style,
     91                pWindowInfo->childWindowInfos[i2]->pos.x,
     92                pWindowInfo->childWindowInfos[i2]->pos.y,
     93                pWindowInfo->childWindowInfos[i2]->size.cx,
     94                pWindowInfo->childWindowInfos[i2]->size.cy,
    9595                hWnd,0,hInst,0);
    9696
     
    9898            SendMessage(hChild,WM_SETFONT,(long)lphFont[i2],0);
    9999
    100             if(pWindowInfo->pChildInfo[i2].Control==CT_IMAGEBOX){
     100            if(pWindowInfo->childWindowInfos[i2]->Control==CT_IMAGEBOX){
    101101                ///////////////////////////
    102102                // イメージ ボックスの場合
    103103                ///////////////////////////
    104                 if((pWindowInfo->pChildInfo[i2].style&0x000F)==SS_ICON){
    105                     if(pWindowInfo->pChildInfo[i2].ImageCtrlInfo.type==IMGTYPE_FILE)
    106                         lstrcpy(temporary,pWindowInfo->pChildInfo[i2].ImageCtrlInfo.path);
     104                if((pWindowInfo->childWindowInfos[i2]->style&0x000F)==SS_ICON){
     105                    if(pWindowInfo->childWindowInfos[i2]->ImageCtrlInfo.type==IMGTYPE_FILE)
     106                        lstrcpy(temporary,pWindowInfo->childWindowInfos[i2]->ImageCtrlInfo.path);
    107107                    else{
    108108                        for(i3=0;i3<ProjectInfo.res.NumberOfIconRes;i3++){
    109                             if(lstrcmp(pWindowInfo->pChildInfo[i2].ImageCtrlInfo.path,
     109                            if(lstrcmp(pWindowInfo->childWindowInfos[i2]->ImageCtrlInfo.path,
    110110                                ProjectInfo.res.pIconResInfo[i3].IdName)==0) break;
    111111                        }
     
    120120                    }
    121121                }
    122                 else if((pWindowInfo->pChildInfo[i2].style&0x000F)==SS_BITMAP){
    123                     if(pWindowInfo->pChildInfo[i2].ImageCtrlInfo.type==IMGTYPE_FILE)
    124                         lstrcpy(temporary,pWindowInfo->pChildInfo[i2].ImageCtrlInfo.path);
     122                else if((pWindowInfo->childWindowInfos[i2]->style&0x000F)==SS_BITMAP){
     123                    if(pWindowInfo->childWindowInfos[i2]->ImageCtrlInfo.type==IMGTYPE_FILE)
     124                        lstrcpy(temporary,pWindowInfo->childWindowInfos[i2]->ImageCtrlInfo.path);
    125125                    else{
    126126                        for(i3=0;i3<ProjectInfo.res.NumberOfBitmapRes;i3++){
    127                             if(lstrcmp(pWindowInfo->pChildInfo[i2].ImageCtrlInfo.path,
     127                            if(lstrcmp(pWindowInfo->childWindowInfos[i2]->ImageCtrlInfo.path,
    128128                                ProjectInfo.res.pBitmapResInfo[i3].IdName)==0) break;
    129129                        }
     
    150150
    151151    //フォントハンドルを破棄
    152     for(i2=0;i2<pWindowInfo->NumberOfChildWindows;i2++){
     152    for(i2=0;i2<pWindowInfo->childWindowInfos.size();i2++){
    153153        if(lphFont[i2]) DeleteObject(lphFont[i2]);
    154154    }
     
    156156
    157157    //イメージハンドルを破棄
    158     for(i2=0;i2<pWindowInfo->NumberOfChildWindows;i2++){
     158    for(i2=0;i2<pWindowInfo->childWindowInfos.size();i2++){
    159159        if(lphImage[i2]){
    160             if((pWindowInfo->pChildInfo[i2].style&0x000F)==SS_ICON)
     160            if((pWindowInfo->childWindowInfos[i2]->style&0x000F)==SS_ICON)
    161161                DestroyIcon((HICON)lphImage[i2]);
    162             else if((pWindowInfo->pChildInfo[i2].style&0x000F)==SS_BITMAP)
     162            else if((pWindowInfo->childWindowInfos[i2]->style&0x000F)==SS_BITMAP)
    163163                DeleteObject(lphImage[i2]);
    164164        }
     
    237237            EnableWindow(GetDlgItem(hSupport,IDC_SPIN4),1);
    238238
    239             sprintf(temporary,"%d",windowInfo.pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.x);
     239            sprintf(temporary,"%d",windowInfo.childWindowInfos[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]]->pos.x);
    240240            SetDlgItemText(hSupport,IDC_XPOS,temporary);
    241241
    242             sprintf(temporary,"%d",windowInfo.pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.y);
     242            sprintf(temporary,"%d",windowInfo.childWindowInfos[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]]->pos.y);
    243243            SetDlgItemText(hSupport,IDC_YPOS,temporary);
    244244
    245             sprintf(temporary,"%d",windowInfo.pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].size.cx);
     245            sprintf(temporary,"%d",windowInfo.childWindowInfos[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]]->size.cx);
    246246            SetDlgItemText(hSupport,IDC_WIDTH,temporary);
    247247
    248             sprintf(temporary,"%d",windowInfo.pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].size.cy);
     248            sprintf(temporary,"%d",windowInfo.childWindowInfos[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]]->size.cy);
    249249            SetDlgItemText(hSupport,IDC_HEIGHT,temporary);
    250250        }
     
    306306            for(i3=0;;i3++){
    307307                if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break;
    308                 PointAndSize.pos=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos;
    309                 PointAndSize.size=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size;
     308                PointAndSize.pos=pWindowInfo->childWindowInfos[MdiInfo[i].MdiRadInfo->SelectingItem[i3]]->pos;
     309                PointAndSize.size=pWindowInfo->childWindowInfos[MdiInfo[i].MdiRadInfo->SelectingItem[i3]]->size;
    310310                Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize);
    311311            }
     
    315315                for(i3=0;;i3++){
    316316                    if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break;
    317                     pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x=atol(temporary);
     317                    pWindowInfo->childWindowInfos[MdiInfo[i].MdiRadInfo->SelectingItem[i3]]->pos.x=atol(temporary);
    318318                }
    319319            }
     
    323323                for(i3=0;;i3++){
    324324                    if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break;
    325                     pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y=atol(temporary);
     325                    pWindowInfo->childWindowInfos[MdiInfo[i].MdiRadInfo->SelectingItem[i3]]->pos.y=atol(temporary);
    326326                }
    327327            }
     
    334334                    for(i3=0;;i3++){
    335335                        if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break;
    336                         pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cx=atol(temporary);
     336                        pWindowInfo->childWindowInfos[MdiInfo[i].MdiRadInfo->SelectingItem[i3]]->size.cx=atol(temporary);
    337337                    }
    338338                }
     
    346346                    for(i3=0;;i3++){
    347347                        if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break;
    348                         pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cy=atol(temporary);
     348                        pWindowInfo->childWindowInfos[MdiInfo[i].MdiRadInfo->SelectingItem[i3]]->size.cy=atol(temporary);
    349349                    }
    350350                }
Note: See TracChangeset for help on using the changeset viewer.