Ignore:
Timestamp:
Jun 2, 2008, 11:50:24 PM (16 years ago)
Author:
dai_9181
Message:

MDIINFO構造体をリファクタリング。

File:
1 edited

Legend:

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

    r625 r629  
    1515    if(pRect->left<0) pRect->left=0;
    1616    if(pRect->top<0) pRect->top=0;
    17     if(pRect->left>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth)
    18         pRect->left=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth-1;
    19     if(pRect->top>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)
    20         pRect->top=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2-1;
     17    if(pRect->left>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth)
     18        pRect->left=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth-1;
     19    if(pRect->top>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2)
     20        pRect->top=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2-1;
    2121
    2222    if(pRect->right<0) pRect->right=0;
    2323    if(pRect->bottom<0) pRect->bottom=0;
    24     if(pRect->right>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth)
    25         pRect->right=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth-1;
    26     if(pRect->bottom>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)
    27         pRect->bottom=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2-1;
     24    if(pRect->right>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth)
     25        pRect->right=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth-1;
     26    if(pRect->bottom>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2)
     27        pRect->bottom=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2-1;
    2828}
    2929void GetZoomedPos(POINT *pPos){
     
    3535
    3636    if(x<0||y<0||
    37         x>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||
    38         y>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)
     37        x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth||
     38        y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2)
    3939        return;
    4040
     
    5252
    5353    //カラーテーブルを取得
    54     pRgbq=(RGBQUAD *)(MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));
    55 
    56     i2=(int)pow((double)2,(double)MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biBitCount);
     54    pRgbq=(RGBQUAD *)(MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));
     55
     56    i2=(int)pow((double)2,(double)MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biBitCount);
    5757    for(i=0;i<i2;i++){
    5858        if(ColorRef==RGB(pRgbq[i].rgbRed,pRgbq[i].rgbGreen,pRgbq[i].rgbBlue)) break;
     
    7474    //何も選択されていない場合は0を返す
    7575    sw=0;
    76     if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==0) return 0;
    77     if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==1){
     76    if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==0) return 0;
     77    if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==1){
    7878        IconEdit_SelectImage(WndNum);
    7979        sw=1;
    8080    }
    8181
    82     size.cx=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left+1;
    83     size.cy=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top+1;
    84 
    85     hDC=CreateCompatibleDC(MdiInfo[WndNum].MdiIconEditInfo->memdc);
     82    size.cx=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left+1;
     83    size.cy=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top+1;
     84
     85    hDC=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc);
    8686    hBmp=CreateCompatibleBitmap(
    87         MdiInfo[WndNum].MdiIconEditInfo->memdc,
     87        MdiInfo[WndNum]->MdiIconEditInfo->memdc,
    8888        size.cx,
    8989        size.cy);
     
    9191
    9292    BitBlt(hDC,0,0,size.cx,size.cy,
    93         MdiInfo[WndNum].MdiIconEditInfo->memdc,
    94         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left,
    95         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top,
     93        MdiInfo[WndNum]->MdiIconEditInfo->memdc,
     94        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left,
     95        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top,
    9696        SRCCOPY);
    9797
     
    9999
    100100    if(sw){
    101         DeleteObject(MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp);
    102         MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=1;
     101        DeleteObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp);
     102        MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=1;
    103103    }
    104104
     
    113113    BITMAP Bitmap;
    114114
    115     if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==2)
     115    if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==2)
    116116        IconEdit_PasteImage(WndNum);
    117117
    118118    GetObject(hBmp,sizeof(Bitmap),&Bitmap);
    119119
    120     hDC=CreateCompatibleDC(MdiInfo[WndNum].MdiIconEditInfo->memdc);
    121     MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp=
    122         CreateCompatibleBitmap(MdiInfo[WndNum].MdiIconEditInfo->memdc,Bitmap.bmWidth,Bitmap.bmHeight);
    123     SelectObject(hDC,MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp);
    124     hDC2=CreateCompatibleDC(MdiInfo[WndNum].MdiIconEditInfo->memdc);
     120    hDC=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc);
     121    MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp=
     122        CreateCompatibleBitmap(MdiInfo[WndNum]->MdiIconEditInfo->memdc,Bitmap.bmWidth,Bitmap.bmHeight);
     123    SelectObject(hDC,MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp);
     124    hDC2=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc);
    125125    SelectObject(hDC2,hBmp);
    126126
     
    131131    DeleteDC(hDC2);
    132132
    133     MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left=0;
    134     MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top=0;
    135     MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right=Bitmap.bmWidth-1;
    136     MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom=Bitmap.bmHeight-1;
    137 
    138     InvalidateRect(MdiInfo[WndNum].MdiIconEditInfo->hMain,NULL,0);
    139 
    140     MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=2;
     133    MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left=0;
     134    MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top=0;
     135    MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right=Bitmap.bmWidth-1;
     136    MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom=Bitmap.bmHeight-1;
     137
     138    InvalidateRect(MdiInfo[WndNum]->MdiIconEditInfo->hMain,NULL,0);
     139
     140    MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=2;
    141141}
    142142
     
    145145    HDC hDC;
    146146
    147     size.cx=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left+1;
    148     size.cy=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top+1;
    149 
    150     hDC=CreateCompatibleDC(MdiInfo[WndNum].MdiIconEditInfo->memdc);
    151     MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp=
    152         CreateCompatibleBitmap(MdiInfo[WndNum].MdiIconEditInfo->memdc,size.cx,size.cy);
    153     SelectObject(hDC,MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp);
     147    size.cx=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left+1;
     148    size.cy=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top+1;
     149
     150    hDC=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc);
     151    MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp=
     152        CreateCompatibleBitmap(MdiInfo[WndNum]->MdiIconEditInfo->memdc,size.cx,size.cy);
     153    SelectObject(hDC,MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp);
    154154    BitBlt(hDC,0,0,size.cx,size.cy,
    155         MdiInfo[WndNum].MdiIconEditInfo->memdc,
    156         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left,
    157         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top,
     155        MdiInfo[WndNum]->MdiIconEditInfo->memdc,
     156        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left,
     157        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top,
    158158        SRCCOPY);
    159159    DeleteDC(hDC);
    160160
    161     MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=2;
     161    MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=2;
    162162}
    163163void IconEdit_PasteImage(int WndNum){
     
    179179    IconEdit_NoticeChanging(WndNum);
    180180
    181     GetObject(MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp,sizeof(BITMAP),&Bitmap);
     181    GetObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp,sizeof(BITMAP),&Bitmap);
    182182    pSelectingBuffer=(COLORREF *)HeapAlloc(hHeap,0,Bitmap.bmWidth*Bitmap.bmHeight*sizeof(COLORREF));
    183183    SelectingBitmapInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
     
    187187    SelectingBitmapInfo.bmiHeader.biBitCount=32;
    188188    SelectingBitmapInfo.bmiHeader.biCompression=BI_RGB;
    189     GetDIBits(MdiInfo[WndNum].MdiIconEditInfo->memdc,
    190         MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp,
     189    GetDIBits(MdiInfo[WndNum]->MdiIconEditInfo->memdc,
     190        MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp,
    191191        0,Bitmap.bmHeight,
    192192        pSelectingBuffer,&SelectingBitmapInfo,DIB_RGB_COLORS);
    193193
    194     pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];
     194    pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum];
    195195
    196196    //カラーテーブルを取得
    197     pRgbq=(RGBQUAD *)(MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));
     197    pRgbq=(RGBQUAD *)(MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));
    198198
    199199    //ビットバッファを取得
    200     pBuffer=MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+
     200    pBuffer=MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+
    201201        sizeof(BITMAPINFOHEADER);
    202202    if(pBmpInfoHdr->biBitCount<=8)
     
    206206    pMaskBuf=pBuffer+pBmpInfoHdr->biBitCount*pBmpInfoHdr->biWidth*(pBmpInfoHdr->biHeight/2)/8;
    207207
    208     for(y=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom;y>=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top;y--){
    209         for(x=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left;x<=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right;x++){
     208    for(y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom;y>=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top;y--){
     209        for(x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left;x<=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right;x++){
    210210            if(x<0||y<0||
    211                 x>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||
    212                 y>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2){
     211                x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth||
     212                y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2){
    213213                //範囲外の場合
    214214                continue;
    215215            }
    216216
    217             selecting_x=x-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left;
    218             selecting_y=y-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top;
     217            selecting_x=x-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left;
     218            selecting_y=y-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top;
    219219            dwRgbq=pSelectingBuffer[(Bitmap.bmHeight-1-selecting_y)*Bitmap.bmWidth+selecting_x];
    220220
     
    284284    HeapDefaultFree(pSelectingBuffer);
    285285
    286     DeleteObject(MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp);
    287     MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=0;
     286    DeleteObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp);
     287    MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=0;
    288288
    289289    DrawIconToMemBmp(WndNum,0);
    290     InvalidateRect(MdiInfo[WndNum].MdiIconEditInfo->hMain,NULL,0);
     290    InvalidateRect(MdiInfo[WndNum]->MdiIconEditInfo->hMain,NULL,0);
    291291}
    292292
     
    301301    BITMAPINFOHEADER *pBmpInfoHdr;
    302302
    303     pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];
     303    pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum];
    304304
    305305    if( !(pBmpInfoHdr->biBitCount == 4 || pBmpInfoHdr->biBitCount == 8 ) ){
     
    310310
    311311    hPen=CreatePen(PS_SOLID,0,RGB(200,200,200));
    312     hOldPen=(HPEN)SelectObject(MdiInfo[WndNum].MdiIconEditInfo->memdc,hPen);
     312    hOldPen=(HPEN)SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hPen);
    313313
    314314    //カラーテーブルを取得
    315     pRgbq=(RGBQUAD *)(MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));
     315    pRgbq=(RGBQUAD *)(MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));
    316316
    317317    //ビットバッファを取得
    318     pBuffer=MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+
     318    pBuffer=MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+
    319319        sizeof(BITMAPINFOHEADER);
    320320    if(pBmpInfoHdr->biBitCount<=8)
     
    344344            if(i2){
    345345                hBrush=CreateSolidBrush(TransparentClrRef);
    346                 hOldBrush=(HBRUSH)SelectObject(MdiInfo[WndNum].MdiIconEditInfo->memdc,hBrush);
     346                hOldBrush=(HBRUSH)SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hBrush);
    347347                pos.x=x;
    348348                pos.y=y;
    349349                GetZoomedPos(&pos);
    350                 Rectangle(MdiInfo[WndNum].MdiIconEditInfo->memdc,
     350                Rectangle(MdiInfo[WndNum]->MdiIconEditInfo->memdc,
    351351                    pos.x,
    352352                    pos.y,
    353353                    pos.x+11,
    354354                    pos.y+11);
    355                 SelectObject(MdiInfo[WndNum].MdiIconEditInfo->memdc,hOldBrush);
     355                SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hOldBrush);
    356356                DeleteObject(hBrush);
    357357
    358                 SetPixel(MdiInfo[WndNum].MdiIconEditInfo->memdc,x,y,TransparentClrRef);
     358                SetPixel(MdiInfo[WndNum]->MdiIconEditInfo->memdc,x,y,TransparentClrRef);
    359359                continue;
    360360            }
     
    377377
    378378            hBrush=CreateSolidBrush(ColorRef);
    379             hOldBrush=(HBRUSH)SelectObject(MdiInfo[WndNum].MdiIconEditInfo->memdc,hBrush);
     379            hOldBrush=(HBRUSH)SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hBrush);
    380380            pos.x=x;
    381381            pos.y=y;
    382382            GetZoomedPos(&pos);
    383             Rectangle(MdiInfo[WndNum].MdiIconEditInfo->memdc,
     383            Rectangle(MdiInfo[WndNum]->MdiIconEditInfo->memdc,
    384384                pos.x,
    385385                pos.y,
    386386                pos.x+11,
    387387                pos.y+11);
    388             SelectObject(MdiInfo[WndNum].MdiIconEditInfo->memdc,hOldBrush);
     388            SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hOldBrush);
    389389            DeleteObject(hBrush);
    390390
    391             SetPixel(MdiInfo[WndNum].MdiIconEditInfo->memdc,x,y,ColorRef);
    392         }
    393     }
    394 
    395     SelectObject(MdiInfo[WndNum].MdiIconEditInfo->memdc,hOldPen);
     391            SetPixel(MdiInfo[WndNum]->MdiIconEditInfo->memdc,x,y,ColorRef);
     392        }
     393    }
     394
     395    SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hOldPen);
    396396    DeleteObject(hPen);
    397397}
     
    404404
    405405    if(x<0||y<0) return;
    406     if(x>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||
    407         y>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)
     406    if(x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth||
     407        y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2)
    408408        return;
    409409
    410     pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];
    411 
    412     pBuffer=MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+
     410    pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum];
     411
     412    pBuffer=MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+
    413413        sizeof(BITMAPINFOHEADER);
    414414    pBuffer+=sizeof(DWORD)*(int)pow((double)2,(double)pBmpInfoHdr->biBitCount);
     
    466466
    467467    if(x<0||y<0) return 0;
    468     if(x>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||
    469         y>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)
     468    if(x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth||
     469        y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2)
    470470        return 0;
    471471
    472     pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];
     472    pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum];
    473473
    474474    //カラーテーブルを取得
    475     pRgbq=(RGBQUAD *)(MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));
     475    pRgbq=(RGBQUAD *)(MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));
    476476
    477477    //通常バッファを取得
    478     pBuffer=MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+
     478    pBuffer=MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+
    479479        sizeof(BITMAPINFOHEADER)+
    480480        sizeof(DWORD)*(int)pow((double)2,(double)pBmpInfoHdr->biBitCount);
     
    567567
    568568    if(x<0||y<0) return;
    569     if(x>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||
    570         y>=MdiInfo[WndNum].MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)
     569    if(x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth||
     570        y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2)
    571571        return;
    572572
     
    676676        pRect->right,
    677677        pRect->bottom,
    678         GetColorCode(WndNum,MdiInfo[WndNum].MdiIconEditInfo->SubColor),
    679         GetColorCode(WndNum,MdiInfo[WndNum].MdiIconEditInfo->SubColor),1);
     678        GetColorCode(WndNum,MdiInfo[WndNum]->MdiIconEditInfo->SubColor),
     679        GetColorCode(WndNum,MdiInfo[WndNum]->MdiIconEditInfo->SubColor),1);
    680680
    681681    DrawIconToMemBmp(WndNum,0);
    682     InvalidateRect(MdiInfo[WndNum].MdiIconEditInfo->hMain,NULL,0);
     682    InvalidateRect(MdiInfo[WndNum]->MdiIconEditInfo->hMain,NULL,0);
    683683}
    684684
     
    697697    //以前の選択フレームを消去
    698698    BITMAPINFOHEADER *pBmpInfoHdr;
    699     pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];
     699    pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum];
    700700    pos.x=pBmpInfoHdr->biWidth;
    701701    pos.y=pBmpInfoHdr->biHeight/2;
    702702    GetZoomedPos(&pos);
    703     BitBlt(hdc,0,0,pos.x,pos.y,MdiInfo[WndNum].MdiIconEditInfo->memdc,0,0,SRCCOPY);
     703    BitBlt(hdc,0,0,pos.x,pos.y,MdiInfo[WndNum]->MdiIconEditInfo->memdc,0,0,SRCCOPY);
    704704
    705705
     
    735735    RECT rect;
    736736
    737     rect.left=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left*PIXEL_WIDTH+ZOOMED_XPOS;
    738     rect.top=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top*PIXEL_WIDTH;
    739     rect.right=(MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right+1)*PIXEL_WIDTH+ZOOMED_XPOS+1;
    740     rect.bottom=(MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom+1)*PIXEL_WIDTH+1;
     737    rect.left=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left*PIXEL_WIDTH+ZOOMED_XPOS;
     738    rect.top=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top*PIXEL_WIDTH;
     739    rect.right=(MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right+1)*PIXEL_WIDTH+ZOOMED_XPOS+1;
     740    rect.bottom=(MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom+1)*PIXEL_WIDTH+1;
    741741
    742742    SetBkMode(hdc,TRANSPARENT);
     
    810810    COLORREF *pSelectingBuffer;
    811811
    812     GetObject(MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp,sizeof(BITMAP),&Bitmap);
     812    GetObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp,sizeof(BITMAP),&Bitmap);
    813813    pSelectingBuffer=(COLORREF *)HeapAlloc(hHeap,0,Bitmap.bmWidth*Bitmap.bmHeight*sizeof(COLORREF));
    814814    SelectingBitmapInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
     
    818818    SelectingBitmapInfo.bmiHeader.biBitCount=32;
    819819    SelectingBitmapInfo.bmiHeader.biCompression=BI_RGB;
    820     GetDIBits(MdiInfo[WndNum].MdiIconEditInfo->memdc,
    821         MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp,
     820    GetDIBits(MdiInfo[WndNum]->MdiIconEditInfo->memdc,
     821        MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp,
    822822        0,Bitmap.bmHeight,
    823823        pSelectingBuffer,&SelectingBitmapInfo,DIB_RGB_COLORS);
     
    855855    RECT rect;
    856856
    857     pos.x=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left;
    858     pos.y=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top;
     857    pos.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left;
     858    pos.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top;
    859859    GetZoomedPos(&pos);
    860860    rect.left=pos.x;
    861861    rect.top=pos.y;
    862     pos.x=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right+1;
    863     pos.y=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom+1;
     862    pos.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right+1;
     863    pos.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom+1;
    864864    GetZoomedPos(&pos);
    865865    rect.right=pos.x;
     
    878878    POINT pos;
    879879
    880     size.cx=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left;
    881     size.cy=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top;
    882     hDC2=CreateCompatibleDC(MdiInfo[WndNum].MdiIconEditInfo->memdc);
    883     SelectObject(hDC2,MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp);
     880    size.cx=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left;
     881    size.cy=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top;
     882    hDC2=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc);
     883    SelectObject(hDC2,MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp);
    884884    BitBlt(hdc,
    885         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left,
    886         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top,
     885        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left,
     886        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top,
    887887        size.cx,size.cy,
    888888        hDC2,0,0,SRCCOPY);
     
    890890
    891891    //拡大選択イメージを表示
    892     pos.x=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left;
    893     pos.y=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top;
     892    pos.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left;
     893    pos.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top;
    894894    DrawZoomedBitmap(hdc,WndNum,&pos);
    895895}
     
    11401140            if(message==WM_LBUTTONDOWN){
    11411141                dwDrag=1;
    1142                 MainClrRef=MdiInfo[WndNum].MdiIconEditInfo->MainColor;
    1143                 SubClrRef=MdiInfo[WndNum].MdiIconEditInfo->SubColor;
     1142                MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor;
     1143                SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor;
    11441144            }
    11451145            else{
    11461146                dwDrag=2;
    1147                 MainClrRef=MdiInfo[WndNum].MdiIconEditInfo->SubColor;
    1148                 SubClrRef=MdiInfo[WndNum].MdiIconEditInfo->MainColor;
    1149             }
    1150 
    1151             if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){
     1147                MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor;
     1148                SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor;
     1149            }
     1150
     1151            if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){
    11521152                if(dwDrag==2){
    11531153                    dwDrag=0;
     
    11561156                }
    11571157
    1158                 if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel){
     1158                if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel){
    11591159                    NowDragging=IconEdit_GetStateOfDraggingFrame(WndNum,LOWORD(lParam),HIWORD(lParam));
    11601160                    if(NowDragging==0){
    1161                         if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==1){
    1162                             MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=0;
     1161                        if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==1){
     1162                            MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=0;
    11631163                            InvalidateRect(hwnd,NULL,0);
    11641164                        }
    1165                         else if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==2)
     1165                        else if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==2)
    11661166                            IconEdit_PasteImage(WndNum);
    11671167
     
    11691169                    }
    11701170                    else if(NowDragging==FRAME_INSIDE){
    1171                         if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==1){
     1171                        if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==1){
    11721172                            IconEdit_SelectImage(WndNum);
    1173                             IconEdit_EraseRect(WndNum,&MdiInfo[WndNum].MdiIconEditInfo->DraggingRect);
     1173                            IconEdit_EraseRect(WndNum,&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect);
    11741174                        }
    11751175
    1176                         OldRect=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect;
     1176                        OldRect=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect;
    11771177                    }
    11781178                }
     
    11851185                InvalidateRect(hwnd,NULL,0);
    11861186            }
    1187             else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_PEN){
     1187            else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_PEN){
    11881188                //変更情報
    11891189                IconEdit_NoticeChanging(WndNum);
     
    12011201                SetCursor(LoadCursor(hResInst,MAKEINTRESOURCE(IDC_CURSOR_PEN)));
    12021202            }
    1203             else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILL){
     1203            else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILL){
    12041204                //変更情報
    12051205                IconEdit_NoticeChanging(WndNum);
     
    12161216                SetCursor(LoadCursor(hResInst,MAKEINTRESOURCE(IDC_CURSOR_FILL)));
    12171217            }
    1218             else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_LINE||
    1219                 MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE||
    1220                 MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT||
    1221                 MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2||
    1222                 MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){
     1218            else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_LINE||
     1219                MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE||
     1220                MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT||
     1221                MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2||
     1222                MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){
    12231223                hdc=GetDC(hwnd);
    12241224                TempLine(hdc,WndNum,pos.x,pos.y,pos.x,pos.y,MainClrRef);
     
    12421242
    12431243            if(dwDrag==1){
    1244                 MainClrRef=MdiInfo[WndNum].MdiIconEditInfo->MainColor;
    1245                 SubClrRef=MdiInfo[WndNum].MdiIconEditInfo->SubColor;
     1244                MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor;
     1245                SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor;
    12461246            }
    12471247            else{
    1248                 MainClrRef=MdiInfo[WndNum].MdiIconEditInfo->SubColor;
    1249                 SubClrRef=MdiInfo[WndNum].MdiIconEditInfo->MainColor;
     1248                MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor;
     1249                SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor;
    12501250            }
    12511251
     
    12541254
    12551255            bRedrawMemBmp=0;
    1256             if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){
     1256            if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){
    12571257                if(NowDragging==SELECTING_FRAME){
    12581258                    if(LastPos.x==pos.x&&LastPos.y==pos.y){
     
    12651265                    rect.bottom=pos.y;
    12661266
    1267                     RectNaturalFormat(&rect,&MdiInfo[WndNum].MdiIconEditInfo->DraggingRect);
    1268                     LimitRectFormat(WndNum,&MdiInfo[WndNum].MdiIconEditInfo->DraggingRect);
    1269                     MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=1;
     1267                    RectNaturalFormat(&rect,&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect);
     1268                    LimitRectFormat(WndNum,&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect);
     1269                    MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=1;
    12701270                    InvalidateRect(hwnd,NULL,0);
    12711271                }
     
    12731273                    InvalidateRect(hwnd,NULL,0);
    12741274            }
    1275             else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_LINE){
     1275            else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_LINE){
    12761276                //変更情報
    12771277                IconEdit_NoticeChanging(WndNum);
     
    12811281                bRedrawMemBmp=1;
    12821282            }
    1283             else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE){
     1283            else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE){
    12841284                //変更情報
    12851285                IconEdit_NoticeChanging(WndNum);
     
    12891289                bRedrawMemBmp=1;
    12901290            }
    1291             else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT){
     1291            else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT){
    12921292                //変更情報
    12931293                IconEdit_NoticeChanging(WndNum);
     
    12991299                bRedrawMemBmp=1;
    13001300            }
    1301             else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2){
     1301            else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2){
    13021302                //変更情報
    13031303                IconEdit_NoticeChanging(WndNum);
     
    13091309                bRedrawMemBmp=1;
    13101310            }
    1311             else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){
     1311            else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){
    13121312                //変更情報
    13131313                IconEdit_NoticeChanging(WndNum);
     
    13371337
    13381338            if(dwDrag==1){
    1339                 MainClrRef=MdiInfo[WndNum].MdiIconEditInfo->MainColor;
    1340                 SubClrRef=MdiInfo[WndNum].MdiIconEditInfo->SubColor;
     1339                MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor;
     1340                SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor;
    13411341            }
    13421342            else{
    1343                 MainClrRef=MdiInfo[WndNum].MdiIconEditInfo->SubColor;
    1344                 SubClrRef=MdiInfo[WndNum].MdiIconEditInfo->MainColor;
     1343                MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor;
     1344                SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor;
    13451345            }
    13461346
    13471347            if(dwDrag){
    1348                 if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){
     1348                if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){
    13491349                    if(NowDragging==SELECTING_FRAME){
    13501350                        //範囲選択中
     
    13611361                        dx=pos.x-LastPos.x;
    13621362                        dy=pos.y-LastPos.y;
    1363                         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left+=dx;
    1364                         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right+=dx;
    1365                         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top+=dy;
    1366                         MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom+=dy;
     1363                        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left+=dx;
     1364                        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right+=dx;
     1365                        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top+=dy;
     1366                        MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom+=dy;
    13671367                        LastPos=pos;
    13681368
     
    13761376
    13771377                        hRgn=CreateRectRgnIndirect(&OldRect);
    1378                         hRgn2=CreateRectRgnIndirect(&MdiInfo[WndNum].MdiIconEditInfo->DraggingRect);
     1378                        hRgn2=CreateRectRgnIndirect(&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect);
    13791379                        CombineRgn(hRgn,hRgn,hRgn2,RGN_XOR);
    13801380                        DeleteObject(hRgn2);
     
    13941394                        DeleteObject(hRgn2);
    13951395
    1396                         p2.x=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left;
    1397                         p2.y=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top;
     1396                        p2.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left;
     1397                        p2.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top;
    13981398                        GetZoomedPos(&p2);
    13991399                        rect.left=p2.x;
    14001400                        rect.top=p2.y;
    1401                         p2.x=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right;
    1402                         p2.y=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.bottom;
     1401                        p2.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right;
     1402                        p2.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom;
    14031403                        GetZoomedPos(&p2);
    14041404                        rect.right=p2.x+1;
     
    14151415                        ReleaseDC(hwnd,hdc);
    14161416
    1417                         OldRect=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect;
     1417                        OldRect=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect;
    14181418                    }
    14191419                }
    1420                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_PEN){
     1420                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_PEN){
    14211421                    if(abs(pos.x-LastPos.x)>1||abs(pos.y-LastPos.y)>1){
    14221422                        IconEdit_DrawLine(WndNum,LastPos.x,LastPos.y,pos.x,pos.y,GetColorCode(WndNum,MainClrRef));
     
    14421442                    LastPos=pos;
    14431443                }
    1444                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_LINE){
     1444                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_LINE){
    14451445                    InvalidateRect(hwnd,NULL,0);
    14461446                    UpdateWindow(hwnd);
     
    14501450                    ReleaseDC(hwnd,hdc);
    14511451                }
    1452                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE){
     1452                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE){
    14531453                    InvalidateRect(hwnd,NULL,0);
    14541454                    UpdateWindow(hwnd);
     
    14581458                    ReleaseDC(hwnd,hdc);
    14591459                }
    1460                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT){
     1460                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT){
    14611461                    InvalidateRect(hwnd,NULL,0);
    14621462                    UpdateWindow(hwnd);
     
    14681468                    ReleaseDC(hwnd,hdc);
    14691469                }
    1470                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2){
     1470                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2){
    14711471                    InvalidateRect(hwnd,NULL,0);
    14721472                    UpdateWindow(hwnd);
     
    14781478                    ReleaseDC(hwnd,hdc);
    14791479                }
    1480                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){
     1480                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){
    14811481                    InvalidateRect(hwnd,NULL,0);
    14821482                    UpdateWindow(hwnd);
     
    14891489            else{
    14901490                //ドラッグ中でないとき
    1491                 if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){
    1492                     if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel)
     1491                if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){
     1492                    if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel)
    14931493                        SetCursorByState(IconEdit_GetStateOfDraggingFrame(WndNum,LOWORD(lParam),HIWORD(lParam)));
    14941494                    else
    14951495                        SetCursor(LoadCursor(NULL,IDC_CROSS));
    14961496                }
    1497                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_PEN)
     1497                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_PEN)
    14981498                    SetCursor(LoadCursor(hResInst,MAKEINTRESOURCE(IDC_CURSOR_PEN)));
    1499                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILL)
     1499                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILL)
    15001500                    SetCursor(LoadCursor(hResInst,MAKEINTRESOURCE(IDC_CURSOR_FILL)));
    1501                 else if(MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_LINE||
    1502                     MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE||
    1503                     MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT||
    1504                     MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2||
    1505                     MdiInfo[WndNum].MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){
     1501                else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_LINE||
     1502                    MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE||
     1503                    MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT||
     1504                    MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2||
     1505                    MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){
    15061506                    SetCursor(LoadCursor(NULL,IDC_CROSS));
    15071507                }
     
    15121512                case VK_ESCAPE:
    15131513                    WndNum=GetWndNum(GetParent(hwnd));
    1514                     if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==2){
    1515                         DeleteObject(MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp);
    1516                         MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=0;
     1514                    if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==2){
     1515                        DeleteObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp);
     1516                        MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=0;
    15171517                    }
    15181518                    InvalidateRect(hwnd,NULL,0);
     
    15261526            WndNum=GetWndNum(GetParent(hwnd));
    15271527            BITMAPINFOHEADER *pBmpInfoHdr;
    1528             pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum].MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];
     1528            pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum];
    15291529
    15301530            hdc=BeginPaint(hwnd,&ps);
     
    15371537                size.cx,
    15381538                size.cy,
    1539                 MdiInfo[WndNum].MdiIconEditInfo->memdc,0,0,SRCCOPY);
     1539                MdiInfo[WndNum]->MdiIconEditInfo->memdc,0,0,SRCCOPY);
    15401540
    15411541            HBRUSH hOldBrush;
     
    15501550                PATCOPY);
    15511551
    1552             if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==1)
     1552            if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==1)
    15531553                IconEdit_DrawSelectingRect(hdc,WndNum);
    1554             if(MdiInfo[WndNum].MdiIconEditInfo->SelectLevel==2){
     1554            if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==2){
    15551555                DrawSelectingImage(hdc,WndNum);
    15561556                if(dwDrag==0) IconEdit_DrawSelectingRect(hdc,WndNum);
Note: See TracChangeset for help on using the changeset viewer.