Changeset 497 in dev for trunk/ab5.0
- Timestamp:
- Apr 19, 2008, 7:08:37 PM (17 years ago)
- Location:
- trunk/ab5.0/abdev/abdev
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/abdev.cpp
r496 r497 1374 1374 case WM_COMMAND: 1375 1375 switch(LOWORD(wParam)){ 1376 case IDM_SAVE:1377 SaveDocument(GetWindow(hClient,GW_CHILD),NULL);1378 return 0;1379 case IDM_NEWSAVE:1380 //"保存先のファイルを指定してください"1381 if(!GetFilePathDialog(hwnd,str,DefFileFilter,STRING_FILESAVETITLE_DEFAULT,FALSE)) return 0;1382 1383 SaveDocument(GetWindow(hClient,GW_CHILD),str);1384 return 0;1385 case IDM_CODE_SAVE:1386 //文字コードを指定して保存1387 DialogBox(hResInst,MAKEINTRESOURCE(IDD_CODE_SAVE),hOwner,(DLGPROC)nkfDlgCodeSave);1388 return 0;1389 case IDM_ALLSAVE:1390 for(i=0;i<MAX_WNDNUM;i++){1391 if(MdiInfo[i].hwnd) SaveDocument(MdiInfo[i].hwnd,NULL);1392 }1393 if(ProjectInfo.name[0]) SaveProject();1394 return 0;1395 1396 case IDM_PAGESET:1397 //ページ設定1398 obj_Page.SetupDlg();1399 return 0;1400 1401 case IDM_PREVIEW:1402 //プレビュー(Pro版のみ)1403 Preview();1404 return 0;1405 1406 case IDM_PRINTOUT:1407 //印刷1408 Printout();1409 return 0;1410 1411 case IDM_EXIT:1412 SendMessage(hwnd,WM_CLOSE,0,0);1413 return 0;1414 case IDM_UNDO:1415 case (WORD)IDM_ACCEL_UNDO:1416 hChild=GetWindow(hClient,GW_CHILD);1417 if(!hChild) return 0;1418 WndNum=GetWndNum(hChild);1419 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType))1420 TextEdit_UndoCommand(WndNum);1421 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD)1422 Rad_UndoCommand(WndNum);1423 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT)1424 IconEdit_UndoCommand(WndNum);1425 return 0;1426 case IDM_REDO:1427 case (WORD)IDM_ACCEL_REDO:1428 hChild=GetWindow(hClient,GW_CHILD);1429 if(!hChild) return 0;1430 WndNum=GetWndNum(hChild);1431 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType))1432 TextEdit_RedoCommand(WndNum);1433 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD)1434 Rad_RedoCommand(WndNum);1435 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT)1436 IconEdit_RedoCommand(WndNum);1437 return 0;1438 case IDM_CUT:1439 hChild=GetWindow(hClient,GW_CHILD);1440 WndNum=GetWndNum(hChild);1441 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){1442 hEdit=GetWindow(hChild,GW_CHILD);1443 1444 TextEdit_GetSel(WndNum,&CharRange);1445 1446 hGlobal=(char *)GlobalAlloc(GMEM_MOVEABLE,CharRange.cpMax-CharRange.cpMin+1);1447 pTemp=(char *)GlobalLock(hGlobal);1448 memcpy(pTemp,MdiInfo[WndNum].pMdiTextEdit->buffer+CharRange.cpMin,CharRange.cpMax-CharRange.cpMin);1449 pTemp[CharRange.cpMax-CharRange.cpMin]=0;1450 GlobalUnlock(hGlobal);1451 1452 //クリップボードに保存1453 OpenClipboard(hwnd);1454 EmptyClipboard();1455 SetClipboardData(CF_TEXT,hGlobal);1456 CloseClipboard();1457 1458 //選択文字列を消去1459 SendMessage(hEdit,WM_KEYDOWN,VK_DELETE,0);1460 }1461 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){1462 i2=GetWndInfoNum(MdiInfo[WndNum].path);1463 1464 //クリップボードに格納するためのデータを用意する1465 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.x-=17;1466 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.y-=10;1467 hGlobal=Rad_GetChildInfoClipboardData(WndNum,i2);1468 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.x+=17;1469 ProjectInfo.pWindowInfo[i2].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.y+=10;1470 1471 OpenClipboard(hwnd);1472 EmptyClipboard();1473 SetClipboardData(dwRadClipboardID,hGlobal);1474 CloseClipboard();1475 1476 SendMessage(MdiInfo[WndNum].MdiRadInfo->hRad,WM_COMMAND,IDM_RAD_ITEM_DELETE,0);1477 }1478 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT){1479 //クリップボードに格納するためのデータを用意する1480 hGlobal=IconEdit_GetChildInfoClipboardData(WndNum);1481 if(hGlobal==0) return 0;1482 1483 OpenClipboard(hwnd);1484 EmptyClipboard();1485 SetClipboardData(CF_BITMAP,hGlobal);1486 CloseClipboard();1487 1488 DeleteObject(MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp);1489 MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=0;1490 1491 IconEdit_EraseRect(WndNum,&MdiInfo[WndNum].MdiIconEditInfo->DraggingRect);1492 }1493 return 0;1494 case IDM_COPY:1495 hChild=GetWindow(hClient,GW_CHILD);1496 WndNum=GetWndNum(hChild);1497 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){1498 hEdit=GetWindow(hChild,GW_CHILD);1499 1500 TextEdit_GetSel(WndNum,&CharRange);1501 1502 hGlobal=(char *)GlobalAlloc(GMEM_MOVEABLE,CharRange.cpMax-CharRange.cpMin+1);1503 pTemp=(char *)GlobalLock(hGlobal);1504 memcpy(pTemp,MdiInfo[WndNum].pMdiTextEdit->buffer+CharRange.cpMin,CharRange.cpMax-CharRange.cpMin);1505 pTemp[CharRange.cpMax-CharRange.cpMin]=0;1506 GlobalUnlock(hGlobal);1507 1508 //クリップボードに保存1509 OpenClipboard(hwnd);1510 EmptyClipboard();1511 SetClipboardData(CF_TEXT,hGlobal);1512 CloseClipboard();1513 }1514 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){1515 i2=GetWndInfoNum(MdiInfo[WndNum].path);1516 1517 //クリップボードに格納するためのデータを用意する1518 hGlobal=Rad_GetChildInfoClipboardData(WndNum,i2);1519 1520 OpenClipboard(hwnd);1521 EmptyClipboard();1522 SetClipboardData(dwRadClipboardID,hGlobal);1523 CloseClipboard();1524 }1525 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT){1526 //クリップボードに格納するためのデータを用意する1527 hGlobal=IconEdit_GetChildInfoClipboardData(WndNum);1528 1529 OpenClipboard(hwnd);1530 EmptyClipboard();1531 SetClipboardData(CF_BITMAP,hGlobal);1532 CloseClipboard();1533 }1534 return 0;1535 case IDM_PASTE:1536 hChild=GetWindow(hClient,GW_CHILD);1537 WndNum=GetWndNum(hChild);1538 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){1539 hEdit=GetWindow(hChild,GW_CHILD);1540 1541 //クリップボードを開く1542 OpenClipboard(hwnd);1543 hGlobal=GetClipboardData(CF_TEXT);1544 if(!hGlobal){1545 CloseClipboard();1546 return 0;1547 }1548 1549 1550 if(pobj_nv->bPasteIndent){1551 //インデント整形1552 pTemp=CodeFormatter((char *)GlobalLock(hGlobal));1553 GlobalUnlock(hGlobal);1554 }1555 else pTemp=(char *)GlobalLock(hGlobal);1556 1557 1558 //テキストエディタの文字列をリプレイス1559 TextEdit_ReplaceUpdateUndoData(WndNum,1560 pTemp,1561 1,1562 1);1563 1564 if(pobj_nv->bPasteIndent)1565 HeapDefaultFree(pTemp);1566 else1567 GlobalUnlock(hGlobal);1568 1569 //クリップボードを閉じる1570 CloseClipboard();1571 1572 1573 //キャレット位置までスクロールする1574 TextEdit_ScrollCaret(WndNum,0);1575 ResetCaretPos(WndNum);1576 }1577 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){1578 OpenClipboard(hwnd);1579 hGlobal=GetClipboardData(dwRadClipboardID);1580 if(!hGlobal){1581 CloseClipboard();1582 return 0;1583 }1584 Rad_PasteChildInfoClipboardData(WndNum,hGlobal);1585 CloseClipboard();1586 }1587 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT){1588 OpenClipboard(hwnd);1589 hGlobal=GetClipboardData(CF_BITMAP);1590 if(!hGlobal){1591 CloseClipboard();1592 return 0;1593 }1594 IconEdit_PasteChildInfoClipboardData(WndNum,(HBITMAP)hGlobal);1595 CloseClipboard();1596 }1597 return 0;1598 1376 case IDM_DELETE: 1599 1377 hChild=GetWindow(hClient,GW_CHILD); -
trunk/ab5.0/abdev/abdev/include/MainFrame.h
r496 r497 66 66 void OnCmdProjectFolderOpen( UINT uNotifyCode, int nID, CWindow wndCtl ); 67 67 68 // 「保存」メニューがクリックされた 69 void OnCmdSave( UINT uNotifyCode, int nID, CWindow wndCtl ); 70 71 // 「名前を付けて保存」メニューがクリックされた 72 void OnCmdNewSave( UINT uNotifyCode, int nID, CWindow wndCtl ); 73 74 // 「文字コードを指定して保存」メニューがクリックされた 75 void OnCmdCodeSave( UINT uNotifyCode, int nID, CWindow wndCtl ); 76 77 // 「すべて保存」メニューがクリックされた 78 void OnCmdAllSave( UINT uNotifyCode, int nID, CWindow wndCtl ); 79 80 // 「ページ設定」メニューがクリックされた 81 void OnCmdPageSet( UINT uNotifyCode, int nID, CWindow wndCtl ); 82 83 // 「印刷プレビュー」メニューがクリックされた 84 void OnCmdPreview( UINT uNotifyCode, int nID, CWindow wndCtl ); 85 86 // 「印刷」メニューがクリックされた 87 void OnCmdPrintOut( UINT uNotifyCode, int nID, CWindow wndCtl ); 88 89 // 「終了」メニューがクリックされた 90 void OnCmdExit( UINT uNotifyCode, int nID, CWindow wndCtl ); 91 92 // 「元に戻す」メニューがクリックされた 93 void OnCmdUndo( UINT uNotifyCode, int nID, CWindow wndCtl ); 94 95 // 「やり直し」メニューがクリックされた 96 void OnCmdRedo( UINT uNotifyCode, int nID, CWindow wndCtl ); 97 98 // 「切り取り」メニューがクリックされた 99 void OnCmdCut( UINT uNotifyCode, int nID, CWindow wndCtl ); 100 101 // 「コピー」メニューがクリックされた 102 void OnCmdCopy( UINT uNotifyCode, int nID, CWindow wndCtl ); 103 104 // 「貼り付け」メニューがクリックされた 105 void OnCmdPaste( UINT uNotifyCode, int nID, CWindow wndCtl ); 106 68 107 private: 69 108 // メッセージマップ … … 88 127 COMMAND_ID_HANDLER_EX( IDM_PROJECT_CLOSE, OnCmdProjectClose ) 89 128 COMMAND_ID_HANDLER_EX( IDM_PROJECT_FOLDER_OPEN, OnCmdProjectFolderOpen ) 129 COMMAND_ID_HANDLER_EX( IDM_SAVE, OnCmdSave ) 130 COMMAND_ID_HANDLER_EX( IDM_NEWSAVE, OnCmdNewSave ) 131 COMMAND_ID_HANDLER_EX( IDM_CODE_SAVE, OnCmdCodeSave ) 132 COMMAND_ID_HANDLER_EX( IDM_ALLSAVE, OnCmdAllSave ) 133 COMMAND_ID_HANDLER_EX( IDM_PAGESET, OnCmdPageSet ) 134 COMMAND_ID_HANDLER_EX( IDM_PREVIEW, OnCmdPreview ) 135 COMMAND_ID_HANDLER_EX( IDM_PRINTOUT, OnCmdPrintOut ) 136 COMMAND_ID_HANDLER_EX( IDM_EXIT, OnCmdExit ) 137 COMMAND_ID_HANDLER_EX( IDM_UNDO, OnCmdUndo ) 138 COMMAND_ID_HANDLER_EX( (WORD)IDM_ACCEL_UNDO, OnCmdUndo ) 139 COMMAND_ID_HANDLER_EX( IDM_REDO, OnCmdRedo ) 140 COMMAND_ID_HANDLER_EX( (WORD)IDM_ACCEL_REDO, OnCmdRedo ) 141 COMMAND_ID_HANDLER_EX( IDM_CUT, OnCmdCut ) 142 COMMAND_ID_HANDLER_EX( IDM_COPY, OnCmdCopy ) 143 COMMAND_ID_HANDLER_EX( IDM_PASTE, OnCmdPaste ) 90 144 END_MSG_MAP() 91 145 }; -
trunk/ab5.0/abdev/abdev/src/MainFrame.cpp
r496 r497 365 365 ShellExecute(m_hWnd,"explore",ProjectInfo.dir,NULL,NULL,SW_SHOWNORMAL); 366 366 } 367 368 void MainFrame::OnCmdSave( UINT uNotifyCode, int nID, CWindow wndCtl ) 369 { 370 SaveDocument(::GetWindow(hClient,GW_CHILD),NULL); 371 } 372 373 void MainFrame::OnCmdNewSave( UINT uNotifyCode, int nID, CWindow wndCtl ) 374 { 375 //"保存先のファイルを指定してください" 376 extern LPSTR DefFileFilter; 377 char temporary[1024]; 378 if(!GetFilePathDialog(m_hWnd,temporary,DefFileFilter,STRING_FILESAVETITLE_DEFAULT,FALSE)) return; 379 380 SaveDocument(::GetWindow(hClient,GW_CHILD),temporary); 381 } 382 383 void MainFrame::OnCmdCodeSave( UINT uNotifyCode, int nID, CWindow wndCtl ) 384 { 385 //文字コードを指定して保存 386 DialogBox(hResInst,MAKEINTRESOURCE(IDD_CODE_SAVE),m_hWnd,(DLGPROC)nkfDlgCodeSave); 387 } 388 389 void MainFrame::OnCmdAllSave( UINT uNotifyCode, int nID, CWindow wndCtl ) 390 { 391 for( int i=0;i<MAX_WNDNUM;i++){ 392 if(MdiInfo[i].hwnd) SaveDocument(MdiInfo[i].hwnd,NULL); 393 } 394 if(ProjectInfo.name[0]) SaveProject(); 395 } 396 397 void MainFrame::OnCmdPageSet( UINT uNotifyCode, int nID, CWindow wndCtl ) 398 { 399 //ページ設定 400 obj_Page.SetupDlg(); 401 } 402 403 void MainFrame::OnCmdPreview( UINT uNotifyCode, int nID, CWindow wndCtl ) 404 { 405 //プレビュー(Pro版のみ) 406 Preview(); 407 } 408 409 void MainFrame::OnCmdPrintOut( UINT uNotifyCode, int nID, CWindow wndCtl ) 410 { 411 //印刷 412 Printout(); 413 } 414 415 void MainFrame::OnCmdExit( UINT uNotifyCode, int nID, CWindow wndCtl ) 416 { 417 SendMessage(WM_CLOSE); 418 } 419 420 void MainFrame::OnCmdUndo( UINT uNotifyCode, int nID, CWindow wndCtl ) 421 { 422 HWND hChild=::GetWindow(hClient,GW_CHILD); 423 if(!hChild) return; 424 int WndNum=GetWndNum(hChild); 425 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)) 426 TextEdit_UndoCommand(WndNum); 427 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD) 428 Rad_UndoCommand(WndNum); 429 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT) 430 IconEdit_UndoCommand(WndNum); 431 } 432 433 void MainFrame::OnCmdRedo( UINT uNotifyCode, int nID, CWindow wndCtl ) 434 { 435 HWND hChild=::GetWindow(hClient,GW_CHILD); 436 if(!hChild) return; 437 int WndNum=GetWndNum(hChild); 438 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)) 439 TextEdit_RedoCommand(WndNum); 440 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD) 441 Rad_RedoCommand(WndNum); 442 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT) 443 IconEdit_RedoCommand(WndNum); 444 } 445 446 void MainFrame::OnCmdCut( UINT uNotifyCode, int nID, CWindow wndCtl ) 447 { 448 HWND hChild=::GetWindow(hClient,GW_CHILD); 449 int WndNum=GetWndNum(hChild); 450 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){ 451 HWND hEdit=::GetWindow(hChild,GW_CHILD); 452 453 CHARRANGE CharRange; 454 TextEdit_GetSel(WndNum,&CharRange); 455 456 HGLOBAL hGlobal=(char *)GlobalAlloc(GMEM_MOVEABLE,CharRange.cpMax-CharRange.cpMin+1); 457 char *pTemp=(char *)GlobalLock(hGlobal); 458 memcpy(pTemp,MdiInfo[WndNum].pMdiTextEdit->buffer+CharRange.cpMin,CharRange.cpMax-CharRange.cpMin); 459 pTemp[CharRange.cpMax-CharRange.cpMin]=0; 460 GlobalUnlock(hGlobal); 461 462 //クリップボードに保存 463 OpenClipboard(); 464 EmptyClipboard(); 465 SetClipboardData(CF_TEXT,hGlobal); 466 CloseClipboard(); 467 468 //選択文字列を消去 469 SendMessage(hEdit,WM_KEYDOWN,VK_DELETE,0); 470 } 471 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){ 472 int indexOfWndInfo = GetWndInfoNum(MdiInfo[WndNum].path); 473 474 //クリップボードに格納するためのデータを用意する 475 ProjectInfo.pWindowInfo[indexOfWndInfo].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.x-=17; 476 ProjectInfo.pWindowInfo[indexOfWndInfo].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.y-=10; 477 HGLOBAL hGlobal=Rad_GetChildInfoClipboardData(WndNum,indexOfWndInfo); 478 ProjectInfo.pWindowInfo[indexOfWndInfo].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.x+=17; 479 ProjectInfo.pWindowInfo[indexOfWndInfo].pChildInfo[MdiInfo[WndNum].MdiRadInfo->SelectingItem[0]].pos.y+=10; 480 481 OpenClipboard(); 482 EmptyClipboard(); 483 extern DWORD dwRadClipboardID; 484 SetClipboardData(dwRadClipboardID,hGlobal); 485 CloseClipboard(); 486 487 SendMessage(MdiInfo[WndNum].MdiRadInfo->hRad,WM_COMMAND,IDM_RAD_ITEM_DELETE,0); 488 } 489 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT){ 490 //クリップボードに格納するためのデータを用意する 491 HGLOBAL hGlobal=IconEdit_GetChildInfoClipboardData(WndNum); 492 if(hGlobal==0) return; 493 494 OpenClipboard(); 495 EmptyClipboard(); 496 SetClipboardData(CF_BITMAP,hGlobal); 497 CloseClipboard(); 498 499 DeleteObject(MdiInfo[WndNum].MdiIconEditInfo->hSelectingBmp); 500 MdiInfo[WndNum].MdiIconEditInfo->SelectLevel=0; 501 502 IconEdit_EraseRect(WndNum,&MdiInfo[WndNum].MdiIconEditInfo->DraggingRect); 503 } 504 } 505 506 void MainFrame::OnCmdCopy( UINT uNotifyCode, int nID, CWindow wndCtl ) 507 { 508 HWND hChild=::GetWindow(hClient,GW_CHILD); 509 int WndNum=GetWndNum(hChild); 510 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){ 511 HWND hEdit = ::GetWindow(hChild,GW_CHILD); 512 513 CHARRANGE CharRange; 514 TextEdit_GetSel(WndNum,&CharRange); 515 516 HGLOBAL hGlobal=(char *)GlobalAlloc(GMEM_MOVEABLE,CharRange.cpMax-CharRange.cpMin+1); 517 char *pTemp=(char *)GlobalLock(hGlobal); 518 memcpy(pTemp,MdiInfo[WndNum].pMdiTextEdit->buffer+CharRange.cpMin,CharRange.cpMax-CharRange.cpMin); 519 pTemp[CharRange.cpMax-CharRange.cpMin]=0; 520 GlobalUnlock(hGlobal); 521 522 //クリップボードに保存 523 OpenClipboard(); 524 EmptyClipboard(); 525 SetClipboardData(CF_TEXT,hGlobal); 526 CloseClipboard(); 527 } 528 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){ 529 int indexOfWndInfo = GetWndInfoNum(MdiInfo[WndNum].path); 530 531 //クリップボードに格納するためのデータを用意する 532 HGLOBAL hGlobal=Rad_GetChildInfoClipboardData(WndNum,indexOfWndInfo); 533 534 OpenClipboard(); 535 EmptyClipboard(); 536 extern DWORD dwRadClipboardID; 537 SetClipboardData(dwRadClipboardID,hGlobal); 538 CloseClipboard(); 539 } 540 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT){ 541 //クリップボードに格納するためのデータを用意する 542 HGLOBAL hGlobal=IconEdit_GetChildInfoClipboardData(WndNum); 543 544 OpenClipboard(); 545 EmptyClipboard(); 546 SetClipboardData(CF_BITMAP,hGlobal); 547 CloseClipboard(); 548 } 549 } 550 551 void MainFrame::OnCmdPaste( UINT uNotifyCode, int nID, CWindow wndCtl ) 552 { 553 HWND hChild=::GetWindow(hClient,GW_CHILD); 554 int WndNum=GetWndNum(hChild); 555 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){ 556 HWND hEdit=::GetWindow(hChild,GW_CHILD); 557 558 //クリップボードを開く 559 OpenClipboard(); 560 HGLOBAL hGlobal=GetClipboardData(CF_TEXT); 561 if(!hGlobal){ 562 CloseClipboard(); 563 return; 564 } 565 566 567 char *pTemp; 568 if(pobj_nv->bPasteIndent){ 569 //インデント整形 570 pTemp=CodeFormatter((char *)GlobalLock(hGlobal)); 571 GlobalUnlock(hGlobal); 572 } 573 else pTemp=(char *)GlobalLock(hGlobal); 574 575 576 //テキストエディタの文字列をリプレイス 577 TextEdit_ReplaceUpdateUndoData(WndNum, 578 pTemp, 579 1, 580 1); 581 582 if(pobj_nv->bPasteIndent) 583 HeapDefaultFree(pTemp); 584 else 585 GlobalUnlock(hGlobal); 586 587 //クリップボードを閉じる 588 CloseClipboard(); 589 590 591 //キャレット位置までスクロールする 592 TextEdit_ScrollCaret(WndNum,0); 593 ResetCaretPos(WndNum); 594 } 595 else if(MdiInfo[WndNum].DocType==WNDTYPE_RAD){ 596 OpenClipboard(); 597 extern DWORD dwRadClipboardID; 598 HGLOBAL hGlobal=GetClipboardData(dwRadClipboardID); 599 if(!hGlobal){ 600 CloseClipboard(); 601 return; 602 } 603 Rad_PasteChildInfoClipboardData(WndNum,hGlobal); 604 CloseClipboard(); 605 } 606 else if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT){ 607 OpenClipboard(); 608 HGLOBAL hGlobal=GetClipboardData(CF_BITMAP); 609 if(!hGlobal){ 610 CloseClipboard(); 611 return; 612 } 613 IconEdit_PasteChildInfoClipboardData(WndNum,(HBITMAP)hGlobal); 614 CloseClipboard(); 615 } 616 }
Note:
See TracChangeset
for help on using the changeset viewer.