Changeset 700 in dev for trunk/ab5.0/abdev/abdev
- Timestamp:
- Jul 21, 2008, 1:04:12 AM (16 years ago)
- Location:
- trunk/ab5.0/abdev/abdev
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/Common.h
r697 r700 949 949 void GetItemClassName(char *buffer,int Control); 950 950 void SaveWindowProgram(); 951 void SaveWindowFile( char *path, const ActiveBasic::PM::WindowInfos &windowInfos);951 void SaveWindowFile(char const *path, const ActiveBasic::PM::WindowInfos &windowInfos); 952 952 _int8 OpenWindowFile(char *path); 953 953 void GetDefaultWindowFont(LOGFONT *LogFont); -
trunk/ab5.0/abdev/abdev/FileOperation.cpp
r697 r700 16 16 return; 17 17 } 18 } 19 else{ 20 FindClose(hFind); 18 21 } 19 22 } … … 334 337 return NewTextEditWindow(OpenFileName,DocumentType,TabColor); 335 338 } 339 340 BOOL GetFileInformationByHandleWrap(HANDLE hFile, BY_HANDLE_FILE_INFORMATION& fi){ 341 typedef BOOL WINAPI GFIBH(HANDLE, LPBY_HANDLE_FILE_INFORMATION); 342 GFIBH *const pgfibh = reinterpret_cast<GFIBH*>( 343 GetProcAddress(GetModuleHandle("kernel32"), "GetFileInformationByHandle")); 344 if(pgfibh){ 345 return pgfibh(hFile, &fi); 346 } 347 else{ 348 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 349 return FALSE; 350 } 351 } 352 353 //重複チェック用のデータを設定 354 void SetFileIdentity(FILEIDENTITY &fi, BY_HANDLE_FILE_INFORMATION const &bhfi){ 355 fi.VolumeSerialNumber = bhfi.dwVolumeSerialNumber; 356 fi.FileIndexHigh = bhfi.nFileIndexHigh; 357 fi.FileIndexLow = bhfi.nFileIndexLow; 358 } 359 360 void SetFileIdentityFromFile(MDIINFO &mi, HANDLE hFile){ 361 BY_HANDLE_FILE_INFORMATION fi; 362 if(GetFileInformationByHandleWrap(hFile, fi)){ 363 SetFileIdentity(mi.FileIdentity, fi); 364 } 365 } 366 336 367 BOOL SaveDocument(HWND hChild,char *SaveFileName){ //ウィンドウからバッファを読み取り、ファイルに保存 368 //SaveFileNameがNULLのときは上書き保存を試みる。 337 369 extern LPSTR IconFileFilter; 338 370 extern HWND hClient,hDocCombo; … … 344 376 WndNum=GetWndNum(hChild); 345 377 346 char szOldTitle[MAX_PATH]; 347 lstrcpy(szOldTitle,MdiInfo[WndNum]->title.c_str()); 378 std::string oldTitle = MdiInfo[WndNum]->title; 348 379 349 380 if(MdiInfo[WndNum]->DocType==WNDTYPE_RAD||MdiInfo[WndNum]->DocType==WNDTYPE_MENU){ … … 353 384 354 385 if(projectInfo.ModifyOfMaterial){ 355 sprintf(temporary,"%s%s.wnd",projectInfo.GetWorkDir().GetPath().c_str(),projectInfo.GetName().c_str()); 356 SaveWindowFile( temporary, projectInfo.windowInfos ); 386 std::string const& workDir = projectInfo.GetWorkDir().GetPath(); 387 std::string const& projName = projectInfo.GetName(); 388 std::string t; 389 t.reserve( workDir.size() + projName.size() + 4 ); 390 t += workDir; 391 t += projName; 392 t += ".wnd"; 393 SaveWindowFile( t.c_str(), projectInfo.windowInfos ); 357 394 358 395 //.wbpファイルを生成 … … 370 407 sprintf(str,STRING_FILE_OVERWRIDE,temporary); 371 408 if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){ 372 CloseHandle(fh);373 409 return 0; 374 410 } … … 377 413 378 414 //ドキュメント セレクト コンボボックスから消去 379 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,( long)MdiInfo[WndNum]->title.c_str());415 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(LONG_PTR)MdiInfo[WndNum]->title.c_str()); 380 416 SendMessage(hDocCombo,CB_DELETESTRING,i2,0); 381 417 … … 387 423 lstrcat(str,str2); 388 424 MdiInfo[WndNum]->title = str; 389 SendMessage(hDocCombo,CB_ADDSTRING,0,( long)MdiInfo[WndNum]->title.c_str());390 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,( long)MdiInfo[WndNum]->title.c_str());425 SendMessage(hDocCombo,CB_ADDSTRING,0,(LONG_PTR)MdiInfo[WndNum]->title.c_str()); 426 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(LONG_PTR)MdiInfo[WndNum]->title.c_str()); 391 427 SendMessage(hDocCombo,CB_SETCURSEL,i2,0); 392 428 … … 448 484 return 0; 449 485 } 450 WriteFile(fh,pBuf,lstrlen(pBuf),&dummy,NULL); 486 WriteFile(fh,pBuf,strlen(pBuf),&dummy,NULL); 487 SetFileIdentityFromFile(*MdiInfo[WndNum], fh); 451 488 CloseHandle(fh); 452 489 … … 473 510 CloseHandle(fh); 474 511 MdiInfo[WndNum]->path = temporary; 475 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,( long)MdiInfo[WndNum]->title.c_str());512 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(LONG_PTR)MdiInfo[WndNum]->title.c_str()); 476 513 SendMessage(hDocCombo,CB_DELETESTRING,i2,0); 477 514 _splitpath(temporary,NULL,NULL,str,str2); 478 515 lstrcat(str,str2); 479 516 MdiInfo[WndNum]->title = str; 480 SendMessage(hDocCombo,CB_ADDSTRING,0,( long)MdiInfo[WndNum]->title.c_str());481 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,( long)MdiInfo[WndNum]->title.c_str());517 SendMessage(hDocCombo,CB_ADDSTRING,0,(LONG_PTR)MdiInfo[WndNum]->title.c_str()); 518 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(LONG_PTR)MdiInfo[WndNum]->title.c_str()); 482 519 SendMessage(hDocCombo,CB_SETCURSEL,i2,0); 483 520 SetWindowText(hChild,MdiInfo[WndNum]->title.c_str()); … … 501 538 if(pobj_nv->bSaveTabToHead){ 502 539 COLORREF color; 503 color=pobj_MainTab->GetItemColor( szOldTitle);504 pobj_MainTab->DeleteItem( szOldTitle, false );540 color=pobj_MainTab->GetItemColor(oldTitle.c_str()); 541 pobj_MainTab->DeleteItem( oldTitle.c_str(), false ); 505 542 pobj_MainTab->InsertItem( MdiInfo[WndNum]->title.c_str(), false, color ); 506 543 } 507 544 else{ 508 pobj_MainTab->RenameItem( szOldTitle, MdiInfo[WndNum]->title.c_str() );545 pobj_MainTab->RenameItem( oldTitle.c_str(), MdiInfo[WndNum]->title.c_str() ); 509 546 } 510 547 -
trunk/ab5.0/abdev/abdev/IconEditor.cpp
r629 r700 446 446 ResetState_DocMenu(); 447 447 } 448 void SetFileIdentityFromFile(MDIINFO &mi, HANDLE hFile); 449 448 450 void SaveIconFile(char *filepath,HWND hwnd){ 449 451 int i,i2,WndNum; … … 526 528 } 527 529 WriteFile(hFile,buffer,i2,&dummy,NULL); 530 SetFileIdentityFromFile(*MdiInfo[WndNum], hFile); 528 531 CloseHandle(hFile); 529 532 } -
trunk/ab5.0/abdev/abdev/TabCtrl.cpp
r629 r700 234 234 } 235 235 236 COLORREF CMainTab::GetItemColor( char *ItemText ){236 COLORREF CMainTab::GetItemColor( char const *ItemText ){ 237 237 //インデックスを取得 238 238 int index = SearchItemIndex( ItemText ); 239 if( index == -1 ) return -1;239 if( index == -1 ) return static_cast<COLORREF>(-1); 240 240 241 241 TC_ITEM tcItem; -
trunk/ab5.0/abdev/abdev/TabCtrl.h
r626 r700 37 37 void NofityUnModifyDocument( const char *ItemText ); 38 38 39 COLORREF GetItemColor( char *ItemText );39 COLORREF GetItemColor( char const *ItemText ); 40 40 41 41 void SelChangeEvent(); -
trunk/ab5.0/abdev/abdev/WindowControl.cpp
r655 r700 1653 1653 return i2; 1654 1654 } 1655 void SaveWindowFile( char *path, const ActiveBasic::PM::WindowInfos &windowInfos )1655 void SaveWindowFile( char const *path, const ActiveBasic::PM::WindowInfos &windowInfos ) 1656 1656 { 1657 1657 extern HANDLE hHeap; -
trunk/ab5.0/abdev/abdev/abdev.cpp
r697 r700 739 739 { 740 740 DWORD shortFilepathLen = GetShortPathName(path, buf, bufSize); 741 CharUpper(buf); 741 742 std::replace(buf, buf + shortFilepathLen, '/', '\\'); 742 743 } 744 745 BOOL GetFileInformationByHandleWrap(HANDLE hFile, BY_HANDLE_FILE_INFORMATION& fi); 746 void SetFileIdentity(FILEIDENTITY &mi, BY_HANDLE_FILE_INFORMATION const &bhfi); 743 747 744 748 HWND NewTextEditWindow(const char *filepath,_int8 DocumentType,COLORREF TabColor) … … 761 765 DWORD length; 762 766 763 typedef BOOL WINAPI GFIBH(HANDLE, LPBY_HANDLE_FILE_INFORMATION);764 767 BY_HANDLE_FILE_INFORMATION fi; 765 GFIBH *const pgfibh = reinterpret_cast<GFIBH*>( 766 GetProcAddress(GetModuleHandle("kernel32"), "GetFileInformationByHandle")); 767 if(pgfibh && pgfibh(hFile, &fi)){ 768 fileIdentity.VolumeSerialNumber = fi.dwVolumeSerialNumber; 769 fileIdentity.FileIndexHigh = fi.nFileIndexHigh; 770 fileIdentity.FileIndexLow = fi.nFileIndexLow; 768 if(GetFileInformationByHandleWrap(hFile, fi)){ 769 SetFileIdentity(fileIdentity, fi); 771 770 length=fi.nFileSizeLow; 772 771 } … … 807 806 ////////////////////////////////////////////////////// 808 807 809 char *temp; 810 temp=(char *)HeapAlloc(hHeap,0,length+1); 808 char *temp=(char *)HeapAlloc(hHeap,0,length+1); 811 809 DWORD dw; 812 810 ReadFile(hFile,temp,length,&dw,NULL);
Note:
See TracChangeset
for help on using the changeset viewer.