Changeset 626 in dev


Ignore:
Timestamp:
May 27, 2008, 10:10:17 PM (16 years ago)
Author:
dai_9181
Message:

MdiInfoをリファクタリング

Location:
trunk/ab5.0/abdev/abdev
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/abdev/Backup.cpp

    r625 r626  
    107107
    108108        char szOldTitle[MAX_PATH];
    109         lstrcpy(szOldTitle,MdiInfo[WndNum].title);
     109        lstrcpy(szOldTitle,MdiInfo[WndNum].title.c_str());
    110110
    111111        //ドキュメント セレクト コンボボックスから消去
    112112        extern HWND hDocCombo;
    113         i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title);
     113        i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title.c_str());
    114114        SendMessage(hDocCombo,CB_DELETESTRING,i2,0);
    115115
     
    129129        }
    130130        DuplicateTitleCheck(str);
    131         GlobalFree(MdiInfo[WndNum].title);
    132         MdiInfo[WndNum].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(str)+1);
    133         lstrcpy(MdiInfo[WndNum].title,str);
    134         SendMessage(hDocCombo,CB_ADDSTRING,0,(long)MdiInfo[WndNum].title);
    135         i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title);
     131        MdiInfo[WndNum].title = str;
     132        SendMessage(hDocCombo,CB_ADDSTRING,0,(long)MdiInfo[WndNum].title.c_str());
     133        i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title.c_str());
    136134        SendMessage(hDocCombo,CB_SETCURSEL,i2,0);
    137135
    138136        //MDIウィンドウのタイトルを再設定
    139         SetWindowText(hChild,MdiInfo[WndNum].title);
     137        SetWindowText(hChild,MdiInfo[WndNum].title.c_str());
    140138
    141139        //タブコントロールを再設定
     
    143141        TabColor=pobj_nv->pobj_ExtLink->GetTabColorFromFilePath(MdiInfo[WndNum].path);
    144142        pobj_MainTab->DeleteItem( szOldTitle, false );
    145         pobj_MainTab->InsertItem( MdiInfo[WndNum].title, false, TabColor );
     143        pobj_MainTab->InsertItem( MdiInfo[WndNum].title.c_str(), false, TabColor );
    146144
    147145        MdiInfo[WndNum].pMdiTextEdit->Modify();
  • trunk/ab5.0/abdev/abdev/ChildWndOnRebar.cpp

    r625 r626  
    4848                SendMessage(hwnd,CB_GETLBTEXT,SendMessage(hwnd,CB_GETCURSEL,0,0),(long)str);
    4949                for(i=0;i<MdiInfo.size();i++){
    50                     if(lstrcmpi(str,MdiInfo[i].title)==0) break;
     50                    if(lstrcmpi(str,MdiInfo[i].title.c_str())==0) break;
    5151                }
    5252                BringWindowToTop(MdiInfo[i].hwnd);
  • trunk/ab5.0/abdev/abdev/Common.h

    r625 r626  
    354354    HWND hwnd;
    355355    int DocType;
    356     char *title;
     356    std::string title;
    357357    std::string path;
    358358
  • trunk/ab5.0/abdev/abdev/FileOperation.cpp

    r625 r626  
    344344
    345345    char szOldTitle[MAX_PATH];
    346     lstrcpy(szOldTitle,MdiInfo[WndNum].title);
     346    lstrcpy(szOldTitle,MdiInfo[WndNum].title.c_str());
    347347
    348348    if(MdiInfo[WndNum].DocType==WNDTYPE_RAD||MdiInfo[WndNum].DocType==WNDTYPE_MENU){
     
    376376
    377377            //ドキュメント セレクト コンボボックスから消去
    378             i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title);
     378            i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title.c_str());
    379379            SendMessage(hDocCombo,CB_DELETESTRING,i2,0);
    380380
     
    385385            _splitpath(temporary,NULL,NULL,str,str2);
    386386            lstrcat(str,str2);
    387             GlobalFree(MdiInfo[WndNum].title);
    388             MdiInfo[WndNum].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(str)+1);
    389             lstrcpy(MdiInfo[WndNum].title,str);
    390             SendMessage(hDocCombo,CB_ADDSTRING,0,(long)MdiInfo[WndNum].title);
    391             i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title);
     387            MdiInfo[WndNum].title = str;
     388            SendMessage(hDocCombo,CB_ADDSTRING,0,(long)MdiInfo[WndNum].title.c_str());
     389            i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title.c_str());
    392390            SendMessage(hDocCombo,CB_SETCURSEL,i2,0);
    393391
    394392            //MDIウィンドウのタイトルを再設定
    395             SetWindowText(hChild,MdiInfo[WndNum].title);
     393            SetWindowText(hChild,MdiInfo[WndNum].title.c_str());
    396394        }
    397395        else{
     
    474472            CloseHandle(fh);
    475473            MdiInfo[WndNum].path = temporary;
    476             i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title);
     474            i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title.c_str());
    477475            SendMessage(hDocCombo,CB_DELETESTRING,i2,0);
    478476            _splitpath(temporary,NULL,NULL,str,str2);
    479477            lstrcat(str,str2);
    480             lstrcpy(MdiInfo[WndNum].title,str);
    481             SendMessage(hDocCombo,CB_ADDSTRING,0,(long)MdiInfo[WndNum].title);
    482             i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title);
     478            MdiInfo[WndNum].title = str;
     479            SendMessage(hDocCombo,CB_ADDSTRING,0,(long)MdiInfo[WndNum].title.c_str());
     480            i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title.c_str());
    483481            SendMessage(hDocCombo,CB_SETCURSEL,i2,0);
    484             SetWindowText(hChild,MdiInfo[WndNum].title);
     482            SetWindowText(hChild,MdiInfo[WndNum].title.c_str());
    485483        }
    486484        else{
     
    504502        color=pobj_MainTab->GetItemColor(szOldTitle);
    505503        pobj_MainTab->DeleteItem( szOldTitle, false );
    506         pobj_MainTab->InsertItem( MdiInfo[WndNum].title, false, color );
     504        pobj_MainTab->InsertItem( MdiInfo[WndNum].title.c_str(), false, color );
    507505    }
    508506    else{
    509         pobj_MainTab->RenameItem( szOldTitle, MdiInfo[WndNum].title );
     507        pobj_MainTab->RenameItem( szOldTitle, MdiInfo[WndNum].title.c_str() );
    510508    }
    511509
  • trunk/ab5.0/abdev/abdev/IconEditor.cpp

    r625 r626  
    373373    MdiInfo[i].hwnd=hChild;
    374374    MdiInfo[i].DocType=WNDTYPE_ICONEDIT;
    375     MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(str)+1);
    376     lstrcpy(MdiInfo[i].title,str);
     375    MdiInfo[i].title = str;
    377376    if(filepath)
    378377    {
     
    539538            if(i==-1) return 0; //ウィンドウが初期状態の場合
    540539
    541             i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title);
     540            i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title.c_str());
    542541            SendMessage(hDocCombo,CB_SETCURSEL,i,0);
    543542            SetStatusText(NULL);
  • trunk/ab5.0/abdev/abdev/MdiTextEdit.cpp

    r475 r626  
    2727
    2828    //タブ文字列に変更を示すアスタリスクを付ける
    29     pobj_MainTab->NofityModifyDocument( pMdiInfo->title );
     29    pobj_MainTab->NofityModifyDocument( pMdiInfo->title.c_str() );
    3030}
    3131void CMdiTextEdit::UnModify(){
     
    3434
    3535    //アスタリスク表示を解除する
    36     pobj_MainTab->NofityUnModifyDocument( pMdiInfo->title );
     36    pobj_MainTab->NofityUnModifyDocument( pMdiInfo->title.c_str() );
    3737
    3838    //アンドゥーリドゥーのベース番号を取得
  • trunk/ab5.0/abdev/abdev/MenuProc.cpp

    r625 r626  
    252252    MdiInfo[i].hwnd=hChild;
    253253    MdiInfo[i].DocType=WNDTYPE_MENU;
    254     MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(pMenuInfo->IdName)+1);
    255     lstrcpy(MdiInfo[i].title,pMenuInfo->IdName);
     254    MdiInfo[i].title = pMenuInfo->IdName;
    256255    MdiInfo[i].path = pMenuInfo->IdName;
    257256
     
    857856            if(i==-1) return 0; //ウィンドウが初期状態の場合
    858857
    859             i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title);
     858            i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title.c_str());
    860859            SendMessage(hDocCombo,CB_SETCURSEL,i,0);
    861860            SetStatusText(NULL);
  • trunk/ab5.0/abdev/abdev/Print.cpp

    r475 r626  
    547547    memset(&di,0,sizeof(DOCINFO));
    548548    di.cbSize=sizeof(DOCINFO);
    549     di.lpszDocName=MdiInfo[WndNum].title;
     549    di.lpszDocName=MdiInfo[WndNum].title.c_str();
    550550    if(StartDoc(pd.hDC,&di)==0){
    551551        MessageBox(hOwner,"印刷できません。プリンターの状況を確認してください。",APPLICATION_NAME,MB_OK | MB_ICONEXCLAMATION);
  • trunk/ab5.0/abdev/abdev/RadProc.cpp

    r625 r626  
    8585    MdiInfo[i].hwnd=hChild;
    8686    MdiInfo[i].DocType=WNDTYPE_RAD;
    87     MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,windowInfo.GetName().size()+1);
    88     lstrcpy(MdiInfo[i].title,windowInfo.GetName().c_str());
     87    MdiInfo[i].title = windowInfo.GetName();
    8988    MdiInfo[i].path = windowInfo.GetName();
    9089
     
    19961995            if(i==-1) return 0; //ウィンドウが初期状態の場合
    19971996
    1998             i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title);
     1997            i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title.c_str());
    19991998            SendMessage(hDocCombo,CB_SETCURSEL,i,0);
    20001999            SetStatusText(NULL);
  • trunk/ab5.0/abdev/abdev/TabCtrl.cpp

    r625 r626  
    262262
    263263    for(i=0;i<MdiInfo.size();i++){
    264         if(lstrcmpi(ItemText,MdiInfo[i].title)==0) break;
     264        if(lstrcmpi(ItemText,MdiInfo[i].title.c_str())==0) break;
    265265    }
    266266    BringWindowToTop(MdiInfo[i].hwnd);
    267267}
    268 void CMainTab::MdiActiveEvent(char *lpszText){
     268void CMainTab::MdiActiveEvent(const char *lpszText){
    269269    int i2;
    270270    i2=SearchItemIndex(lpszText);
  • trunk/ab5.0/abdev/abdev/TabCtrl.h

    r24 r626  
    4040
    4141    void SelChangeEvent();
    42     void MdiActiveEvent(char *lpszText);
     42    void MdiActiveEvent(const char *lpszText);
    4343
    4444    void draw(HDC hdc);
  • trunk/ab5.0/abdev/abdev/TextEditor_EventProc.cpp

    r625 r626  
    4343            if(i==-1) return 0; //ウィンドウが初期状態の場合
    4444
    45             i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title);
     45            i=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title.c_str());
    4646            SendMessage(hDocCombo,CB_SETCURSEL,i,0);
    4747            SetStatusText(NULL);
  • trunk/ab5.0/abdev/abdev/abdev.cpp

    r625 r626  
    727727    for(i=0;i<MdiInfo.size();i++){
    728728        if(MdiInfo[i].hwnd){
    729             if(lstrcmpi(MdiInfo[i].title,lpszTitle)==0){
     729            if(lstrcmpi(MdiInfo[i].title.c_str(),lpszTitle)==0){
    730730                lstrcat(lpszTitle,"_");
    731731                DuplicateTitleCheck(lpszTitle);
     
    899899    MdiInfo[i].hwnd=hChild;
    900900    MdiInfo[i].DocType=DocumentType;
    901     MdiInfo[i].title="";
    902901    DuplicateTitleCheck(str);
    903     MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(str)+1);
    904     lstrcpy(MdiInfo[i].title,str);
     902    MdiInfo[i].title = str;
    905903    if(filepath)
    906904    {
     
    979977    //ドキュメントコンボボックスから文字列を消去
    980978    extern HWND hDocCombo;
    981     i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title);
     979    i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[WndNum].title.c_str());
    982980    SendMessage(hDocCombo,CB_DELETESTRING,i2,0);
    983981
    984982    //タブコントロールからアイテムを消去
    985     if(pobj_MainTab) pobj_MainTab->DeleteItem( MdiInfo[WndNum].title, true );
    986 
    987 
    988     GlobalFree(MdiInfo[WndNum].title);
     983    if(pobj_MainTab) pobj_MainTab->DeleteItem( MdiInfo[WndNum].title.c_str(), true );
     984
    989985
    990986    if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){
     
    11531149            //ドキュメント セレクト コンボボックス
    11541150            extern HWND hDocCombo;
    1155             i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title);
     1151            i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(long)MdiInfo[i].title.c_str());
    11561152            SendMessage(hDocCombo,CB_SETCURSEL,i2,0);
    11571153
    11581154            //タブコントロール
    1159             pobj_MainTab->MdiActiveEvent(MdiInfo[i].title);
     1155            pobj_MainTab->MdiActiveEvent(MdiInfo[i].title.c_str());
    11601156
    11611157            if( !projectInfo.IsOpened() ){
Note: See TracChangeset for help on using the changeset viewer.