Changeset 492 in dev for trunk/ab5.0/abdev/abdev/abdev.cpp
- Timestamp:
- Apr 17, 2008, 1:37:40 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/abdev.cpp
r489 r492 1399 1399 RECT rect; 1400 1400 POINT pos; 1401 LPTOOLTIPTEXT TipText;1402 LPNMHDR lpnmhdr;1403 NMPGCALCSIZE *lpCalcSize;1404 NMPGSCROLL *lpScroll;1405 1401 HDROP hDrop; 1406 1402 HGLOBAL hGlobal; … … 1425 1421 } 1426 1422 1427 switch(message){ 1428 case WM_TIMER: 1429 //Pro版は自動バックアップ及び復元機能を有効にする 1430 _beginthread(backup,0,0); 1431 1432 #ifndef THETEXT 1433 if(wParam==ID_DEBUGSAFTY){ 1434 //BasicCompiler.exeが強制終了しているかどうかを検証 1435 pobj_Debugger->SaftyCheck(); 1436 } 1437 #endif 1438 1439 return 0; 1440 1441 1442 case WM_DRAWCLIPBOARD: 1443 ResetState_EditMenu(); 1444 return 0; 1445 1446 case WM_MENUSELECT: 1447 MenuAdvice(wParam); 1448 return 0; 1449 case WM_INITMENU: 1450 pobj_nv->pobj_History->ResetFileMenu(pobj_FileHistoryMenu,1); 1451 #ifndef THETEXT 1452 pobj_nv->pobj_ProjectHistory->ResetFileMenu(pobj_ProjectHistoryMenu,0); 1453 #endif 1454 return 0; 1455 case WM_MEASUREITEM: 1456 LPMEASUREITEMSTRUCT lpMI; 1457 lpMI = (LPMEASUREITEMSTRUCT)lParam; 1458 if(lpMI->CtlType==ODT_MENU){ 1459 SIZE size; 1460 CMenuItemData *pobj_MenuItemData; 1461 pobj_MenuItemData=(CMenuItemData *)lpMI->itemData; 1462 if(pobj_MenuItemData->pobj_ThisMenu->hMenu==pobj_MainMenu->hMenu){ 1463 //メインメニューの親アイテム 1464 pobj_MainMenu->GetItemSize(pobj_MenuItemData->item_index,&size); 1465 lpMI->itemWidth = size.cx; 1466 lpMI->itemHeight = size.cy; 1467 } 1468 else{ 1469 //メインメニューにぶらさがるサブメニュー 1470 pobj_MenuItemData->pobj_ThisMenu->GetItemSize(pobj_MenuItemData->item_index,&size); 1471 lpMI->itemWidth = size.cx; 1472 lpMI->itemHeight = size.cy; 1473 } 1474 } 1475 return 0; 1476 1477 case WM_DRAWITEM: 1478 { 1479 DRAWITEMSTRUCT *pdis = (DRAWITEMSTRUCT *)lParam; 1480 1481 if(pdis->CtlType==ODT_MENU){ 1482 if(!pobj_MainMenu) return 0; 1483 1484 CMenuItemData *pobj_MenuItemData; 1485 pobj_MenuItemData=(CMenuItemData *)pdis->itemData; 1486 if(pobj_MainMenu->hMenu==pobj_MenuItemData->pobj_ThisMenu->hMenu){ 1487 //メインメニューの親アイテム 1488 pobj_MainMenu->OwnerDrawMenu(pdis->hDC, 1489 &pdis->rcItem, 1490 (pdis->itemState&ODS_SELECTED)!=0, 1491 pobj_MenuItemData->item_index); 1492 } 1493 else{ 1494 //メインメニューにぶらさがるサブメニュー 1495 pobj_MainMenu->OwnerDrawSubMenu(pobj_MenuItemData->pobj_ThisMenu->hMenu, 1496 pdis->hDC, 1497 &pdis->rcItem, 1498 (pdis->itemState&ODS_SELECTED)!=0, 1499 pobj_MenuItemData->item_index); 1500 } 1501 } 1502 1503 return 0; 1504 } 1505 1506 case WM_NOTIFY: 1507 if(!lParam) return 0; 1508 TipText=(LPTOOLTIPTEXT)lParam; 1509 if(TipText->hdr.code==TTN_NEEDTEXT) ShowToolTipText(TipText); 1510 lpnmhdr=(LPNMHDR)lParam; 1511 1512 extern HWND hStandardToolbarPager; 1513 extern HWND hDebuggerToolbarPager; 1514 if(pobj_Rebar){ 1515 //レバーオブジェクトが存在するとき 1516 if(lpnmhdr->hwndFrom==pobj_Rebar->hRebar&&lpnmhdr->code==RBN_HEIGHTCHANGE){ 1517 ResizeOwnerWnd(); 1518 return 0; 1519 } 1520 } 1521 if(lpnmhdr->hwndFrom==hStandardToolbarPager){ 1522 if(lpnmhdr->code==PGN_CALCSIZE){ 1523 lpCalcSize=(LPNMPGCALCSIZE)lParam; 1524 if(lpCalcSize->dwFlag==PGF_CALCWIDTH) 1525 lpCalcSize->iWidth=BMPNUM_STANDARDTOOLBAR*23+SEPNUM_STANDARDTOOLBAR*8; 1526 } 1527 else if(lpnmhdr->code==PGN_SCROLL){ 1528 lpScroll=(LPNMPGSCROLL)lParam; 1529 lpScroll->iScroll=20; 1530 } 1531 } 1532 else if(lpnmhdr->hwndFrom==hDebuggerToolbarPager){ 1533 if(lpnmhdr->code==PGN_CALCSIZE){ 1534 lpCalcSize=(LPNMPGCALCSIZE)lParam; 1535 if(lpCalcSize->dwFlag==PGF_CALCWIDTH) 1536 lpCalcSize->iWidth=BMPNUM_DEBUGGERTOOLBAR*23+SEPNUM_DEBUGGERTOOLBAR*8; 1537 } 1538 else if(lpnmhdr->code==PGN_SCROLL){ 1539 lpScroll=(LPNMPGSCROLL)lParam; 1540 lpScroll->iScroll=20; 1541 } 1542 } 1543 1544 NMHDR *hdr; 1545 hdr=(NMHDR *)lParam; 1546 if(pobj_MainTab){ 1547 if(hdr->hwndFrom==pobj_MainTab->hTab){ 1548 if(hdr->code==TCN_SELCHANGE) 1549 pobj_MainTab->SelChangeEvent(); 1550 1551 if(hdr->code==NM_RCLICK){ 1552 1553 TCHITTESTINFO tcHitTest; 1554 GetCursorPos(&tcHitTest.pt); 1555 ScreenToClient(pobj_MainTab->hTab,&tcHitTest.pt); 1556 i=TabCtrl_HitTest(pobj_MainTab->hTab,&tcHitTest); 1557 if(i==-1) return 0; 1558 1559 TabCtrl_SetCurSel(pobj_MainTab->hTab,i); 1560 1561 pobj_MainTab->SelChangeEvent(); 1562 1563 1564 ///////////////////// 1565 // メニューを表示 1566 ///////////////////// 1567 1568 hChild=GetWindow(hClient,GW_CHILD); 1569 WndNum=GetWndNum(hChild); 1570 1571 //保存コマンドの文字列をセット 1572 MENUITEMINFO mii; 1573 mii.cbSize=sizeof(MENUITEMINFO); 1574 mii.fMask=MIIM_TYPE; 1575 mii.dwTypeData=temporary; 1576 mii.fType=MFT_STRING; 1577 if(MdiInfo[WndNum].path[0]){ 1578 _splitpath(MdiInfo[WndNum].path,NULL,NULL,temporary,temp2); 1579 lstrcat(temporary,temp2); 1580 lstrcat(temporary," を保存(&S)"); 1581 } 1582 else{ 1583 lstrcpy(temporary,"保存(&S)"); 1584 } 1585 SetMenuItemInfo(hTabMenu,IDM_SAVE,FALSE,&mii); 1586 1587 /*「絶対パスをコピー」「フォルダを開く」「ファイルを削除」 1588 コマンドを場合によって無効化にする */ 1589 if(MdiInfo[WndNum].path[0]){ 1590 EnableMenuItem(hTabMenu,IDM_PATH_COPY,MF_BYCOMMAND|MF_ENABLED); 1591 EnableMenuItem(hTabMenu,IDM_FOLDER_OPEN,MF_BYCOMMAND|MF_ENABLED); 1592 EnableMenuItem(hTabMenu,IDM_DELETE_FILE,MF_BYCOMMAND|MF_ENABLED); 1593 } 1594 else{ 1595 EnableMenuItem(hTabMenu,IDM_PATH_COPY,MF_BYCOMMAND|MF_GRAYED); 1596 EnableMenuItem(hTabMenu,IDM_FOLDER_OPEN,MF_BYCOMMAND|MF_GRAYED); 1597 EnableMenuItem(hTabMenu,IDM_DELETE_FILE,MF_BYCOMMAND|MF_GRAYED); 1598 } 1599 1600 POINT MousePos; 1601 GetCursorPos(&MousePos); 1602 TrackPopupMenu(hTabMenu,TPM_LEFTALIGN|TPM_RIGHTBUTTON,MousePos.x,MousePos.y,0,hOwner,NULL); 1603 } 1604 } 1605 } 1606 if(pobj_SideWeb){ 1607 if(hdr->hwndFrom==pobj_SideWeb->hTab&&hdr->code==TCN_SELCHANGE){ 1608 pobj_SideWeb->SelChangeEvent(); 1609 } 1610 } 1611 1612 return 0; 1423 switch(message) 1424 { 1613 1425 case WM_COMMAND: 1614 1426 switch(LOWORD(wParam)){
Note:
See TracChangeset
for help on using the changeset viewer.