Changeset 503 in dev for trunk/ab5.0/abdev/abdev/src/MainFrame.cpp
- Timestamp:
- Apr 24, 2008, 1:33:12 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/src/MainFrame.cpp
r501 r503 349 349 } 350 350 } 351 352 return 0; 353 } 354 355 void MainFrame::OnDropFiles( HDROP hDropInfo ) 356 { 357 int max = DragQueryFile(hDropInfo,-1,0,0); 358 for(int i=0;i<max;i++){ 359 char temporary[1024]; 360 DragQueryFile(hDropInfo,i,temporary,MAX_PATH); 361 OpenFileWithExtension(temporary); 362 } 363 DragFinish(hDropInfo); 364 } 365 366 ::LRESULT MainFrame::OnShowSourceLine( ::UINT msg, ::WPARAM wParam, ::LPARAM lParam, ::BOOL& handled ) 367 { 368 char temporary[1024]; 369 370 //エラー部分を反転表示 371 DWORD AccBytes; 372 HANDLE fh; 373 sprintf(temporary,"%spgm.tmp",pj_editor_Dir); 374 fh=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); 375 ReadFile(fh,temporary,MAX_PATH,&AccBytes,NULL); 376 CloseHandle(fh); 377 temporary[AccBytes]=0; 378 HWND hChild=::GetWindow(hClient,GW_CHILD); 379 int WndNum = -1; 380 while(hChild){ 381 WndNum=GetWndNum(hChild); 382 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){ 383 if(lstrcmpi(MdiInfo[WndNum].path,temporary)==0) break; 384 } 385 hChild=::GetNextWindow(hChild,GW_HWNDNEXT); 386 } 387 if(!hChild){ 388 hChild=OpenFileWithExtension(temporary); 389 WndNum=GetWndNum(hChild); 390 } 391 392 if(WndNum==-1) return 0; 393 394 //ウィンドウを最前面に表示 395 ::BringWindowToTop(hChild); 396 ::UpdateWindow(hChild); 397 398 char *pTemp=MdiInfo[WndNum].pMdiTextEdit->buffer; 399 400 //行の先頭インデックスを取得(取得する行の番号はwParamで渡される) 401 int i,i2; 402 for(i=0,i2=0;;i++){ 403 if(i2>=(int)wParam) break; 404 if(pTemp[i]=='\0') break; 405 if(pTemp[i]=='\r'&&pTemp[i+1]=='\n'){ 406 i++; 407 i2++; 408 } 409 } 410 POINT pos; 411 pos.x=i; 412 413 //行の終端インデックスを取得 414 for(;;i++){ 415 if(pTemp[i]=='\0') break; 416 if(pTemp[i]=='\r'&&pTemp[i+1]=='\n') break; 417 } 418 pos.y=i; 419 420 //行を選択する 421 TextEdit_SetSel(WndNum,pos.x,pos.y,TRUE); 351 422 352 423 return 0; … … 1366 1437 SendMessage(MdiInfo[WndNum].hwnd,WM_CLOSE,0,0); 1367 1438 } 1439 1440 void MainFrame::OnCmdColor( UINT uNotifyCode, int nID, CWindow wndCtl ) 1441 { 1442 static COLORREF colorUser=RGB(255,255,255); 1443 1444 switch( nID ) 1445 { 1446 case IDM_USER_COLOR: 1447 { 1448 CHOOSECOLOR cc; 1449 COLORREF CusColors[16]={ 1450 RGB(255,255,255), 1451 RGB(0,0,0), 1452 RGB(128,128,128), 1453 RGB(192,192,192), 1454 RGB(128,0,0), 1455 RGB(255,0,0), 1456 RGB(128,128,0), 1457 RGB(255,255,0), 1458 RGB(0,128,0), 1459 RGB(0,255,0), 1460 RGB(0,128,128), 1461 RGB(0,255,255), 1462 RGB(0,0,128), 1463 RGB(0,0,255), 1464 RGB(128,0,128), 1465 RGB(255,0,255)}; 1466 cc.lStructSize=sizeof(CHOOSECOLOR); 1467 cc.hwndOwner=m_hWnd; 1468 cc.rgbResult=colorUser; 1469 cc.lpCustColors=CusColors; 1470 cc.Flags=CC_RGBINIT|CC_FULLOPEN; 1471 if(!ChooseColor(&cc)){ 1472 return; 1473 } 1474 colorUser=cc.rgbResult; 1475 } 1476 case IDM_GRAY: 1477 case IDM_WHITE: 1478 case IDM_RED: 1479 case IDM_GREEN: 1480 case IDM_BLUE: 1481 case IDM_YELLOW: 1482 { 1483 HWND hChild=::GetWindow(hClient,GW_CHILD); 1484 int WndNum=GetWndNum(hChild); 1485 1486 TC_ITEM tcItem; 1487 tcItem.mask=TCIF_PARAM; 1488 if(nID==IDM_GRAY) tcItem.lParam=TABCOLOR_GRAY; 1489 if(nID==IDM_WHITE) tcItem.lParam=TABCOLOR_WHITE; 1490 if(nID==IDM_RED) tcItem.lParam=TABCOLOR_RED; 1491 if(nID==IDM_GREEN) tcItem.lParam=TABCOLOR_GREEN; 1492 if(nID==IDM_BLUE) tcItem.lParam=TABCOLOR_BLUE; 1493 if(nID==IDM_YELLOW) tcItem.lParam=TABCOLOR_YELLOW; 1494 if(nID==IDM_USER_COLOR) tcItem.lParam=colorUser; 1495 TabCtrl_SetItem(pobj_MainTab->hTab, 1496 TabCtrl_GetCurSel(pobj_MainTab->hTab), 1497 &tcItem); 1498 ::InvalidateRect(pobj_MainTab->hTab,NULL,0); 1499 break; 1500 } 1501 default: 1502 throw; 1503 } 1504 }
Note:
See TracChangeset
for help on using the changeset viewer.