Changeset 609 in dev for trunk/ab5.0/abdev/abdev/RadProc.cpp
- Timestamp:
- May 18, 2008, 4:37:11 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/RadProc.cpp
r475 r609 13 13 RECT rect; 14 14 MDICREATESTRUCT mdic; 15 WINDOW_INFO *pWindowInfo; 16 17 pWindowInfo=&ProjectInfo.pWindowInfo[WndInfoNum]; 15 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 18 16 19 17 //すでに指定されたファイルが開かれている場合 … … 169 167 CHILDINFO *pChildInfo; 170 168 171 ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,0,ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo,(ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows+1)*sizeof(WINDOW_INFO)); 169 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 170 171 pWindowInfo->pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,0,pWindowInfo->pChildInfo,(pWindowInfo->NumberOfChildWindows+1)*sizeof(WINDOW_INFO)); 172 172 if(ItemNum==-1) 173 NewItemNum= ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows;173 NewItemNum=pWindowInfo->NumberOfChildWindows; 174 174 else{ 175 for(i= ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows;i>ItemNum;i--)176 ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i]=ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i-1];175 for(i=pWindowInfo->NumberOfChildWindows;i>ItemNum;i--) 176 pWindowInfo->pChildInfo[i]=pWindowInfo->pChildInfo[i-1]; 177 177 NewItemNum=ItemNum; 178 178 } 179 pChildInfo=& ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[NewItemNum];179 pChildInfo=&pWindowInfo->pChildInfo[NewItemNum]; 180 180 181 181 //ID … … 199 199 else sprintf(temporary,"%s%d",IdName,i2); 200 200 SearchStart: 201 for(i=0;i< ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows;i++){201 for(i=0;i<pWindowInfo->NumberOfChildWindows;i++){ 202 202 if(i!=NewItemNum){ 203 if(lstrcmp( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].IdName,temporary)==0){203 if(lstrcmp(pWindowInfo->pChildInfo[i].IdName,temporary)==0){ 204 204 i2++; 205 205 sprintf(temporary,"%s%d",IdName,i2); … … 256 256 Rad_NoticeChanging(WndNum,RAD_UNDO_INSERTITEM,NewItemNum,(DWORD)pChildInfo); 257 257 258 ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows++;259 260 DrawRadWindow(WndNum, &ProjectInfo.pWindowInfo[WndInfoNum]);258 pWindowInfo->NumberOfChildWindows++; 259 260 DrawRadWindow(WndNum,pWindowInfo); 261 261 return NewItemNum; 262 262 } … … 267 267 int i; 268 268 269 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 270 269 271 //変更情報 270 272 if(bNoticeChanging) 271 Rad_NoticeChanging(WndNum,RAD_UNDO_DELETEITEM,ItemNum,(DWORD)& ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[ItemNum]);273 Rad_NoticeChanging(WndNum,RAD_UNDO_DELETEITEM,ItemNum,(DWORD)&pWindowInfo->pChildInfo[ItemNum]); 272 274 273 275 //子ウィンドウのメモリを解放 274 HeapDefaultFree( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[ItemNum].IdName);275 HeapDefaultFree( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[ItemNum].caption);276 if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[ItemNum].Control==CT_IMAGEBOX){276 HeapDefaultFree(pWindowInfo->pChildInfo[ItemNum].IdName); 277 HeapDefaultFree(pWindowInfo->pChildInfo[ItemNum].caption); 278 if(pWindowInfo->pChildInfo[ItemNum].Control==CT_IMAGEBOX){ 277 279 //イメージ ボックスの場合 278 HeapDefaultFree( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[ItemNum].ImageCtrlInfo.path);279 } 280 281 ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows--;282 for(i=ItemNum;i< ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows;i++)283 ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i]=ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i+1];284 if(ProjectInfo. NumberOfWindows==0) ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,0,ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo,1);285 else ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,0,ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo,ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows*sizeof(CHILDINFO));286 287 DrawRadWindow(WndNum, &ProjectInfo.pWindowInfo[WndInfoNum]);280 HeapDefaultFree(pWindowInfo->pChildInfo[ItemNum].ImageCtrlInfo.path); 281 } 282 283 pWindowInfo->NumberOfChildWindows--; 284 for(i=ItemNum;i<pWindowInfo->NumberOfChildWindows;i++) 285 pWindowInfo->pChildInfo[i]=pWindowInfo->pChildInfo[i+1]; 286 if(ProjectInfo.windowInfos.size()==0) pWindowInfo->pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,0,pWindowInfo->pChildInfo,1); 287 else pWindowInfo->pChildInfo=(CHILDINFO *)HeapReAlloc(hHeap,0,pWindowInfo->pChildInfo,pWindowInfo->NumberOfChildWindows*sizeof(CHILDINFO)); 288 289 DrawRadWindow(WndNum,pWindowInfo); 288 290 289 291 … … 341 343 RECT rect; 342 344 345 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 346 343 347 hdc=GetDC(hwnd); 344 348 345 349 sw=0; 346 350 if(pobj_nv->bLineAdjust&&bLA){ 347 for(i=0;i< ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows;i++){351 for(i=0;i<pWindowInfo->NumberOfChildWindows;i++){ 348 352 if(i==MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]) continue; 349 if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].Control !=350 ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control) continue;353 if(pWindowInfo->pChildInfo[i].Control != 354 pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control) continue; 351 355 352 356 if(NewRect->left<OldRect->left){ 353 if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x357 if(pWindowInfo->pChildInfo[i].pos.x 354 358 > 355 359 NewRect->left - MdiInfo[WndNum].MdiRadInfo->ClientPos.x 356 360 && 357 ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x-10361 pWindowInfo->pChildInfo[i].pos.x-10 358 362 < 359 363 NewRect->left - MdiInfo[WndNum].MdiRadInfo->ClientPos.x){ … … 361 365 //左側をストップする 362 366 x=NewRect->right-NewRect->left; 363 NewRect->left= ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x + MdiInfo[WndNum].MdiRadInfo->ClientPos.x;367 NewRect->left=pWindowInfo->pChildInfo[i].pos.x + MdiInfo[WndNum].MdiRadInfo->ClientPos.x; 364 368 NewRect->right=NewRect->left+x; 365 369 … … 376 380 } 377 381 if(NewRect->top<OldRect->top){ 378 if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y382 if(pWindowInfo->pChildInfo[i].pos.y 379 383 > 380 384 NewRect->top - MdiInfo[WndNum].MdiRadInfo->ClientPos.y 381 385 && 382 ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y-10386 pWindowInfo->pChildInfo[i].pos.y-10 383 387 < 384 388 NewRect->top - MdiInfo[WndNum].MdiRadInfo->ClientPos.y){ … … 386 390 //左側をストップする 387 391 y=NewRect->bottom-NewRect->top; 388 NewRect->top= ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y + MdiInfo[WndNum].MdiRadInfo->ClientPos.y;392 NewRect->top=pWindowInfo->pChildInfo[i].pos.y + MdiInfo[WndNum].MdiRadInfo->ClientPos.y; 389 393 NewRect->bottom=NewRect->top+y; 390 394 … … 441 445 extern MDIINFO MdiInfo[MAX_WNDNUM]; 442 446 extern PROJECTINFO ProjectInfo; 447 448 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 449 443 450 if(MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]==SELECT_WINDOW){ 444 451 //ウィンドウ軸を選択 445 452 rect->left=0; 446 453 rect->top=0; 447 rect->right= ProjectInfo.pWindowInfo[WndInfoNum].size.cx+(LEVER_THICK*2);448 rect->bottom= ProjectInfo.pWindowInfo[WndInfoNum].size.cy+(LEVER_THICK*2);454 rect->right=pWindowInfo->size.cx+(LEVER_THICK*2); 455 rect->bottom=pWindowInfo->size.cy+(LEVER_THICK*2); 449 456 } 450 457 else{ 451 458 //子ウィンドウを選択 452 rect->left=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].pos.x-LEVER_THICK;453 rect->top=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].pos.y-LEVER_THICK;454 rect->right=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].pos.x+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].size.cx+LEVER_THICK;455 rect->bottom=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].pos.y+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].size.cy+LEVER_THICK;459 rect->left=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].pos.x-LEVER_THICK; 460 rect->top=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].pos.y-LEVER_THICK; 461 rect->right=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].pos.x+pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].size.cx+LEVER_THICK; 462 rect->bottom=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].pos.y+pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[num]].size.cy+LEVER_THICK; 456 463 } 457 464 } … … 538 545 SCROLLINFO ScrollInfo; 539 546 547 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 548 540 549 DestroyWindow(MdiInfo[WndNum].MdiRadInfo->hProp_Dlg); 541 550 if(MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){ … … 551 560 } 552 561 else{ 553 if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_BUTTON)562 if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_BUTTON) 554 563 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_BUTTON),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_ButtonProc); 555 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_CHECKBOX)564 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_CHECKBOX) 556 565 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_CHECKBOX),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_CheckBoxProc); 557 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_COMBOBOX)566 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_COMBOBOX) 558 567 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_COMBOBOX),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_ComboBoxProc); 559 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_EDIT)568 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_EDIT) 560 569 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_EDIT),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_EditProc); 561 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_GROUPBOX)570 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_GROUPBOX) 562 571 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_GROUPBOX),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_GroupBoxProc); 563 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_HSCROLLBAR)572 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_HSCROLLBAR) 564 573 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_SCROLLBAR),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_ScrollBarProc); 565 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_IMAGEBOX)574 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_IMAGEBOX) 566 575 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_IMAGEBOX),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_ImageBoxProc); 567 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_LISTBOX)576 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_LISTBOX) 568 577 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_LISTBOX),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_ListBoxProc); 569 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_LISTVIEW)578 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_LISTVIEW) 570 579 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_LISTVIEW),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_ListViewProc); 571 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_PROGRESSBAR)580 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_PROGRESSBAR) 572 581 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_PROGRESSBAR),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_ProgressBarProc); 573 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_RADIOBUTTON)582 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_RADIOBUTTON) 574 583 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_RADIOBUTTON),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_RadioButtonProc); 575 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_STATIC)584 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_STATIC) 576 585 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_STATIC),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_StaticProc); 577 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_TRACKBAR)586 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_TRACKBAR) 578 587 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_TRACKBAR),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_TrackBarProc); 579 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_TREEVIEW)588 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_TREEVIEW) 580 589 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_TREEVIEW),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_TreeViewProc); 581 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_UPDOWN)590 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_UPDOWN) 582 591 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_UPDOWN),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_UpDownProc); 583 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_VSCROLLBAR)592 else if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_VSCROLLBAR) 584 593 MdiInfo[WndNum].MdiRadInfo->hProp_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_RAD_PROP_SCROLLBAR),MdiInfo[WndNum].MdiRadInfo->hProperty,(DLGPROC)RadProperty_ScrollBarProc); 585 594 … … 598 607 int i; 599 608 600 for(i=ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows-1;i>=0;i--){ 601 if(ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].Control==CT_COMBOBOX&& 602 (ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].style&0x000F)!=CBS_SIMPLE){ 609 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 610 611 for(i=pWindowInfo->NumberOfChildWindows-1;i>=0;i--){ 612 if(pWindowInfo->pChildInfo[i].Control==CT_COMBOBOX&& 613 (pWindowInfo->pChildInfo[i].style&0x000F)!=CBS_SIMPLE){ 603 614 //コンボ ボックスの場合は表示部分をターゲットに選択する(高さ20pixel) 604 if(x>=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x&&605 x<=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cx&&606 y>=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y&&607 y<=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y+20){615 if(x>=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[i].pos.x&& 616 x<=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[i].pos.x+pWindowInfo->pChildInfo[i].size.cx&& 617 y>=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[i].pos.y&& 618 y<=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[i].pos.y+20){ 608 619 break; 609 620 } 610 621 } 611 else if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].Control==CT_GROUPBOX){622 else if(pWindowInfo->pChildInfo[i].Control==CT_GROUPBOX){ 612 623 //グループ ボックスの場合は中央をあける 613 624 if(( 614 x>=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x&&615 x<=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cx&&616 y>=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y&&617 y<=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cy625 x>=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[i].pos.x&& 626 x<=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[i].pos.x+pWindowInfo->pChildInfo[i].size.cx&& 627 y>=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[i].pos.y&& 628 y<=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[i].pos.y+pWindowInfo->pChildInfo[i].size.cy 618 629 )&& 619 630 (!( 620 x>=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x+LEVER_THICK*2&&621 x<=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cx-LEVER_THICK*2&&622 y>=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y+LEVER_THICK*3&&623 y<=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cy-LEVER_THICK*2631 x>=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[i].pos.x+LEVER_THICK*2&& 632 x<=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[i].pos.x+pWindowInfo->pChildInfo[i].size.cx-LEVER_THICK*2&& 633 y>=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[i].pos.y+LEVER_THICK*3&& 634 y<=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[i].pos.y+pWindowInfo->pChildInfo[i].size.cy-LEVER_THICK*2 624 635 )) 625 636 ){ … … 627 638 } 628 639 } 629 else if(x>=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x&&630 x<=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cx&&631 y>=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y&&632 y<=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+ ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cy){640 else if(x>=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[i].pos.x&& 641 x<=MdiInfo[WndNum].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[i].pos.x+pWindowInfo->pChildInfo[i].size.cx&& 642 y>=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[i].pos.y&& 643 y<=MdiInfo[WndNum].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[i].pos.y+pWindowInfo->pChildInfo[i].size.cy){ 633 644 break; 634 645 } … … 667 678 RECT rect; 668 679 680 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 681 669 682 for(i=1;i<MAX_RAD_SELITEM;i++) MdiInfo[WndNum].MdiRadInfo->SelectingItem[i]=-1; 670 683 RectNaturalFormat(pRect,&rect); 671 684 if(MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW) sw=0; 672 685 else sw=1; 673 for(i= ProjectInfo.pWindowInfo[WndInfoNum].NumberOfChildWindows-1,i2=0;i>=0;i--){674 if(rect.left <= ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x+MdiInfo[WndNum].MdiRadInfo->ClientPos.x&&675 rect.top <= ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y+MdiInfo[WndNum].MdiRadInfo->ClientPos.y&&676 rect.right >= ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.x+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cx+MdiInfo[WndNum].MdiRadInfo->ClientPos.x&&677 rect.bottom >= ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].pos.y+ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[i].size.cy+MdiInfo[WndNum].MdiRadInfo->ClientPos.y){686 for(i=pWindowInfo->NumberOfChildWindows-1,i2=0;i>=0;i--){ 687 if(rect.left <= pWindowInfo->pChildInfo[i].pos.x+MdiInfo[WndNum].MdiRadInfo->ClientPos.x&& 688 rect.top <= pWindowInfo->pChildInfo[i].pos.y+MdiInfo[WndNum].MdiRadInfo->ClientPos.y&& 689 rect.right >= pWindowInfo->pChildInfo[i].pos.x+pWindowInfo->pChildInfo[i].size.cx+MdiInfo[WndNum].MdiRadInfo->ClientPos.x&& 690 rect.bottom >= pWindowInfo->pChildInfo[i].pos.y+pWindowInfo->pChildInfo[i].size.cy+MdiInfo[WndNum].MdiRadInfo->ClientPos.y){ 678 691 MdiInfo[WndNum].MdiRadInfo->SelectingItem[i2]=i; 679 692 i2++; … … 691 704 RECT rect; 692 705 706 WINDOW_INFO *pWindowInfo = &ProjectInfo.windowInfos[WndInfoNum]; 707 693 708 if(MdiInfo[WndNum].MdiRadInfo->SelectingItem[1]!=-1){ 694 709 i=0; … … 698 713 if(x>=rect.left+LEVER_THICK&&x<=rect.right-LEVER_THICK&& 699 714 y>=rect.top+LEVER_THICK&&y<=rect.bottom-LEVER_THICK){ 700 if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[i]].Control==CT_GROUPBOX){715 if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[i]].Control==CT_GROUPBOX){ 701 716 //グループボックスの場合は中央をあける 702 717 if(!(x>=rect.left+LEVER_THICK*2&&x<=rect.right-LEVER_THICK*2&& … … 716 731 if(x>=rect.left+LEVER_THICK&&x<=rect.right-LEVER_THICK&& 717 732 y>=rect.top+LEVER_THICK&&y<=rect.bottom-LEVER_THICK){ 718 if( ProjectInfo.pWindowInfo[WndInfoNum].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_GROUPBOX){733 if(pWindowInfo->pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].Control==CT_GROUPBOX){ 719 734 //グループ ボックスの場合は中央をあける 720 735 if(!(x>=rect.left+LEVER_THICK*3&&x<=rect.right-LEVER_THICK*3&& … … 748 763 extern PROJECTINFO ProjectInfo; 749 764 extern MDIINFO MdiInfo[MAX_WNDNUM]; 750 int WndInfoNum;751 765 SCROLLINFO ScrollInfo; 752 766 SIZE NeedSize; 753 767 754 W ndInfoNum=GetWndInfoNum(MdiInfo[WndNum].path);768 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[WndNum].path); 755 769 756 770 //必要な幅、高さを共に100ピクセル余裕を持たせる 757 NeedSize.cx= ProjectInfo.pWindowInfo[WndInfoNum].size.cx+(LEVER_THICK*2)+100;758 NeedSize.cy= ProjectInfo.pWindowInfo[WndInfoNum].size.cy+(LEVER_THICK*2)+100;771 NeedSize.cx=pWindowInfo->size.cx+(LEVER_THICK*2)+100; 772 NeedSize.cy=pWindowInfo->size.cy+(LEVER_THICK*2)+100; 759 773 760 774 ScrollInfo.cbSize=sizeof(SCROLLINFO); … … 798 812 switch(message){ 799 813 case WM_LBUTTONDOWN: 800 SetCapture(hwnd); 801 802 SetFocus(hwnd); 803 mouse.x=LOWORD(lParam); 804 mouse.y=HIWORD(lParam); 805 CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y); 806 807 i=GetWndNum(GetParent(hwnd)); 808 i2=GetWndInfoNum(MdiInfo[i].path); 809 810 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ 811 if(((wParam&MK_CONTROL)||(wParam&MK_SHIFT))&& 812 MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW){ 813 814 //Shiftキー、Ctrlキーによる複数選択 815 for(i3=0;;i3++){ 816 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1){ 817 MdiInfo[i].MdiRadInfo->SelectingItem[i3]=GetItemNumOnMouse(i,i2,mouse.x,mouse.y); 814 { 815 SetCapture(hwnd); 816 817 SetFocus(hwnd); 818 mouse.x=LOWORD(lParam); 819 mouse.y=HIWORD(lParam); 820 CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y); 821 822 i=GetWndNum(GetParent(hwnd)); 823 i2 = GetWndInfoNum(MdiInfo[i].path); 824 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path); 825 826 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ 827 if(((wParam&MK_CONTROL)||(wParam&MK_SHIFT))&& 828 MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW){ 829 830 //Shiftキー、Ctrlキーによる複数選択 831 for(i3=0;;i3++){ 832 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1){ 833 MdiInfo[i].MdiRadInfo->SelectingItem[i3]=GetItemNumOnMouse(i,i2,mouse.x,mouse.y); 834 InvalidateRect(hwnd,NULL,0); 835 836 //サポートダイアログの内容をセット 837 SetSupportDlgData(i,i2); 838 break; 839 } 840 } 841 } 842 else{ 843 RadInfo.NowDragging=GetStateOfDraggingFrame(i,i2,mouse.x,mouse.y); 844 if(!RadInfo.NowDragging){ 845 SelectItemNumOnMouse(i,i2,mouse.x,mouse.y); 818 846 InvalidateRect(hwnd,NULL,0); 819 820 //サポートダイアログの内容をセット 821 SetSupportDlgData(i,i2); 822 break; 823 } 824 } 847 RadInfo.NowDragging=GetStateOfDraggingFrame(i,i2,mouse.x,mouse.y); 848 } 849 if(RadInfo.NowDragging){ 850 //アイテム選択中。サイズ、位置変更開始 851 852 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){ 853 RadInfo.DraggingRect[0].left=LEVER_THICK; 854 RadInfo.DraggingRect[0].top=LEVER_THICK; 855 RadInfo.DraggingRect[0].right=pWindowInfo->size.cx+LEVER_THICK; 856 RadInfo.DraggingRect[0].bottom=pWindowInfo->size.cy+LEVER_THICK; 857 RadInfo.DragStartRect[0]=RadInfo.DraggingRect[0]; 858 } 859 else{ 860 i3=0; 861 while(MdiInfo[i].MdiRadInfo->SelectingItem[i3]!=-1){ 862 RadInfo.DraggingRect[i3].left=MdiInfo[i].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x; 863 RadInfo.DraggingRect[i3].top=MdiInfo[i].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y; 864 RadInfo.DraggingRect[i3].right=MdiInfo[i].MdiRadInfo->ClientPos.x+pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x+pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cx; 865 RadInfo.DraggingRect[i3].bottom=MdiInfo[i].MdiRadInfo->ClientPos.y+pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y+pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cy; 866 RadInfo.DragStartRect[i3]=RadInfo.DraggingRect[i3]; 867 i3++; 868 } 869 } 870 } 871 else{ 872 //範囲選択 873 874 RadInfo.NowDragging=SELECTING_FRAME; 875 RadInfo.OldDraggingRect[0].left=LEVER_THICK; 876 RadInfo.OldDraggingRect[0].top=LEVER_THICK; 877 RadInfo.OldDraggingRect[0].right=pWindowInfo->size.cx+LEVER_THICK; 878 RadInfo.OldDraggingRect[0].bottom=pWindowInfo->size.cy+LEVER_THICK; 879 } 880 RadInfo.DragStartPos.x=mouse.x; 881 RadInfo.DragStartPos.y=mouse.y; 882 } 883 SetCursorByState(RadInfo.NowDragging); 825 884 } 826 885 else{ 827 RadInfo.NowDragging=GetStateOfDraggingFrame(i,i2,mouse.x,mouse.y); 828 if(!RadInfo.NowDragging){ 829 SelectItemNumOnMouse(i,i2,mouse.x,mouse.y); 830 InvalidateRect(hwnd,NULL,0); 831 RadInfo.NowDragging=GetStateOfDraggingFrame(i,i2,mouse.x,mouse.y); 832 } 886 RadInfo.DraggingRect[0].left=mouse.x; 887 RadInfo.DraggingRect[0].top=mouse.y; 888 RadInfo.NowDragging=ITEM_MAKING; 889 } 890 return 0; 891 } 892 case WM_LBUTTONUP: 893 { 894 ReleaseCapture(); 895 896 SetFocus(hwnd); 897 mouse.x=(int)(short)LOWORD(lParam); 898 mouse.y=(int)(short)HIWORD(lParam); 899 CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y); 900 901 hParent=GetParent(hwnd); 902 i=GetWndNum(hParent); 903 i2 = GetWndInfoNum(MdiInfo[i].path); 904 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path); 905 906 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ 833 907 if(RadInfo.NowDragging){ 834 //アイテム選択中。サイズ、位置変更開始 908 if(RadInfo.DragStartPos.x==mouse.x&&RadInfo.DragStartPos.y==mouse.y){ 909 RadInfo.NowDragging=0; 910 InvalidateRect(hwnd,NULL,0); 911 ResetState_EditMenu(); 912 return 0; 913 } 835 914 836 915 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){ 837 RadInfo.DraggingRect[0].left=LEVER_THICK; 838 RadInfo.DraggingRect[0].top=LEVER_THICK; 839 RadInfo.DraggingRect[0].right=ProjectInfo.pWindowInfo[i2].size.cx+LEVER_THICK; 840 RadInfo.DraggingRect[0].bottom=ProjectInfo.pWindowInfo[i2].size.cy+LEVER_THICK; 841 RadInfo.DragStartRect[0]=RadInfo.DraggingRect[0]; 916 if(RadInfo.NowDragging==SELECTING_FRAME){ 917 SetItemNumOnFrame(i,i2,&RadInfo.DraggingRect[0]); 918 InvalidateRect(hwnd,NULL,1); 919 } 920 else{ 921 //ウィンドウ枠の調整完了 922 PointAndSize.size=pWindowInfo->size; 923 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 924 pWindowInfo->size.cx=RadInfo.DraggingRect[0].right-LEVER_THICK; 925 pWindowInfo->size.cy=RadInfo.DraggingRect[0].bottom-LEVER_THICK; 926 DrawRadWindow(i,pWindowInfo); 927 InvalidateRect(hwnd,NULL,1); 928 929 GetClientRect(hwnd,&rect); 930 ResetScrollbarOfRadEditor(i,rect.right,rect.bottom); 931 } 842 932 } 843 933 else{ 844 934 i3=0; 845 935 while(MdiInfo[i].MdiRadInfo->SelectingItem[i3]!=-1){ 846 RadInfo.DraggingRect[i3].left=MdiInfo[i].MdiRadInfo->ClientPos.x+ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x; 847 RadInfo.DraggingRect[i3].top=MdiInfo[i].MdiRadInfo->ClientPos.y+ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y; 848 RadInfo.DraggingRect[i3].right=MdiInfo[i].MdiRadInfo->ClientPos.x+ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x+ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cx; 849 RadInfo.DraggingRect[i3].bottom=MdiInfo[i].MdiRadInfo->ClientPos.y+ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y+ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cy; 850 RadInfo.DragStartRect[i3]=RadInfo.DraggingRect[i3]; 936 //アイテム枠の調整完了 937 PointAndSize.pos=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 938 PointAndSize.size=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 939 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 940 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x=RadInfo.DraggingRect[i3].left-MdiInfo[i].MdiRadInfo->ClientPos.x; 941 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y=RadInfo.DraggingRect[i3].top-MdiInfo[i].MdiRadInfo->ClientPos.y; 942 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cx=RadInfo.DraggingRect[i3].right-RadInfo.DraggingRect[i3].left; 943 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cy=RadInfo.DraggingRect[i3].bottom-RadInfo.DraggingRect[i3].top; 944 DrawRadWindow(i,pWindowInfo); 851 945 i3++; 852 946 } 853 947 } 854 } 855 else{ 856 //範囲選択 857 858 RadInfo.NowDragging=SELECTING_FRAME; 859 RadInfo.OldDraggingRect[0].left=LEVER_THICK; 860 RadInfo.OldDraggingRect[0].top=LEVER_THICK; 861 RadInfo.OldDraggingRect[0].right=ProjectInfo.pWindowInfo[i2].size.cx+LEVER_THICK; 862 RadInfo.OldDraggingRect[0].bottom=ProjectInfo.pWindowInfo[i2].size.cy+LEVER_THICK; 863 } 864 RadInfo.DragStartPos.x=mouse.x; 865 RadInfo.DragStartPos.y=mouse.y; 948 949 SetStatusText(NULL); 950 951 //サポートダイアログの内容をセット 952 SetSupportDlgData(i,i2); 953 } 866 954 } 867 SetCursorByState(RadInfo.NowDragging); 955 else if(RadInfo.NowDragging==ITEM_MAKING){ 956 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_BUTTON){ 957 //ボタン コントロール作成 958 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 959 RadInfo.DraggingRect[0].left-=44; 960 RadInfo.DraggingRect[0].right=mouse.x+44; 961 RadInfo.DraggingRect[0].top-=10; 962 RadInfo.DraggingRect[0].bottom=mouse.y+11; 963 } 964 else{ 965 RadInfo.DraggingRect[0].right=mouse.x; 966 RadInfo.DraggingRect[0].bottom=mouse.y; 967 } 968 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 969 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 970 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 971 size.cx=rect.right-rect.left; 972 size.cy=rect.bottom-rect.top; 973 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"CommandButton","Button",WS_CHILD|WS_VISIBLE,0,CT_BUTTON,0,0,1); 974 } 975 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_CHECKBOX){ 976 //チェック ボックス作成 977 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 978 RadInfo.DraggingRect[0].left-=33; 979 RadInfo.DraggingRect[0].right=mouse.x+34; 980 RadInfo.DraggingRect[0].top-=7; 981 RadInfo.DraggingRect[0].bottom=mouse.y+8; 982 } 983 else{ 984 RadInfo.DraggingRect[0].right=mouse.x; 985 RadInfo.DraggingRect[0].bottom=mouse.y; 986 } 987 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 988 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 989 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 990 size.cx=rect.right-rect.left; 991 size.cy=rect.bottom-rect.top; 992 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"CheckBox","Check",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,0,CT_CHECKBOX,0,0,1); 993 } 994 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_COMBOBOX){ 995 //コンボ ボックス作成 996 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 997 RadInfo.DraggingRect[0].left-=42; 998 RadInfo.DraggingRect[0].right=mouse.x+42; 999 RadInfo.DraggingRect[0].top-=42; 1000 RadInfo.DraggingRect[0].bottom=mouse.y+42; 1001 } 1002 else{ 1003 RadInfo.DraggingRect[0].right=mouse.x; 1004 RadInfo.DraggingRect[0].bottom=mouse.y; 1005 } 1006 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1007 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1008 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1009 size.cx=rect.right-rect.left; 1010 size.cy=rect.bottom-rect.top; 1011 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ComboBox","",WS_CHILD|WS_VISIBLE|CBS_DROPDOWN|CBS_SORT|WS_VSCROLL,0,CT_COMBOBOX,0,0,1); 1012 } 1013 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_EDIT){ 1014 //エディット コントロール作成 1015 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1016 RadInfo.DraggingRect[0].left-=35; 1017 RadInfo.DraggingRect[0].right=mouse.x+35; 1018 RadInfo.DraggingRect[0].top-=10; 1019 RadInfo.DraggingRect[0].bottom=mouse.y+11; 1020 } 1021 else{ 1022 RadInfo.DraggingRect[0].right=mouse.x; 1023 RadInfo.DraggingRect[0].bottom=mouse.y; 1024 } 1025 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1026 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1027 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1028 size.cx=rect.right-rect.left; 1029 size.cy=rect.bottom-rect.top; 1030 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"EditBox","",WS_CHILD|WS_VISIBLE,WS_EX_CLIENTEDGE,CT_EDIT,0,0,1); 1031 } 1032 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_GROUPBOX){ 1033 //グループ ボックス作成 1034 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1035 RadInfo.DraggingRect[0].left-=42; 1036 RadInfo.DraggingRect[0].right=mouse.x+42; 1037 RadInfo.DraggingRect[0].top-=30; 1038 RadInfo.DraggingRect[0].bottom=mouse.y+30; 1039 } 1040 else{ 1041 RadInfo.DraggingRect[0].right=mouse.x; 1042 RadInfo.DraggingRect[0].bottom=mouse.y; 1043 } 1044 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1045 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1046 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1047 size.cx=rect.right-rect.left; 1048 size.cy=rect.bottom-rect.top; 1049 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"GroupBox","Group",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,0,CT_GROUPBOX,0,0,1); 1050 } 1051 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_HSCROLLBAR){ 1052 //水平スクロールバー作成 1053 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1054 RadInfo.DraggingRect[0].left-=35; 1055 RadInfo.DraggingRect[0].right=mouse.x+35; 1056 RadInfo.DraggingRect[0].top-=8; 1057 RadInfo.DraggingRect[0].bottom=mouse.y+9; 1058 } 1059 else{ 1060 RadInfo.DraggingRect[0].right=mouse.x; 1061 RadInfo.DraggingRect[0].bottom=mouse.y; 1062 } 1063 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1064 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1065 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1066 size.cx=rect.right-rect.left; 1067 size.cy=rect.bottom-rect.top; 1068 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"HScrollBar","",WS_CHILD|WS_VISIBLE|SBS_HORZ,0,CT_HSCROLLBAR,0,0,1); 1069 } 1070 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_IMAGEBOX){ 1071 //イメージ ボックス作成 1072 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1073 RadInfo.DraggingRect[0].left-=16; 1074 RadInfo.DraggingRect[0].right=mouse.x+16; 1075 RadInfo.DraggingRect[0].top-=16; 1076 RadInfo.DraggingRect[0].bottom=mouse.y+16; 1077 } 1078 else{ 1079 RadInfo.DraggingRect[0].right=mouse.x; 1080 RadInfo.DraggingRect[0].bottom=mouse.y; 1081 } 1082 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1083 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1084 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1085 size.cx=rect.right-rect.left; 1086 size.cy=rect.bottom-rect.top; 1087 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ImageBox","",WS_CHILD|WS_VISIBLE|SS_BLACKFRAME,0,CT_IMAGEBOX,IMGTYPE_FILE,0,1); 1088 } 1089 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_LISTBOX){ 1090 //リスト ボックス作成 1091 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1092 RadInfo.DraggingRect[0].left-=42; 1093 RadInfo.DraggingRect[0].right=mouse.x+42; 1094 RadInfo.DraggingRect[0].top-=30; 1095 RadInfo.DraggingRect[0].bottom=mouse.y+30; 1096 } 1097 else{ 1098 RadInfo.DraggingRect[0].right=mouse.x; 1099 RadInfo.DraggingRect[0].bottom=mouse.y; 1100 } 1101 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1102 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1103 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1104 size.cx=rect.right-rect.left; 1105 size.cy=rect.bottom-rect.top; 1106 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ListBox","",WS_CHILD|WS_VISIBLE|WS_VSCROLL|LBS_SORT|LBS_NOTIFY,WS_EX_CLIENTEDGE,CT_LISTBOX,0,0,1); 1107 } 1108 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_LISTVIEW){ 1109 //リスト ビュー作成 1110 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1111 RadInfo.DraggingRect[0].left-=52; 1112 RadInfo.DraggingRect[0].right=mouse.x+53; 1113 RadInfo.DraggingRect[0].top-=37; 1114 RadInfo.DraggingRect[0].bottom=mouse.y+38; 1115 } 1116 else{ 1117 RadInfo.DraggingRect[0].right=mouse.x; 1118 RadInfo.DraggingRect[0].bottom=mouse.y; 1119 } 1120 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1121 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1122 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1123 size.cx=rect.right-rect.left; 1124 size.cy=rect.bottom-rect.top; 1125 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ListView","",WS_CHILD|WS_VISIBLE,WS_EX_CLIENTEDGE,CT_LISTVIEW,0,0,1); 1126 } 1127 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_PROGRESSBAR){ 1128 //プロバレス バー作成 1129 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1130 RadInfo.DraggingRect[0].left-=70; 1131 RadInfo.DraggingRect[0].right=mouse.x+70; 1132 RadInfo.DraggingRect[0].top-=10; 1133 RadInfo.DraggingRect[0].bottom=mouse.y+11; 1134 } 1135 else{ 1136 RadInfo.DraggingRect[0].right=mouse.x; 1137 RadInfo.DraggingRect[0].bottom=mouse.y; 1138 } 1139 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1140 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1141 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1142 size.cx=rect.right-rect.left; 1143 size.cy=rect.bottom-rect.top; 1144 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ProgressBar","",WS_CHILD|WS_VISIBLE,WS_EX_STATICEDGE,CT_PROGRESSBAR,0,0,1); 1145 } 1146 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_RADIOBUTTON){ 1147 //ラジオ ボタン作成 1148 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1149 RadInfo.DraggingRect[0].left-=31; 1150 RadInfo.DraggingRect[0].right=mouse.x+32; 1151 RadInfo.DraggingRect[0].top-=7; 1152 RadInfo.DraggingRect[0].bottom=mouse.y+8; 1153 } 1154 else{ 1155 RadInfo.DraggingRect[0].right=mouse.x; 1156 RadInfo.DraggingRect[0].bottom=mouse.y; 1157 } 1158 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1159 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1160 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1161 size.cx=rect.right-rect.left; 1162 size.cy=rect.bottom-rect.top; 1163 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"RadioButton","radio",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON,0,CT_RADIOBUTTON,0,0,1); 1164 } 1165 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_STATIC){ 1166 //スタティック コントロール作成 1167 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1168 RadInfo.DraggingRect[0].left-=25; 1169 RadInfo.DraggingRect[0].right=mouse.x+25; 1170 RadInfo.DraggingRect[0].top-=6; 1171 RadInfo.DraggingRect[0].bottom=mouse.y+6; 1172 } 1173 else{ 1174 RadInfo.DraggingRect[0].right=mouse.x; 1175 RadInfo.DraggingRect[0].bottom=mouse.y; 1176 } 1177 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1178 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1179 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1180 size.cx=rect.right-rect.left; 1181 size.cy=rect.bottom-rect.top; 1182 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"Static","Text",WS_CHILD|WS_VISIBLE,0,CT_STATIC,0,0,1); 1183 } 1184 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_TRACKBAR){ 1185 //トラック バー作成 1186 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1187 RadInfo.DraggingRect[0].left-=87; 1188 RadInfo.DraggingRect[0].right=mouse.x+88; 1189 RadInfo.DraggingRect[0].top-=11; 1190 RadInfo.DraggingRect[0].bottom=mouse.y+12; 1191 } 1192 else{ 1193 RadInfo.DraggingRect[0].right=mouse.x; 1194 RadInfo.DraggingRect[0].bottom=mouse.y; 1195 } 1196 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1197 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1198 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1199 size.cx=rect.right-rect.left; 1200 size.cy=rect.bottom-rect.top; 1201 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"TrackBar","",WS_CHILD|WS_VISIBLE|TBS_BOTH|TBS_NOTICKS,0,CT_TRACKBAR,0,0,1); 1202 } 1203 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_TREEVIEW){ 1204 //ツリー ビュー作成 1205 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1206 RadInfo.DraggingRect[0].left-=52; 1207 RadInfo.DraggingRect[0].right=mouse.x+53; 1208 RadInfo.DraggingRect[0].top-=37; 1209 RadInfo.DraggingRect[0].bottom=mouse.y+38; 1210 } 1211 else{ 1212 RadInfo.DraggingRect[0].right=mouse.x; 1213 RadInfo.DraggingRect[0].bottom=mouse.y; 1214 } 1215 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1216 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1217 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1218 size.cx=rect.right-rect.left; 1219 size.cy=rect.bottom-rect.top; 1220 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"TreeView","",WS_CHILD|WS_VISIBLE,WS_EX_CLIENTEDGE,CT_TREEVIEW,0,0,1); 1221 } 1222 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_UPDOWN){ 1223 //アップ ダウン コントロール作成 1224 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1225 RadInfo.DraggingRect[0].left-=8; 1226 RadInfo.DraggingRect[0].right=mouse.x+8; 1227 RadInfo.DraggingRect[0].top-=10; 1228 RadInfo.DraggingRect[0].bottom=mouse.y+11; 1229 } 1230 else{ 1231 RadInfo.DraggingRect[0].right=mouse.x; 1232 RadInfo.DraggingRect[0].bottom=mouse.y; 1233 } 1234 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1235 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1236 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1237 size.cx=rect.right-rect.left; 1238 size.cy=rect.bottom-rect.top; 1239 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"UpDown","",WS_CHILD|WS_VISIBLE,0,CT_UPDOWN,0,0,1); 1240 } 1241 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_VSCROLLBAR){ 1242 //垂直スクロールバー作成 1243 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){ 1244 RadInfo.DraggingRect[0].left-=9; 1245 RadInfo.DraggingRect[0].right=mouse.x+9; 1246 RadInfo.DraggingRect[0].top-=30; 1247 RadInfo.DraggingRect[0].bottom=mouse.y+30; 1248 } 1249 else{ 1250 RadInfo.DraggingRect[0].right=mouse.x; 1251 RadInfo.DraggingRect[0].bottom=mouse.y; 1252 } 1253 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect); 1254 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x; 1255 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y; 1256 size.cx=rect.right-rect.left; 1257 size.cy=rect.bottom-rect.top; 1258 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"VScrollBar","",WS_CHILD|WS_VISIBLE|SBS_VERT,0,CT_VSCROLLBAR,0,0,1); 1259 } 1260 SendMessage(GetWindow(MdiInfo[i].MdiRadInfo->hTools,GW_CHILD),WM_COMMAND,IDC_TOOL_MOUSE,0); 1261 SendMessage(GetWindow(GetWindow(MdiInfo[i].MdiRadInfo->hTools,GW_CHILD),GW_CHILD),TB_CHECKBUTTON,IDC_TOOL_MOUSE,TRUE); 1262 ChangePropertyWindow(i,i2); 1263 1264 //複数選択を解除 1265 MdiInfo[i].MdiRadInfo->SelectingItem[1]=-1; 1266 } 1267 1268 RadInfo.NowDragging=0; 1269 1270 ResetState_EditMenu(); 1271 return 0; 868 1272 } 869 else{870 RadInfo.DraggingRect[0].left=mouse.x;871 RadInfo.DraggingRect[0].top=mouse.y;872 RadInfo.NowDragging=ITEM_MAKING;873 }874 return 0;875 case WM_LBUTTONUP:876 ReleaseCapture();877 878 SetFocus(hwnd);879 mouse.x=(int)(short)LOWORD(lParam);880 mouse.y=(int)(short)HIWORD(lParam);881 CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y);882 883 hParent=GetParent(hwnd);884 i=GetWndNum(hParent);885 i2=GetWndInfoNum(MdiInfo[i].path);886 887 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){888 if(RadInfo.NowDragging){889 if(RadInfo.DragStartPos.x==mouse.x&&RadInfo.DragStartPos.y==mouse.y){890 RadInfo.NowDragging=0;891 InvalidateRect(hwnd,NULL,0);892 ResetState_EditMenu();893 return 0;894 }895 896 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){897 if(RadInfo.NowDragging==SELECTING_FRAME){898 SetItemNumOnFrame(i,i2,&RadInfo.DraggingRect[0]);899 InvalidateRect(hwnd,NULL,1);900 }901 else{902 //ウィンドウ枠の調整完了903 PointAndSize.size=ProjectInfo.pWindowInfo[i2].size;904 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize);905 ProjectInfo.pWindowInfo[i2].size.cx=RadInfo.DraggingRect[0].right-LEVER_THICK;906 ProjectInfo.pWindowInfo[i2].size.cy=RadInfo.DraggingRect[0].bottom-LEVER_THICK;907 DrawRadWindow(i,&ProjectInfo.pWindowInfo[i2]);908 InvalidateRect(hwnd,NULL,1);909 910 GetClientRect(hwnd,&rect);911 ResetScrollbarOfRadEditor(i,rect.right,rect.bottom);912 }913 }914 else{915 i3=0;916 while(MdiInfo[i].MdiRadInfo->SelectingItem[i3]!=-1){917 //アイテム枠の調整完了918 PointAndSize.pos=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos;919 PointAndSize.size=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size;920 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize);921 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x=RadInfo.DraggingRect[i3].left-MdiInfo[i].MdiRadInfo->ClientPos.x;922 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y=RadInfo.DraggingRect[i3].top-MdiInfo[i].MdiRadInfo->ClientPos.y;923 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cx=RadInfo.DraggingRect[i3].right-RadInfo.DraggingRect[i3].left;924 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size.cy=RadInfo.DraggingRect[i3].bottom-RadInfo.DraggingRect[i3].top;925 DrawRadWindow(i,&ProjectInfo.pWindowInfo[i2]);926 i3++;927 }928 }929 930 SetStatusText(NULL);931 932 //サポートダイアログの内容をセット933 SetSupportDlgData(i,i2);934 }935 }936 else if(RadInfo.NowDragging==ITEM_MAKING){937 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_BUTTON){938 //ボタン コントロール作成939 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){940 RadInfo.DraggingRect[0].left-=44;941 RadInfo.DraggingRect[0].right=mouse.x+44;942 RadInfo.DraggingRect[0].top-=10;943 RadInfo.DraggingRect[0].bottom=mouse.y+11;944 }945 else{946 RadInfo.DraggingRect[0].right=mouse.x;947 RadInfo.DraggingRect[0].bottom=mouse.y;948 }949 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);950 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;951 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;952 size.cx=rect.right-rect.left;953 size.cy=rect.bottom-rect.top;954 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"CommandButton","Button",WS_CHILD|WS_VISIBLE,0,CT_BUTTON,0,0,1);955 }956 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_CHECKBOX){957 //チェック ボックス作成958 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){959 RadInfo.DraggingRect[0].left-=33;960 RadInfo.DraggingRect[0].right=mouse.x+34;961 RadInfo.DraggingRect[0].top-=7;962 RadInfo.DraggingRect[0].bottom=mouse.y+8;963 }964 else{965 RadInfo.DraggingRect[0].right=mouse.x;966 RadInfo.DraggingRect[0].bottom=mouse.y;967 }968 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);969 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;970 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;971 size.cx=rect.right-rect.left;972 size.cy=rect.bottom-rect.top;973 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"CheckBox","Check",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,0,CT_CHECKBOX,0,0,1);974 }975 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_COMBOBOX){976 //コンボ ボックス作成977 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){978 RadInfo.DraggingRect[0].left-=42;979 RadInfo.DraggingRect[0].right=mouse.x+42;980 RadInfo.DraggingRect[0].top-=42;981 RadInfo.DraggingRect[0].bottom=mouse.y+42;982 }983 else{984 RadInfo.DraggingRect[0].right=mouse.x;985 RadInfo.DraggingRect[0].bottom=mouse.y;986 }987 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);988 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;989 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;990 size.cx=rect.right-rect.left;991 size.cy=rect.bottom-rect.top;992 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ComboBox","",WS_CHILD|WS_VISIBLE|CBS_DROPDOWN|CBS_SORT|WS_VSCROLL,0,CT_COMBOBOX,0,0,1);993 }994 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_EDIT){995 //エディット コントロール作成996 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){997 RadInfo.DraggingRect[0].left-=35;998 RadInfo.DraggingRect[0].right=mouse.x+35;999 RadInfo.DraggingRect[0].top-=10;1000 RadInfo.DraggingRect[0].bottom=mouse.y+11;1001 }1002 else{1003 RadInfo.DraggingRect[0].right=mouse.x;1004 RadInfo.DraggingRect[0].bottom=mouse.y;1005 }1006 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1007 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1008 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1009 size.cx=rect.right-rect.left;1010 size.cy=rect.bottom-rect.top;1011 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"EditBox","",WS_CHILD|WS_VISIBLE,WS_EX_CLIENTEDGE,CT_EDIT,0,0,1);1012 }1013 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_GROUPBOX){1014 //グループ ボックス作成1015 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1016 RadInfo.DraggingRect[0].left-=42;1017 RadInfo.DraggingRect[0].right=mouse.x+42;1018 RadInfo.DraggingRect[0].top-=30;1019 RadInfo.DraggingRect[0].bottom=mouse.y+30;1020 }1021 else{1022 RadInfo.DraggingRect[0].right=mouse.x;1023 RadInfo.DraggingRect[0].bottom=mouse.y;1024 }1025 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1026 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1027 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1028 size.cx=rect.right-rect.left;1029 size.cy=rect.bottom-rect.top;1030 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"GroupBox","Group",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,0,CT_GROUPBOX,0,0,1);1031 }1032 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_HSCROLLBAR){1033 //水平スクロールバー作成1034 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1035 RadInfo.DraggingRect[0].left-=35;1036 RadInfo.DraggingRect[0].right=mouse.x+35;1037 RadInfo.DraggingRect[0].top-=8;1038 RadInfo.DraggingRect[0].bottom=mouse.y+9;1039 }1040 else{1041 RadInfo.DraggingRect[0].right=mouse.x;1042 RadInfo.DraggingRect[0].bottom=mouse.y;1043 }1044 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1045 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1046 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1047 size.cx=rect.right-rect.left;1048 size.cy=rect.bottom-rect.top;1049 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"HScrollBar","",WS_CHILD|WS_VISIBLE|SBS_HORZ,0,CT_HSCROLLBAR,0,0,1);1050 }1051 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_IMAGEBOX){1052 //イメージ ボックス作成1053 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1054 RadInfo.DraggingRect[0].left-=16;1055 RadInfo.DraggingRect[0].right=mouse.x+16;1056 RadInfo.DraggingRect[0].top-=16;1057 RadInfo.DraggingRect[0].bottom=mouse.y+16;1058 }1059 else{1060 RadInfo.DraggingRect[0].right=mouse.x;1061 RadInfo.DraggingRect[0].bottom=mouse.y;1062 }1063 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1064 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1065 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1066 size.cx=rect.right-rect.left;1067 size.cy=rect.bottom-rect.top;1068 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ImageBox","",WS_CHILD|WS_VISIBLE|SS_BLACKFRAME,0,CT_IMAGEBOX,IMGTYPE_FILE,0,1);1069 }1070 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_LISTBOX){1071 //リスト ボックス作成1072 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1073 RadInfo.DraggingRect[0].left-=42;1074 RadInfo.DraggingRect[0].right=mouse.x+42;1075 RadInfo.DraggingRect[0].top-=30;1076 RadInfo.DraggingRect[0].bottom=mouse.y+30;1077 }1078 else{1079 RadInfo.DraggingRect[0].right=mouse.x;1080 RadInfo.DraggingRect[0].bottom=mouse.y;1081 }1082 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1083 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1084 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1085 size.cx=rect.right-rect.left;1086 size.cy=rect.bottom-rect.top;1087 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ListBox","",WS_CHILD|WS_VISIBLE|WS_VSCROLL|LBS_SORT|LBS_NOTIFY,WS_EX_CLIENTEDGE,CT_LISTBOX,0,0,1);1088 }1089 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_LISTVIEW){1090 //リスト ビュー作成1091 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1092 RadInfo.DraggingRect[0].left-=52;1093 RadInfo.DraggingRect[0].right=mouse.x+53;1094 RadInfo.DraggingRect[0].top-=37;1095 RadInfo.DraggingRect[0].bottom=mouse.y+38;1096 }1097 else{1098 RadInfo.DraggingRect[0].right=mouse.x;1099 RadInfo.DraggingRect[0].bottom=mouse.y;1100 }1101 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1102 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1103 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1104 size.cx=rect.right-rect.left;1105 size.cy=rect.bottom-rect.top;1106 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ListView","",WS_CHILD|WS_VISIBLE,WS_EX_CLIENTEDGE,CT_LISTVIEW,0,0,1);1107 }1108 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_PROGRESSBAR){1109 //プロバレス バー作成1110 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1111 RadInfo.DraggingRect[0].left-=70;1112 RadInfo.DraggingRect[0].right=mouse.x+70;1113 RadInfo.DraggingRect[0].top-=10;1114 RadInfo.DraggingRect[0].bottom=mouse.y+11;1115 }1116 else{1117 RadInfo.DraggingRect[0].right=mouse.x;1118 RadInfo.DraggingRect[0].bottom=mouse.y;1119 }1120 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1121 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1122 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1123 size.cx=rect.right-rect.left;1124 size.cy=rect.bottom-rect.top;1125 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"ProgressBar","",WS_CHILD|WS_VISIBLE,WS_EX_STATICEDGE,CT_PROGRESSBAR,0,0,1);1126 }1127 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_RADIOBUTTON){1128 //ラジオ ボタン作成1129 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1130 RadInfo.DraggingRect[0].left-=31;1131 RadInfo.DraggingRect[0].right=mouse.x+32;1132 RadInfo.DraggingRect[0].top-=7;1133 RadInfo.DraggingRect[0].bottom=mouse.y+8;1134 }1135 else{1136 RadInfo.DraggingRect[0].right=mouse.x;1137 RadInfo.DraggingRect[0].bottom=mouse.y;1138 }1139 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1140 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1141 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1142 size.cx=rect.right-rect.left;1143 size.cy=rect.bottom-rect.top;1144 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"RadioButton","radio",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON,0,CT_RADIOBUTTON,0,0,1);1145 }1146 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_STATIC){1147 //スタティック コントロール作成1148 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1149 RadInfo.DraggingRect[0].left-=25;1150 RadInfo.DraggingRect[0].right=mouse.x+25;1151 RadInfo.DraggingRect[0].top-=6;1152 RadInfo.DraggingRect[0].bottom=mouse.y+6;1153 }1154 else{1155 RadInfo.DraggingRect[0].right=mouse.x;1156 RadInfo.DraggingRect[0].bottom=mouse.y;1157 }1158 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1159 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1160 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1161 size.cx=rect.right-rect.left;1162 size.cy=rect.bottom-rect.top;1163 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"Static","Text",WS_CHILD|WS_VISIBLE,0,CT_STATIC,0,0,1);1164 }1165 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_TRACKBAR){1166 //トラック バー作成1167 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1168 RadInfo.DraggingRect[0].left-=87;1169 RadInfo.DraggingRect[0].right=mouse.x+88;1170 RadInfo.DraggingRect[0].top-=11;1171 RadInfo.DraggingRect[0].bottom=mouse.y+12;1172 }1173 else{1174 RadInfo.DraggingRect[0].right=mouse.x;1175 RadInfo.DraggingRect[0].bottom=mouse.y;1176 }1177 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1178 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1179 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1180 size.cx=rect.right-rect.left;1181 size.cy=rect.bottom-rect.top;1182 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"TrackBar","",WS_CHILD|WS_VISIBLE|TBS_BOTH|TBS_NOTICKS,0,CT_TRACKBAR,0,0,1);1183 }1184 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_TREEVIEW){1185 //ツリー ビュー作成1186 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1187 RadInfo.DraggingRect[0].left-=52;1188 RadInfo.DraggingRect[0].right=mouse.x+53;1189 RadInfo.DraggingRect[0].top-=37;1190 RadInfo.DraggingRect[0].bottom=mouse.y+38;1191 }1192 else{1193 RadInfo.DraggingRect[0].right=mouse.x;1194 RadInfo.DraggingRect[0].bottom=mouse.y;1195 }1196 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1197 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1198 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1199 size.cx=rect.right-rect.left;1200 size.cy=rect.bottom-rect.top;1201 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"TreeView","",WS_CHILD|WS_VISIBLE,WS_EX_CLIENTEDGE,CT_TREEVIEW,0,0,1);1202 }1203 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_UPDOWN){1204 //アップ ダウン コントロール作成1205 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1206 RadInfo.DraggingRect[0].left-=8;1207 RadInfo.DraggingRect[0].right=mouse.x+8;1208 RadInfo.DraggingRect[0].top-=10;1209 RadInfo.DraggingRect[0].bottom=mouse.y+11;1210 }1211 else{1212 RadInfo.DraggingRect[0].right=mouse.x;1213 RadInfo.DraggingRect[0].bottom=mouse.y;1214 }1215 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1216 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1217 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1218 size.cx=rect.right-rect.left;1219 size.cy=rect.bottom-rect.top;1220 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"UpDown","",WS_CHILD|WS_VISIBLE,0,CT_UPDOWN,0,0,1);1221 }1222 else if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_VSCROLLBAR){1223 //垂直スクロールバー作成1224 if(RadInfo.DraggingRect[0].left==mouse.x&&RadInfo.DraggingRect[0].top==mouse.y){1225 RadInfo.DraggingRect[0].left-=9;1226 RadInfo.DraggingRect[0].right=mouse.x+9;1227 RadInfo.DraggingRect[0].top-=30;1228 RadInfo.DraggingRect[0].bottom=mouse.y+30;1229 }1230 else{1231 RadInfo.DraggingRect[0].right=mouse.x;1232 RadInfo.DraggingRect[0].bottom=mouse.y;1233 }1234 RectNaturalFormat(&RadInfo.DraggingRect[0],&rect);1235 pos.x=rect.left-MdiInfo[i].MdiRadInfo->ClientPos.x;1236 pos.y=rect.top-MdiInfo[i].MdiRadInfo->ClientPos.y;1237 size.cx=rect.right-rect.left;1238 size.cy=rect.bottom-rect.top;1239 MdiInfo[i].MdiRadInfo->SelectingItem[0]=InsertDlgItem(i,i2,-1,&pos,&size,"VScrollBar","",WS_CHILD|WS_VISIBLE|SBS_VERT,0,CT_VSCROLLBAR,0,0,1);1240 }1241 SendMessage(GetWindow(MdiInfo[i].MdiRadInfo->hTools,GW_CHILD),WM_COMMAND,IDC_TOOL_MOUSE,0);1242 SendMessage(GetWindow(GetWindow(MdiInfo[i].MdiRadInfo->hTools,GW_CHILD),GW_CHILD),TB_CHECKBUTTON,IDC_TOOL_MOUSE,TRUE);1243 ChangePropertyWindow(i,i2);1244 1245 //複数選択を解除1246 MdiInfo[i].MdiRadInfo->SelectingItem[1]=-1;1247 }1248 1249 RadInfo.NowDragging=0;1250 1251 ResetState_EditMenu();1252 return 0;1253 1273 case WM_MOUSEMOVE: 1254 1274 mouse.x=(int)(short)LOWORD(lParam); … … 1258 1278 hParent=GetParent(hwnd); 1259 1279 i=GetWndNum(hParent); 1260 i2 =GetWndInfoNum(MdiInfo[i].path);1280 i2 = GetWndInfoNum(MdiInfo[i].path); 1261 1281 1262 1282 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ … … 1414 1434 return 0; 1415 1435 case WM_LBUTTONDBLCLK: 1416 mouse.x=LOWORD(lParam); 1417 mouse.y=HIWORD(lParam); 1418 CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y); 1419 1420 hParent=GetParent(hwnd); 1421 i=GetWndNum(hParent); 1422 i2=GetWndInfoNum(MdiInfo[i].path); 1423 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ 1424 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW){ 1425 temp2[0]=0; 1426 if(ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_BUTTON|| 1427 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_CHECKBOX|| 1428 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_IMAGEBOX|| 1429 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_RADIOBUTTON|| 1430 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_STATIC){ 1431 sprintf(temporary,"%s_%s_Click",ProjectInfo.pWindowInfo[i2].name,ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName); 1432 } 1433 else if(ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_COMBOBOX) 1434 sprintf(temporary,"%s_%s_EditChange",ProjectInfo.pWindowInfo[i2].name,ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName); 1435 else if(ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_EDIT) 1436 sprintf(temporary,"%s_%s_Change",ProjectInfo.pWindowInfo[i2].name,ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName); 1437 else if(ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_LISTBOX) 1438 sprintf(temporary,"%s_%s_SelChange",ProjectInfo.pWindowInfo[i2].name,ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName); 1439 else temporary[0]=0; 1440 if(temporary[0]) SelectProcedureOfMessageCall(i2,temporary,temp2); 1436 { 1437 mouse.x=LOWORD(lParam); 1438 mouse.y=HIWORD(lParam); 1439 CursorPos_LocalToGlobal(hwnd,&mouse.x,&mouse.y); 1440 1441 hParent=GetParent(hwnd); 1442 i=GetWndNum(hParent); 1443 i2=GetWndInfoNum(MdiInfo[i].path); 1444 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path); 1445 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ 1446 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]!=SELECT_WINDOW){ 1447 temp2[0]=0; 1448 if(pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_BUTTON|| 1449 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_CHECKBOX|| 1450 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_IMAGEBOX|| 1451 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_RADIOBUTTON|| 1452 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_STATIC){ 1453 sprintf(temporary,"%s_%s_Click",pWindowInfo->name,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName); 1454 } 1455 else if(pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_COMBOBOX) 1456 sprintf(temporary,"%s_%s_EditChange",pWindowInfo->name,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName); 1457 else if(pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_EDIT) 1458 sprintf(temporary,"%s_%s_Change",pWindowInfo->name,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName); 1459 else if(pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].Control==CT_LISTBOX) 1460 sprintf(temporary,"%s_%s_SelChange",pWindowInfo->name,pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].IdName); 1461 else temporary[0]=0; 1462 if(temporary[0]) SelectProcedureOfMessageCall(i2,temporary,temp2); 1463 } 1441 1464 } 1465 return 0; 1442 1466 } 1443 return 0;1444 1467 case WM_KEYDOWN: 1445 hParent=GetParent(hwnd); 1446 i=GetWndNum(hParent); 1447 i2=GetWndInfoNum(MdiInfo[i].path); 1448 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ 1449 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){ 1450 PointAndSize.pos=ProjectInfo.pWindowInfo[i2].pos; 1451 PointAndSize.size=ProjectInfo.pWindowInfo[i2].size; 1452 if(GetKeyState(VK_SHIFT)&0x8000){ 1453 if(wParam==VK_RIGHT||wParam==VK_LEFT||wParam==VK_DOWN||wParam==VK_UP) 1454 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1455 1456 if(wParam==VK_RIGHT) 1457 ProjectInfo.pWindowInfo[i2].size.cx++; 1458 else if(wParam==VK_LEFT) 1459 ProjectInfo.pWindowInfo[i2].size.cx--; 1460 else if(wParam==VK_DOWN) 1461 ProjectInfo.pWindowInfo[i2].size.cy++; 1462 else if(wParam==VK_UP) 1463 ProjectInfo.pWindowInfo[i2].size.cy--; 1464 1465 if(wParam==VK_RIGHT||wParam==VK_LEFT||wParam==VK_DOWN||wParam==VK_UP){ 1466 DrawRadWindow(i,&ProjectInfo.pWindowInfo[i2]); 1467 1468 { 1469 hParent=GetParent(hwnd); 1470 i=GetWndNum(hParent); 1471 i2=GetWndInfoNum(MdiInfo[i].path); 1472 WINDOW_INFO *pWindowInfo = GetWndInfo(MdiInfo[i].path); 1473 if(MdiInfo[i].MdiRadInfo->ButtonSelect==IDC_TOOL_MOUSE){ 1474 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW){ 1475 PointAndSize.pos=pWindowInfo->pos; 1476 PointAndSize.size=pWindowInfo->size; 1477 if(GetKeyState(VK_SHIFT)&0x8000){ 1478 if(wParam==VK_RIGHT||wParam==VK_LEFT||wParam==VK_DOWN||wParam==VK_UP) 1479 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1480 1481 if(wParam==VK_RIGHT) 1482 pWindowInfo->size.cx++; 1483 else if(wParam==VK_LEFT) 1484 pWindowInfo->size.cx--; 1485 else if(wParam==VK_DOWN) 1486 pWindowInfo->size.cy++; 1487 else if(wParam==VK_UP) 1488 pWindowInfo->size.cy--; 1489 1490 if(wParam==VK_RIGHT||wParam==VK_LEFT||wParam==VK_DOWN||wParam==VK_UP){ 1491 DrawRadWindow(i,pWindowInfo); 1492 1493 SetStatusText(NULL); 1494 1495 //サポートダイアログの内容をセット 1496 SetSupportDlgData(i,i2); 1497 } 1498 } 1499 } 1500 else{ 1501 PointAndSize.pos=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].pos; 1502 PointAndSize.size=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size; 1503 if(wParam==VK_RIGHT){ 1504 if(GetKeyState(VK_SHIFT)&0x8000){ 1505 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1506 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size.cx++; 1507 } 1508 else{ 1509 for(i3=0;;i3++){ 1510 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break; 1511 PointAndSize.pos=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 1512 PointAndSize.size=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 1513 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 1514 1515 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x++; 1516 } 1517 } 1518 DrawRadWindow(i,pWindowInfo); 1468 1519 SetStatusText(NULL); 1469 1520 … … 1471 1522 SetSupportDlgData(i,i2); 1472 1523 } 1524 else if(wParam==VK_LEFT){ 1525 if(GetKeyState(VK_SHIFT)&0x8000){ 1526 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1527 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size.cx--; 1528 } 1529 else{ 1530 for(i3=0;;i3++){ 1531 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break; 1532 PointAndSize.pos=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 1533 PointAndSize.size=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 1534 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 1535 1536 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x--; 1537 } 1538 } 1539 DrawRadWindow(i,pWindowInfo); 1540 SetStatusText(NULL); 1541 1542 //サポートダイアログの内容をセット 1543 SetSupportDlgData(i,i2); 1544 } 1545 else if(wParam==VK_UP){ 1546 if(GetKeyState(VK_SHIFT)&0x8000){ 1547 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1548 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size.cy--; 1549 } 1550 else{ 1551 for(i3=0;;i3++){ 1552 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break; 1553 PointAndSize.pos=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 1554 PointAndSize.size=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 1555 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 1556 1557 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y--; 1558 } 1559 } 1560 DrawRadWindow(i,pWindowInfo); 1561 SetStatusText(NULL); 1562 1563 //サポートダイアログの内容をセット 1564 SetSupportDlgData(i,i2); 1565 } 1566 else if(wParam==VK_DOWN){ 1567 if(GetKeyState(VK_SHIFT)&0x8000){ 1568 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1569 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size.cy++; 1570 } 1571 else{ 1572 for(i3=0;;i3++){ 1573 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break; 1574 PointAndSize.pos=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 1575 PointAndSize.size=pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 1576 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 1577 1578 pWindowInfo->pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y++; 1579 } 1580 } 1581 DrawRadWindow(i,pWindowInfo); 1582 SetStatusText(NULL); 1583 1584 //サポートダイアログの内容をセット 1585 SetSupportDlgData(i,i2); 1586 } 1587 else if(wParam==VK_DELETE) 1588 SendMessage(hwnd,WM_COMMAND,IDM_RAD_ITEM_DELETE,0); 1473 1589 } 1474 1590 } 1475 else{ 1476 PointAndSize.pos=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].pos; 1477 PointAndSize.size=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size; 1478 if(wParam==VK_RIGHT){ 1479 if(GetKeyState(VK_SHIFT)&0x8000){ 1480 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1481 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size.cx++; 1482 } 1483 else{ 1484 for(i3=0;;i3++){ 1485 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break; 1486 PointAndSize.pos=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 1487 PointAndSize.size=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 1488 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 1489 1490 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x++; 1491 } 1492 } 1493 DrawRadWindow(i,&ProjectInfo.pWindowInfo[i2]); 1494 SetStatusText(NULL); 1495 1496 //サポートダイアログの内容をセット 1497 SetSupportDlgData(i,i2); 1498 } 1499 else if(wParam==VK_LEFT){ 1500 if(GetKeyState(VK_SHIFT)&0x8000){ 1501 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1502 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size.cx--; 1503 } 1504 else{ 1505 for(i3=0;;i3++){ 1506 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break; 1507 PointAndSize.pos=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 1508 PointAndSize.size=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 1509 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 1510 1511 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.x--; 1512 } 1513 } 1514 DrawRadWindow(i,&ProjectInfo.pWindowInfo[i2]); 1515 SetStatusText(NULL); 1516 1517 //サポートダイアログの内容をセット 1518 SetSupportDlgData(i,i2); 1519 } 1520 else if(wParam==VK_UP){ 1521 if(GetKeyState(VK_SHIFT)&0x8000){ 1522 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1523 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size.cy--; 1524 } 1525 else{ 1526 for(i3=0;;i3++){ 1527 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break; 1528 PointAndSize.pos=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 1529 PointAndSize.size=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 1530 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 1531 1532 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y--; 1533 } 1534 } 1535 DrawRadWindow(i,&ProjectInfo.pWindowInfo[i2]); 1536 SetStatusText(NULL); 1537 1538 //サポートダイアログの内容をセット 1539 SetSupportDlgData(i,i2); 1540 } 1541 else if(wParam==VK_DOWN){ 1542 if(GetKeyState(VK_SHIFT)&0x8000){ 1543 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[0],(DWORD)&PointAndSize); 1544 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[0]].size.cy++; 1545 } 1546 else{ 1547 for(i3=0;;i3++){ 1548 if(MdiInfo[i].MdiRadInfo->SelectingItem[i3]==-1) break; 1549 PointAndSize.pos=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos; 1550 PointAndSize.size=ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].size; 1551 Rad_NoticeChanging(i,RAD_UNDO_POSITION,MdiInfo[i].MdiRadInfo->SelectingItem[i3],(DWORD)&PointAndSize); 1552 1553 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[i].MdiRadInfo->SelectingItem[i3]].pos.y++; 1554 } 1555 } 1556 DrawRadWindow(i,&ProjectInfo.pWindowInfo[i2]); 1557 SetStatusText(NULL); 1558 1559 //サポートダイアログの内容をセット 1560 SetSupportDlgData(i,i2); 1561 } 1562 else if(wParam==VK_DELETE) 1563 SendMessage(hwnd,WM_COMMAND,IDM_RAD_ITEM_DELETE,0); 1564 } 1591 return 0; 1565 1592 } 1566 return 0;1567 1593 case WM_SETFOCUS: 1568 1594 i=GetWndNum(GetParent(hwnd));
Note:
See TracChangeset
for help on using the changeset viewer.