Changeset 612 in dev for trunk/ab5.0/abdev/abdev/RadProc.cpp
- Timestamp:
- May 18, 2008, 7:15:49 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/RadProc.cpp
r611 r612 4 4 #include "common.h" 5 5 6 void NewRadWindow(int WndInfoNum){ 6 void NewRadWindow( const WINDOW_INFO &windowInfo ) 7 { 7 8 extern HINSTANCE hInst,hResInst; 8 9 extern HWND hDocCombo; … … 13 14 RECT rect; 14 15 MDICREATESTRUCT mdic; 15 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum];16 16 17 17 //すでに指定されたファイルが開かれている場合 … … 20 20 i=GetWndNum(hChild); 21 21 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; 23 23 } 24 24 hChild=GetNextWindow(hChild,GW_HWNDNEXT); … … 29 29 } 30 30 31 mdic.szTitle= pWindowInfo->name;31 mdic.szTitle=windowInfo.name; 32 32 mdic.szClass="MDIClientWindow_Rad"; 33 33 mdic.hOwner=hInst; … … 86 86 MdiInfo[i].hwnd=hChild; 87 87 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); 92 92 93 93 … … 127 127 128 128 129 DrawRadWindow(i, pWindowInfo);129 DrawRadWindow(i,&windowInfo); 130 130 131 131 //サポートダイアログの内容をセット 132 SetSupportDlgData(i, WndInfoNum);132 SetSupportDlgData(i,windowInfo); 133 133 134 134 break; … … 142 142 ResizeToRadToolWindows(i,rect.right,rect.bottom); 143 143 144 i=SendMessage(hDocCombo,CB_ADDSTRING,0,(long) pWindowInfo->name); //Docコンボボックスに追加144 i=SendMessage(hDocCombo,CB_ADDSTRING,0,(long)windowInfo.name); //Docコンボボックスに追加 145 145 SendMessage(hDocCombo,CB_SETCURSEL,i,0); 146 146 147 147 //タブに追加 148 pobj_MainTab->InsertItem( pWindowInfo->name, true );148 pobj_MainTab->InsertItem( windowInfo.name, true ); 149 149 150 150 //メニュー状態を設定 … … 678 678 679 679 //サポートダイアログの内容をセット 680 SetSupportDlgData( WndNum,WndInfoNum);680 SetSupportDlgData( WndNum, ProjectInfo.windowInfos[WndInfoNum] ); 681 681 } 682 682 void SetItemNumOnFrame(int WndNum,int WndInfoNum,RECT *pRect){ … … 843 843 844 844 //サポートダイアログの内容をセット 845 SetSupportDlgData( i,i2);845 SetSupportDlgData( i, *pWindowInfo ); 846 846 break; 847 847 } … … 958 958 959 959 //サポートダイアログの内容をセット 960 SetSupportDlgData( i,i2);960 SetSupportDlgData( i, *pWindowInfo ); 961 961 } 962 962 } … … 1280 1280 } 1281 1281 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++; 1391 1413 } 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 1416 1439 RadInfo.DraggingRect[0].right=mouse.x; 1417 1440 RadInfo.DraggingRect[0].bottom=mouse.y; 1418 1441 DrawFrame(hwnd,i,i2,&RadInfo.DraggingRect[0],&RadInfo.OldDraggingRect[0],0); 1419 1442 } 1420 SetCursorByState(RadInfo.NowDragging);1421 1422 SetStatusText(NULL);1423 1424 //サポートダイアログの内容をセット1425 SetSupportDlgData(i,i2);1426 1443 } 1427 else{ 1428 //ドラッグ中でないとき 1429 SetCursorByState(GetStateOfDraggingFrame(i,i2,mouse.x,mouse.y)); 1430 } 1444 return 0; 1431 1445 } 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;1443 1446 case WM_LBUTTONDBLCLK: 1444 1447 { … … 1477 1480 hParent=GetParent(hwnd); 1478 1481 i=GetWndNum(hParent); 1479 i2=GetWndInfoNum(MdiInfo[i].path);1480 1482 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path); 1481 1483 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ … … 1502 1504 1503 1505 //サポートダイアログの内容をセット 1504 SetSupportDlgData( i,i2);1506 SetSupportDlgData( i, *pWindowInfo ); 1505 1507 } 1506 1508 } … … 1528 1530 1529 1531 //サポートダイアログの内容をセット 1530 SetSupportDlgData( i,i2);1532 SetSupportDlgData( i, *pWindowInfo ); 1531 1533 } 1532 1534 else if(wParam==VK_LEFT){ … … 1549 1551 1550 1552 //サポートダイアログの内容をセット 1551 SetSupportDlgData( i,i2);1553 SetSupportDlgData( i, *pWindowInfo ); 1552 1554 } 1553 1555 else if(wParam==VK_UP){ … … 1570 1572 1571 1573 //サポートダイアログの内容をセット 1572 SetSupportDlgData( i,i2);1574 SetSupportDlgData( i, *pWindowInfo ); 1573 1575 } 1574 1576 else if(wParam==VK_DOWN){ … … 1591 1593 1592 1594 //サポートダイアログの内容をセット 1593 SetSupportDlgData( i,i2);1595 SetSupportDlgData( i, *pWindowInfo ); 1594 1596 } 1595 1597 else if(wParam==VK_DELETE)
Note:
See TracChangeset
for help on using the changeset viewer.