Ignore:
Timestamp:
May 18, 2008, 7:15:49 PM (16 years ago)
Author:
dai_9181
Message:

WndInfoNum利用コード周りをリファクタリング中

File:
1 edited

Legend:

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

    r611 r612  
    44#include "common.h"
    55
    6 void NewRadWindow(int WndInfoNum){
     6void NewRadWindow( const WINDOW_INFO &windowInfo )
     7{
    78    extern HINSTANCE hInst,hResInst;
    89    extern HWND hDocCombo;
     
    1314    RECT rect;
    1415    MDICREATESTRUCT mdic;
    15     WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];
    1616
    1717    //すでに指定されたファイルが開かれている場合
     
    2020        i=GetWndNum(hChild);
    2121        if(MdiInfo[i].DocType==WNDTYPE_RAD){
    22             if(lstrcmpi(MdiInfo[i].path,pWindowInfo->name)==0) break;
     22            if(lstrcmpi(MdiInfo[i].path,windowInfo.name)==0) break;
    2323        }
    2424        hChild=GetNextWindow(hChild,GW_HWNDNEXT);
     
    2929    }
    3030
    31     mdic.szTitle=pWindowInfo->name;
     31    mdic.szTitle=windowInfo.name;
    3232    mdic.szClass="MDIClientWindow_Rad";
    3333    mdic.hOwner=hInst;
     
    8686            MdiInfo[i].hwnd=hChild;
    8787            MdiInfo[i].DocType=WNDTYPE_RAD;
    88             MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(pWindowInfo->name)+1);
    89             lstrcpy(MdiInfo[i].title,pWindowInfo->name);
    90             MdiInfo[i].path=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(pWindowInfo->name)+1);
    91             lstrcpy(MdiInfo[i].path,pWindowInfo->name);
     88            MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(windowInfo.name)+1);
     89            lstrcpy(MdiInfo[i].title,windowInfo.name);
     90            MdiInfo[i].path=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(windowInfo.name)+1);
     91            lstrcpy(MdiInfo[i].path,windowInfo.name);
    9292
    9393
     
    127127
    128128
    129             DrawRadWindow(i,pWindowInfo);
     129            DrawRadWindow(i,&windowInfo);
    130130
    131131            //サポートダイアログの内容をセット
    132             SetSupportDlgData(i,WndInfoNum);
     132            SetSupportDlgData(i,windowInfo);
    133133
    134134            break;
     
    142142    ResizeToRadToolWindows(i,rect.right,rect.bottom);
    143143
    144     i=SendMessage(hDocCombo,CB_ADDSTRING,0,(long)pWindowInfo->name);    //Docコンボボックスに追加
     144    i=SendMessage(hDocCombo,CB_ADDSTRING,0,(long)windowInfo.name);  //Docコンボボックスに追加
    145145    SendMessage(hDocCombo,CB_SETCURSEL,i,0);
    146146
    147147    //タブに追加
    148     pobj_MainTab->InsertItem( pWindowInfo->name, true );
     148    pobj_MainTab->InsertItem( windowInfo.name, true );
    149149
    150150    //メニュー状態を設定
     
    678678
    679679    //サポートダイアログの内容をセット
    680     SetSupportDlgData(WndNum,WndInfoNum);
     680    SetSupportDlgData( WndNum, ProjectInfo.windowInfos[WndInfoNum] );
    681681}
    682682void SetItemNumOnFrame(int WndNum,int WndInfoNum,RECT *pRect){
     
    843843
    844844                                //サポートダイアログの内容をセット
    845                                 SetSupportDlgData(i,i2);
     845                                SetSupportDlgData( i, *pWindowInfo );
    846846                                break;
    847847                            }
     
    958958
    959959                        //サポートダイアログの内容をセット
    960                         SetSupportDlgData(i,i2);
     960                        SetSupportDlgData( i, *pWindowInfo );
    961961                    }
    962962                }
     
    12801280            }
    12811281        case WM_MOUSEMOVE:
    1282             mouse.x=(int)(short)LOWORD(lParam);
    1283             mouse.y=(int)(short)HIWORD(lParam);
    1284             CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y);
    1285 
    1286             hParent=GetParent(hwnd);
    1287             i=GetWndNum(hParent);
    1288             i2 = GetWndInfoNum(MdiInfo[i].path);
    1289 
    1290             if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
    1291                 if(wParam&MK_LBUTTON&&RadInfo.NowDragging){
    1292                     ////////////////////////////////////////////////
    1293                     // ドラッグ中の場合(コントロールのサイズ変更)
    1294 
    1295                     if(RadInfo.NowDragging==FRAME_UPPER_LEFT){
    1296                         if(RadInfo.DraggingRect[0].right-MIN_ITEM_X<=(mouse.x+LEVER_THICK))
    1297                             RadInfo.DraggingRect[0].left=RadInfo.DraggingRect[0].right-MIN_ITEM_X;
    1298                         else if(mouse.x+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.x)
    1299                             RadInfo.DraggingRect[0].left=MdiInfo[i].MdiRadInfo->ClientPos.x;
    1300                         else RadInfo.DraggingRect[0].left=mouse.x+LEVER_THICK;
    1301 
    1302                         if(RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y<=(mouse.y+LEVER_THICK))
    1303                             RadInfo.DraggingRect[0].top=RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y;
    1304                         else if(mouse.y+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.y)
    1305                             RadInfo.DraggingRect[0].top=MdiInfo[i].MdiRadInfo->ClientPos.y;
    1306                         else RadInfo.DraggingRect[0].top=mouse.y+LEVER_THICK;
    1307                         DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1308                     }
    1309                     else if(RadInfo.NowDragging==FRAME_UPPER_RIGHT){
    1310                         if(mouse.x-LEVER_THICK-MIN_ITEM_X<=RadInfo.DraggingRect[0].left)
    1311                             RadInfo.DraggingRect[0].right=RadInfo.DraggingRect[0].left+MIN_ITEM_X;
    1312                         else if(mouse.x>MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx)
    1313                             RadInfo.DraggingRect[0].right=MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx;
    1314                         else RadInfo.DraggingRect[0].right=mouse.x-LEVER_THICK;
    1315 
    1316                         if(RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y<=(mouse.y+LEVER_THICK)) RadInfo.DraggingRect[0].top=RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y;
    1317                         else if(mouse.y+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.y)
    1318                             RadInfo.DraggingRect[0].top=MdiInfo[i].MdiRadInfo->ClientPos.y;
    1319                         else RadInfo.DraggingRect[0].top=mouse.y+LEVER_THICK;
    1320                         DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1321                     }
    1322                     else if(RadInfo.NowDragging==FRAME_LOWER_LEFT){
    1323                         if(RadInfo.DraggingRect[0].right-MIN_ITEM_X<=(mouse.x+LEVER_THICK))
    1324                             RadInfo.DraggingRect[0].left=RadInfo.DraggingRect[0].right-MIN_ITEM_X;
    1325                         else if(mouse.x+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.x)
    1326                             RadInfo.DraggingRect[0].left=MdiInfo[i].MdiRadInfo->ClientPos.x;
    1327                         else RadInfo.DraggingRect[0].left=mouse.x+LEVER_THICK;
    1328 
    1329                         if(mouse.y-LEVER_THICK-MIN_ITEM_Y<=RadInfo.DraggingRect[0].top)
    1330                             RadInfo.DraggingRect[0].bottom=RadInfo.DraggingRect[0].top+MIN_ITEM_Y;
    1331                         else if(mouse.y>MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy)
    1332                             RadInfo.DraggingRect[0].bottom=MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy;
    1333                         else RadInfo.DraggingRect[0].bottom=mouse.y-LEVER_THICK;
    1334                         DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1335                     }
    1336                     else if(RadInfo.NowDragging==FRAME_LOWER_RIGHT){
    1337                         if(mouse.x-LEVER_THICK-MIN_ITEM_X<=RadInfo.DraggingRect[0].left)
    1338                             RadInfo.DraggingRect[0].right=RadInfo.DraggingRect[0].left+MIN_ITEM_X;
    1339                         else if((mouse.x>MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx)&&MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW)
    1340                             RadInfo.DraggingRect[0].right=MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx;
    1341                         else RadInfo.DraggingRect[0].right=mouse.x-LEVER_THICK;
    1342 
    1343                         if(mouse.y-LEVER_THICK-MIN_ITEM_Y<=RadInfo.DraggingRect[0].top)
    1344                             RadInfo.DraggingRect[0].bottom=RadInfo.DraggingRect[0].top+MIN_ITEM_Y;
    1345                         else if((mouse.y>MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy)&&MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW)
    1346                             RadInfo.DraggingRect[0].bottom=MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy;
    1347                         else RadInfo.DraggingRect[0].bottom=mouse.y-LEVER_THICK;
    1348                         DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1349                     }
    1350                     else if(RadInfo.NowDragging==FRAME_LEFT){
    1351                         if(RadInfo.DraggingRect[0].right-MIN_ITEM_X<=(mouse.x+LEVER_THICK))
    1352                             RadInfo.DraggingRect[0].left=RadInfo.DraggingRect[0].right-MIN_ITEM_X;
    1353                         else if(mouse.x+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.x)
    1354                             RadInfo.DraggingRect[0].left=MdiInfo[i].MdiRadInfo->ClientPos.x;
    1355                         else RadInfo.DraggingRect[0].left=mouse.x+LEVER_THICK;
    1356                         DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1357                     }
    1358                     else if(RadInfo.NowDragging==FRAME_RIGHT){
    1359                         if(mouse.x-LEVER_THICK-MIN_ITEM_X<=RadInfo.DraggingRect[0].left)
    1360                             RadInfo.DraggingRect[0].right=RadInfo.DraggingRect[0].left+MIN_ITEM_X;
    1361                         else if((mouse.x>MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx)&&MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW)
    1362                             RadInfo.DraggingRect[0].right=MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx;
    1363                         else RadInfo.DraggingRect[0].right=mouse.x-LEVER_THICK;
    1364                         DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1365                     }
    1366                     else if(RadInfo.NowDragging==FRAME_UPPER){
    1367                         if(RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y<=(mouse.y+LEVER_THICK))
    1368                             RadInfo.DraggingRect[0].top=RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y;
    1369                         else if(mouse.y+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.y)
    1370                             RadInfo.DraggingRect[0].top=MdiInfo[i].MdiRadInfo->ClientPos.y;
    1371                         else RadInfo.DraggingRect[0].top=mouse.y+LEVER_THICK;
    1372                         DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1373                     }
    1374                     else if(RadInfo.NowDragging==FRAME_LOWER){
    1375                         if(mouse.y-LEVER_THICK-MIN_ITEM_Y<=RadInfo.DraggingRect[0].top)
    1376                             RadInfo.DraggingRect[0].bottom=RadInfo.DraggingRect[0].top+MIN_ITEM_Y;
    1377                         else if((mouse.y>MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy)&&MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW)
    1378                             RadInfo.DraggingRect[0].bottom=MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy;
    1379                         else RadInfo.DraggingRect[0].bottom=mouse.y-LEVER_THICK;
    1380                         DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1381                     }
    1382                     else if(RadInfo.NowDragging==FRAME_INSIDE){
    1383                         i3=0;
    1384                         while(MdiInfo[i].MdiRadInfo->SelectingItem[i3]!=-1){
    1385                             i4=RadInfo.DragStartRect[i3].left+mouse.x-RadInfo.DragStartPos.x;
    1386 
    1387                             if(i4>MdiInfo[i].MdiRadInfo->ClientPos.x){
    1388                                 i4=RadInfo.DragStartRect[i3].right+mouse.x-RadInfo.DragStartPos.x;
    1389                                 if(i4<MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx) i4=0;
    1390                                 else i4-=MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx;
     1282            {
     1283                mouse.x=(int)(short)LOWORD(lParam);
     1284                mouse.y=(int)(short)HIWORD(lParam);
     1285                CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y);
     1286
     1287                hParent=GetParent(hwnd);
     1288                i=GetWndNum(hParent);
     1289                i2 = GetWndInfoNum(MdiInfo[i].path);
     1290                WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
     1291
     1292                if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
     1293                    if(wParam&MK_LBUTTON&&RadInfo.NowDragging){
     1294                        ////////////////////////////////////////////////
     1295                        // ドラッグ中の場合(コントロールのサイズ変更)
     1296
     1297                        if(RadInfo.NowDragging==FRAME_UPPER_LEFT){
     1298                            if(RadInfo.DraggingRect[0].right-MIN_ITEM_X<=(mouse.x+LEVER_THICK))
     1299                                RadInfo.DraggingRect[0].left=RadInfo.DraggingRect[0].right-MIN_ITEM_X;
     1300                            else if(mouse.x+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.x)
     1301                                RadInfo.DraggingRect[0].left=MdiInfo[i].MdiRadInfo->ClientPos.x;
     1302                            else RadInfo.DraggingRect[0].left=mouse.x+LEVER_THICK;
     1303
     1304                            if(RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y<=(mouse.y+LEVER_THICK))
     1305                                RadInfo.DraggingRect[0].top=RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y;
     1306                            else if(mouse.y+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.y)
     1307                                RadInfo.DraggingRect[0].top=MdiInfo[i].MdiRadInfo->ClientPos.y;
     1308                            else RadInfo.DraggingRect[0].top=mouse.y+LEVER_THICK;
     1309                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1310                        }
     1311                        else if(RadInfo.NowDragging==FRAME_UPPER_RIGHT){
     1312                            if(mouse.x-LEVER_THICK-MIN_ITEM_X<=RadInfo.DraggingRect[0].left)
     1313                                RadInfo.DraggingRect[0].right=RadInfo.DraggingRect[0].left+MIN_ITEM_X;
     1314                            else if(mouse.x>MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx)
     1315                                RadInfo.DraggingRect[0].right=MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx;
     1316                            else RadInfo.DraggingRect[0].right=mouse.x-LEVER_THICK;
     1317
     1318                            if(RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y<=(mouse.y+LEVER_THICK)) RadInfo.DraggingRect[0].top=RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y;
     1319                            else if(mouse.y+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.y)
     1320                                RadInfo.DraggingRect[0].top=MdiInfo[i].MdiRadInfo->ClientPos.y;
     1321                            else RadInfo.DraggingRect[0].top=mouse.y+LEVER_THICK;
     1322                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1323                        }
     1324                        else if(RadInfo.NowDragging==FRAME_LOWER_LEFT){
     1325                            if(RadInfo.DraggingRect[0].right-MIN_ITEM_X<=(mouse.x+LEVER_THICK))
     1326                                RadInfo.DraggingRect[0].left=RadInfo.DraggingRect[0].right-MIN_ITEM_X;
     1327                            else if(mouse.x+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.x)
     1328                                RadInfo.DraggingRect[0].left=MdiInfo[i].MdiRadInfo->ClientPos.x;
     1329                            else RadInfo.DraggingRect[0].left=mouse.x+LEVER_THICK;
     1330
     1331                            if(mouse.y-LEVER_THICK-MIN_ITEM_Y<=RadInfo.DraggingRect[0].top)
     1332                                RadInfo.DraggingRect[0].bottom=RadInfo.DraggingRect[0].top+MIN_ITEM_Y;
     1333                            else if(mouse.y>MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy)
     1334                                RadInfo.DraggingRect[0].bottom=MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy;
     1335                            else RadInfo.DraggingRect[0].bottom=mouse.y-LEVER_THICK;
     1336                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1337                        }
     1338                        else if(RadInfo.NowDragging==FRAME_LOWER_RIGHT){
     1339                            if(mouse.x-LEVER_THICK-MIN_ITEM_X<=RadInfo.DraggingRect[0].left)
     1340                                RadInfo.DraggingRect[0].right=RadInfo.DraggingRect[0].left+MIN_ITEM_X;
     1341                            else if((mouse.x>MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx)&&MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW)
     1342                                RadInfo.DraggingRect[0].right=MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx;
     1343                            else RadInfo.DraggingRect[0].right=mouse.x-LEVER_THICK;
     1344
     1345                            if(mouse.y-LEVER_THICK-MIN_ITEM_Y<=RadInfo.DraggingRect[0].top)
     1346                                RadInfo.DraggingRect[0].bottom=RadInfo.DraggingRect[0].top+MIN_ITEM_Y;
     1347                            else if((mouse.y>MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy)&&MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW)
     1348                                RadInfo.DraggingRect[0].bottom=MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy;
     1349                            else RadInfo.DraggingRect[0].bottom=mouse.y-LEVER_THICK;
     1350                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1351                        }
     1352                        else if(RadInfo.NowDragging==FRAME_LEFT){
     1353                            if(RadInfo.DraggingRect[0].right-MIN_ITEM_X<=(mouse.x+LEVER_THICK))
     1354                                RadInfo.DraggingRect[0].left=RadInfo.DraggingRect[0].right-MIN_ITEM_X;
     1355                            else if(mouse.x+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.x)
     1356                                RadInfo.DraggingRect[0].left=MdiInfo[i].MdiRadInfo->ClientPos.x;
     1357                            else RadInfo.DraggingRect[0].left=mouse.x+LEVER_THICK;
     1358                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1359                        }
     1360                        else if(RadInfo.NowDragging==FRAME_RIGHT){
     1361                            if(mouse.x-LEVER_THICK-MIN_ITEM_X<=RadInfo.DraggingRect[0].left)
     1362                                RadInfo.DraggingRect[0].right=RadInfo.DraggingRect[0].left+MIN_ITEM_X;
     1363                            else if((mouse.x>MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx)&&MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW)
     1364                                RadInfo.DraggingRect[0].right=MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx;
     1365                            else RadInfo.DraggingRect[0].right=mouse.x-LEVER_THICK;
     1366                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1367                        }
     1368                        else if(RadInfo.NowDragging==FRAME_UPPER){
     1369                            if(RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y<=(mouse.y+LEVER_THICK))
     1370                                RadInfo.DraggingRect[0].top=RadInfo.DraggingRect[0].bottom-MIN_ITEM_Y;
     1371                            else if(mouse.y+LEVER_THICK<MdiInfo[i].MdiRadInfo->ClientPos.y)
     1372                                RadInfo.DraggingRect[0].top=MdiInfo[i].MdiRadInfo->ClientPos.y;
     1373                            else RadInfo.DraggingRect[0].top=mouse.y+LEVER_THICK;
     1374                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1375                        }
     1376                        else if(RadInfo.NowDragging==FRAME_LOWER){
     1377                            if(mouse.y-LEVER_THICK-MIN_ITEM_Y<=RadInfo.DraggingRect[0].top)
     1378                                RadInfo.DraggingRect[0].bottom=RadInfo.DraggingRect[0].top+MIN_ITEM_Y;
     1379                            else if((mouse.y>MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy)&&MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW)
     1380                                RadInfo.DraggingRect[0].bottom=MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy;
     1381                            else RadInfo.DraggingRect[0].bottom=mouse.y-LEVER_THICK;
     1382                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1383                        }
     1384                        else if(RadInfo.NowDragging==FRAME_INSIDE){
     1385                            i3=0;
     1386                            while(MdiInfo[i].MdiRadInfo->SelectingItem[i3]!=-1){
     1387                                i4=RadInfo.DragStartRect[i3].left+mouse.x-RadInfo.DragStartPos.x;
     1388
     1389                                if(i4>MdiInfo[i].MdiRadInfo->ClientPos.x){
     1390                                    i4=RadInfo.DragStartRect[i3].right+mouse.x-RadInfo.DragStartPos.x;
     1391                                    if(i4<MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx) i4=0;
     1392                                    else i4-=MdiInfo[i].MdiRadInfo->ClientPos.x+MdiInfo[i].MdiRadInfo->ClientSize.cx;
     1393                                }
     1394                                else i4-=MdiInfo[i].MdiRadInfo->ClientPos.x;
     1395                                //i4は枠外に出たときのポインタと壁にあたったコントロールとの差
     1396                                RadInfo.DraggingRect[i3].left=RadInfo.DragStartRect[i3].left+mouse.x-RadInfo.DragStartPos.x-i4;
     1397                                RadInfo.DraggingRect[i3].right=RadInfo.DragStartRect[i3].right+mouse.x-RadInfo.DragStartPos.x-i4;
     1398
     1399                                i4=RadInfo.DragStartRect[i3].top+mouse.y-RadInfo.DragStartPos.y;
     1400                                if(i4>MdiInfo[i].MdiRadInfo->ClientPos.y){
     1401                                    i4=RadInfo.DragStartRect[i3].bottom+mouse.y-RadInfo.DragStartPos.y;
     1402                                    if(i4<MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy) i4=0;
     1403                                    else i4-=MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy;
     1404                                }
     1405                                else i4-=MdiInfo[i].MdiRadInfo->ClientPos.y;
     1406                                RadInfo.DraggingRect[i3].top=RadInfo.DragStartRect[i3].top+mouse.y-RadInfo.DragStartPos.y-i4;
     1407                                RadInfo.DraggingRect[i3].bottom=RadInfo.DragStartRect[i3].bottom+mouse.y-RadInfo.DragStartPos.y-i4;
     1408
     1409                                if(MdiInfo[i].MdiRadInfo->SelectingItem[1]==-1) i4=1;
     1410                                else i4=0;
     1411                                DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[i3],&RadInfo.OldDraggingRect[i3],i4);
     1412                                i3++;
    13911413                            }
    1392                             else i4-=MdiInfo[i].MdiRadInfo->ClientPos.x;
    1393                             //i4は枠外に出たときのポインタと壁にあたったコントロールとの差
    1394                             RadInfo.DraggingRect[i3].left=RadInfo.DragStartRect[i3].left+mouse.x-RadInfo.DragStartPos.x-i4;
    1395                             RadInfo.DraggingRect[i3].right=RadInfo.DragStartRect[i3].right+mouse.x-RadInfo.DragStartPos.x-i4;
    1396 
    1397                             i4=RadInfo.DragStartRect[i3].top+mouse.y-RadInfo.DragStartPos.y;
    1398                             if(i4>MdiInfo[i].MdiRadInfo->ClientPos.y){
    1399                                 i4=RadInfo.DragStartRect[i3].bottom+mouse.y-RadInfo.DragStartPos.y;
    1400                                 if(i4<MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy) i4=0;
    1401                                 else i4-=MdiInfo[i].MdiRadInfo->ClientPos.y+MdiInfo[i].MdiRadInfo->ClientSize.cy;
    1402                             }
    1403                             else i4-=MdiInfo[i].MdiRadInfo->ClientPos.y;
    1404                             RadInfo.DraggingRect[i3].top=RadInfo.DragStartRect[i3].top+mouse.y-RadInfo.DragStartPos.y-i4;
    1405                             RadInfo.DraggingRect[i3].bottom=RadInfo.DragStartRect[i3].bottom+mouse.y-RadInfo.DragStartPos.y-i4;
    1406 
    1407                             if(MdiInfo[i].MdiRadInfo->SelectingItem[1]==-1) i4=1;
    1408                             else i4=0;
    1409                             DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[i3],&RadInfo.OldDraggingRect[i3],i4);
    1410                             i3++;
    1411                         }
    1412                     }
    1413                     else if(RadInfo.NowDragging==SELECTING_FRAME){
    1414                         RadInfo.DraggingRect[0].left=RadInfo.DragStartPos.x;
    1415                         RadInfo.DraggingRect[0].top=RadInfo.DragStartPos.y;
     1414                        }
     1415                        else if(RadInfo.NowDragging==SELECTING_FRAME){
     1416                            RadInfo.DraggingRect[0].left=RadInfo.DragStartPos.x;
     1417                            RadInfo.DraggingRect[0].top=RadInfo.DragStartPos.y;
     1418                            RadInfo.DraggingRect[0].right=mouse.x;
     1419                            RadInfo.DraggingRect[0].bottom=mouse.y;
     1420                            DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
     1421                        }
     1422                        SetCursorByState(RadInfo.NowDragging);
     1423
     1424                        SetStatusText(NULL);
     1425
     1426                        //サポートダイアログの内容をセット
     1427                        SetSupportDlgData( i, *pWindowInfo );
     1428                    }
     1429                    else{
     1430                        //ドラッグ中でないとき
     1431                        SetCursorByState(GetStateOfDraggingFrame(i,i2,mouse.x,mouse.y));
     1432                    }
     1433                }
     1434                else{
     1435                    //アイテム(子ウィンドウ作成中)
     1436                    if(wParam&MK_LBUTTON&&RadInfo.NowDragging==ITEM_MAKING){
     1437                        //ドラッグ中の場合
     1438
    14161439                        RadInfo.DraggingRect[0].right=mouse.x;
    14171440                        RadInfo.DraggingRect[0].bottom=mouse.y;
    14181441                        DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    14191442                    }
    1420                     SetCursorByState(RadInfo.NowDragging);
    1421 
    1422                     SetStatusText(NULL);
    1423 
    1424                     //サポートダイアログの内容をセット
    1425                     SetSupportDlgData(i,i2);
    14261443                }
    1427                 else{
    1428                     //ドラッグ中でないとき
    1429                     SetCursorByState(GetStateOfDraggingFrame(i,i2,mouse.x,mouse.y));
    1430                 }
     1444                return 0;
    14311445            }
    1432             else{
    1433                 //アイテム(子ウィンドウ作成中)
    1434                 if(wParam&MK_LBUTTON&&RadInfo.NowDragging==ITEM_MAKING){
    1435                     //ドラッグ中の場合
    1436 
    1437                     RadInfo.DraggingRect[0].right=mouse.x;
    1438                     RadInfo.DraggingRect[0].bottom=mouse.y;
    1439                     DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0);
    1440                 }
    1441             }
    1442             return 0;
    14431446        case WM_LBUTTONDBLCLK:
    14441447            {
     
    14771480                hParent=GetParent(hwnd);
    14781481                i=GetWndNum(hParent);
    1479                 i2=GetWndInfoNum(MdiInfo[i].path);
    14801482                WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    14811483                if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){
     
    15021504
    15031505                                //サポートダイアログの内容をセット
    1504                                 SetSupportDlgData(i,i2);
     1506                                SetSupportDlgData( i, *pWindowInfo );
    15051507                            }
    15061508                        }
     
    15281530
    15291531                            //サポートダイアログの内容をセット
    1530                             SetSupportDlgData(i,i2);
     1532                            SetSupportDlgData( i, *pWindowInfo );
    15311533                        }
    15321534                        else if(wParam==VK_LEFT){
     
    15491551
    15501552                            //サポートダイアログの内容をセット
    1551                             SetSupportDlgData(i,i2);
     1553                            SetSupportDlgData( i, *pWindowInfo );
    15521554                        }
    15531555                        else if(wParam==VK_UP){
     
    15701572
    15711573                            //サポートダイアログの内容をセット
    1572                             SetSupportDlgData(i,i2);
     1574                            SetSupportDlgData( i, *pWindowInfo );
    15731575                        }
    15741576                        else if(wParam==VK_DOWN){
     
    15911593
    15921594                            //サポートダイアログの内容をセット
    1593                             SetSupportDlgData(i,i2);
     1595                            SetSupportDlgData( i, *pWindowInfo );
    15941596                        }
    15951597                        else if(wParam==VK_DELETE)
Note: See TracChangeset for help on using the changeset viewer.