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

・WindowInfoクラスをリファクタリング
・MdiInfoを単純配列からvectorに変更した。

File:
1 edited

Legend:

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

    r624 r625  
    100100}
    101101BOOL CALLBACK RadToolButtonsProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    102     extern MDIINFO MdiInfo[MAX_WNDNUM];
    103102    int i,i2,WndNum;
    104103    HWND hParent;
     
    198197}
    199198LRESULT CALLBACK RadToolsWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    200     extern MDIINFO MdiInfo[MAX_WNDNUM];
    201199    extern HFONT hStatusFont;
    202200    int i;
     
    352350    extern HANDLE hHeap;
    353351    extern HWND hClient,hOwner;
    354     extern MDIINFO MdiInfo[MAX_WNDNUM];
    355352    int i,i3;
    356353    char temporary[MAX_PATH],temp2[MAX_PATH];
     
    361358                i=GetWndNum(GetWindow(hClient,GW_CHILD));
    362359                ActiveBasic::PM::WindowInfo *pWindowInfo = GetWndInfo(MdiInfo[i].path);
    363                 sprintf(temporary,"h%s",pWindowInfo->GetName().c_str());
    364                 sprintf(temp2,"%sProc",pWindowInfo->GetName().c_str());
    365                 if( pWindowInfo->GetHandleName() == temporary &&
    366                     lstrcmp(temp2,pWindowInfo->CallBackName)==0){
    367                     SendDlgItemMessage(hwnd,IDC_AUTOSET,BM_SETCHECK,BST_CHECKED,0);
    368                     SendMessage(hwnd,WM_COMMAND,IDC_AUTOSET,0);
    369                 }
    370360                SetDlgItemText(hwnd,IDC_WINDOWNAME,pWindowInfo->GetName().c_str());
    371                 SetDlgItemText(hwnd,IDC_WINDOWHANDLE,pWindowInfo->GetHandleName().c_str());
    372                 SetDlgItemText(hwnd,IDC_WINDOWPROC,pWindowInfo->CallBackName);
     361                SetDlgItemText(hwnd,IDC_WINDOWHANDLE,( "h" + pWindowInfo->GetName() ).c_str());
     362                SetDlgItemText(hwnd,IDC_WINDOWPROC,( pWindowInfo->GetName() + "Proc" ).c_str());
    373363                break;
    374364            }
     
    402392                        names.name = temporary;
    403393
    404                         i3=GetWindowTextLength(GetDlgItem(hwnd,IDC_WINDOWHANDLE))+1;
    405                         GetDlgItemText(hwnd,IDC_WINDOWHANDLE,temporary,i3);
    406                         names.HandleName = temporary;
    407 
    408                         i3=GetWindowTextLength(GetDlgItem(hwnd,IDC_WINDOWPROC))+1;
    409                         names.CallBackName=(char *)HeapAlloc(hHeap,0,i3);
    410                         GetDlgItemText(hwnd,IDC_WINDOWPROC,names.CallBackName,i3);
    411 
    412                         if( names.name == pWindowInfo->GetName() &&
    413                             pWindowInfo->GetHandleName() == names.HandleName &&
    414                             lstrcmp(names.CallBackName,pWindowInfo->CallBackName)==0){
    415                             HeapDefaultFree(names.CallBackName);
     394                        if( names.name == pWindowInfo->GetName() )
     395                        {
    416396                            SendMessage(hwnd,WM_COMMAND,IDCANCEL,0);
    417397                            return 1;
     
    423403                        //変更情報を更新
    424404                        NoticeNames.name=pWindowInfo->GetName();
    425                         NoticeNames.HandleName=pWindowInfo->GetHandleName();
    426                         NoticeNames.CallBackName=pWindowInfo->CallBackName;
    427405                        Rad_NoticeChanging(i,RAD_UNDO_NAME,SELECT_WINDOW,(DWORD)&NoticeNames);
    428406
    429407                        pWindowInfo->SetName( names.name );
    430                         GlobalFree(MdiInfo[i].path);
    431                         MdiInfo[i].path=(char *)GlobalAlloc(GMEM_FIXED,names.name.size()+1);
    432                         lstrcpy(MdiInfo[i].path,names.name.c_str());
    433 
    434                         pWindowInfo->SetHandleName( names.HandleName );
    435 
    436                         HeapDefaultFree(pWindowInfo->CallBackName);
    437                         pWindowInfo->CallBackName=names.CallBackName;
     408                        MdiInfo[i].path = names.name;
    438409
    439410                        EndDialog(hwnd,1);
     
    444415                    return 1;
    445416                case IDC_WINDOWNAME:
    446                     if(HIWORD(wParam)==EN_CHANGE) SendMessage(hwnd,WM_COMMAND,IDC_AUTOSET,0);
    447                     return 1;
    448                 case IDC_AUTOSET:
    449                     if(SendDlgItemMessage(hwnd,IDC_AUTOSET,BM_GETCHECK,0,0)){
    450                         SendDlgItemMessage(hwnd,IDC_WINDOWHANDLE,EM_SETREADONLY,1,0);
    451                         SendDlgItemMessage(hwnd,IDC_WINDOWPROC,EM_SETREADONLY,1,0);
     417                    {
    452418                        GetDlgItemText(hwnd,IDC_WINDOWNAME,temporary,MAX_PATH);
    453419                        if(temporary[0]){
     
    462428                        }
    463429                    }
    464                     else{
    465                         SendDlgItemMessage(hwnd,IDC_WINDOWHANDLE,EM_SETREADONLY,0,0);
    466                         SendDlgItemMessage(hwnd,IDC_WINDOWPROC,EM_SETREADONLY,0,0);
    467                     }
    468430                    return 1;
    469431            }
     
    473435}
    474436BOOL CALLBACK DlgRadProperty_Window_ExStyle(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    475     extern MDIINFO MdiInfo[MAX_WNDNUM];
    476437    int i;
    477438
     
    544505BOOL CALLBACK RadProperty_WindowProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    545506    extern HANDLE hHeap;
    546     extern MDIINFO MdiInfo[MAX_WNDNUM];
    547507    int i,i3,i4;
    548508    static BOOL bInitial;
     
    568528                    SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_ADDSTRING,0,(long)resourceItem.idName.c_str());
    569529                }
    570                 if(pWindowInfo->type==WNDTYPE_MODALDLG||
    571                     pWindowInfo->type==WNDTYPE_MODELESSDLG){
     530                if( pWindowInfo->IsModalDlg() || pWindowInfo->IsModelessDlg() )
     531                {
    572532                    SendDlgItemMessage(hwnd,IDC_BGCOLOR,CB_SETCURSEL,0,0);
    573533                    EnableWindow(GetDlgItem(hwnd,IDC_BGCOLOR),0);
     
    688648                //////////
    689649                //タイプ
    690                 switch(pWindowInfo->type){
    691                     case WNDTYPE_DEFAULT:
    692                         SendDlgItemMessage(hwnd,IDC_DEFWINDOW,BM_SETCHECK,BST_CHECKED,0);
    693                         break;
    694                     case WNDTYPE_MODALDLG:
    695                         SendDlgItemMessage(hwnd,IDC_MODALDLG,BM_SETCHECK,BST_CHECKED,0);
    696                         break;
    697                     case WNDTYPE_MODELESSDLG:
    698                         SendDlgItemMessage(hwnd,IDC_MODELESSDLG,BM_SETCHECK,BST_CHECKED,0);
    699                         break;
     650                if( pWindowInfo->IsDefaultWindow() )
     651                {
     652                    SendDlgItemMessage(hwnd,IDC_DEFWINDOW,BM_SETCHECK,BST_CHECKED,0);
     653                }
     654                else if( pWindowInfo->IsModalDlg() )
     655                {
     656                    SendDlgItemMessage(hwnd,IDC_MODALDLG,BM_SETCHECK,BST_CHECKED,0);
     657                }
     658                else if( pWindowInfo->IsModelessDlg() )
     659                {
     660                    SendDlgItemMessage(hwnd,IDC_MODELESSDLG,BM_SETCHECK,BST_CHECKED,0);
     661                }
     662                else
     663                {
     664                    throw;
    700665                }
    701666
     
    11151080
    11161081                        //変更情報
    1117                         Rad_NoticeChanging(i,RAD_UNDO_TYPE,SELECT_WINDOW,pWindowInfo->type);
     1082                        Rad_NoticeChanging(i,RAD_UNDO_TYPE,SELECT_WINDOW,(DWORD)pWindowInfo->GetType());
    11181083
    11191084                        if(SendDlgItemMessage(hwnd,IDC_DEFWINDOW,BM_GETCHECK,0,0))
    1120                             pWindowInfo->type=WNDTYPE_DEFAULT;
     1085                        {
     1086                            pWindowInfo->SetType( ActiveBasic::PM::WindowType::Default );
     1087                        }
    11211088                        else if(SendDlgItemMessage(hwnd,IDC_MODALDLG,BM_GETCHECK,0,0))
    1122                             pWindowInfo->type=WNDTYPE_MODALDLG;
     1089                        {
     1090                            pWindowInfo->SetType( ActiveBasic::PM::WindowType::ModalDlg );
     1091                        }
    11231092                        else if(SendDlgItemMessage(hwnd,IDC_MODELESSDLG,BM_GETCHECK,0,0))
    1124                             pWindowInfo->type=WNDTYPE_MODELESSDLG;
     1093                        {
     1094                            pWindowInfo->SetType( ActiveBasic::PM::WindowType::ModelessDlg );
     1095                        }
    11251096                        return 1;
    11261097                    }
     
    11341105BOOL CALLBACK DlgRadProperty_Item_RenameCaption(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    11351106    extern HANDLE hHeap;
    1136     extern MDIINFO MdiInfo[MAX_WNDNUM];
    11371107    int i,i3;
    11381108    char *temporary;
     
    12671237    extern HANDLE hHeap;
    12681238    extern HWND hClient,hOwner;
    1269     extern MDIINFO MdiInfo[MAX_WNDNUM];
    12701239    int i,i3;
    12711240    char *temporary;
     
    13231292BOOL DefaultItemStyles(HWND hwnd,int WndNum,int WndInfoNum,WPARAM wParam){
    13241293    extern HANDLE hHeap;
    1325     extern MDIINFO MdiInfo[MAX_WNDNUM];
    13261294
    13271295    ActiveBasic::PM::WindowInfo *pWindowInfo = projectInfo.windowInfos[WndInfoNum];
     
    13891357}
    13901358BOOL CALLBACK DlgRadProperty_Item_ExStyle(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    1391     extern MDIINFO MdiInfo[MAX_WNDNUM];
    13921359    int i;
    13931360
     
    14511418
    14521419BOOL CALLBACK RadProperty_ButtonProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    1453     extern MDIINFO MdiInfo[MAX_WNDNUM];
    14541420    int i,i2,i3;
    14551421    static BOOL bInitial;
     
    16731639// CHECKBOX プロパティ
    16741640BOOL CALLBACK RadProperty_CheckBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    1675     extern MDIINFO MdiInfo[MAX_WNDNUM];
    16761641    int i,i2,i3;
    16771642    static BOOL bInitial;
     
    19641929}
    19651930BOOL CALLBACK RadProperty_ComboBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    1966     extern MDIINFO MdiInfo[MAX_WNDNUM];
    19671931    int i,i2,i3;
    19681932    static BOOL bInitial;
     
    22322196}
    22332197BOOL CALLBACK RadProperty_EditProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    2234     extern MDIINFO MdiInfo[MAX_WNDNUM];
    22352198    int i,i2,i3;
    22362199    static BOOL bInitial;
     
    25182481
    25192482BOOL CALLBACK RadProperty_GroupBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    2520     extern MDIINFO MdiInfo[MAX_WNDNUM];
    25212483    int i,i2,i3;
    25222484    static BOOL bInitial;
     
    26702632BOOL CALLBACK RadProperty_ImageBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    26712633    extern HANDLE hHeap;
    2672     extern MDIINFO MdiInfo[MAX_WNDNUM];
    26732634    int i,i2,i3;
    26742635    char temporary[MAX_PATH];
     
    30663027// LISTVIEW プロパティ
    30673028BOOL CALLBACK RadProperty_ListViewProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    3068     extern MDIINFO MdiInfo[MAX_WNDNUM];
    30693029    int i,i2,i3;
    30703030    static BOOL bInitial;
     
    33583318}
    33593319BOOL CALLBACK RadProperty_ListBoxProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    3360     extern MDIINFO MdiInfo[MAX_WNDNUM];
    33613320    int i,i2,i3;
    33623321    static BOOL bInitial;
     
    36163575// PROGRESSBAR プロパティ
    36173576BOOL CALLBACK RadProperty_ProgressBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    3618     extern MDIINFO MdiInfo[MAX_WNDNUM];
    36193577    int i,i2;
    36203578    static BOOL bInitial;
     
    37013659
    37023660BOOL CALLBACK RadProperty_RadioButtonProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    3703     extern MDIINFO MdiInfo[MAX_WNDNUM];
    37043661    int i,i2,i3;
    37053662    static BOOL bInitial;
     
    39353892
    39363893BOOL CALLBACK RadProperty_ScrollBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    3937     extern MDIINFO MdiInfo[MAX_WNDNUM];
    39383894    int i,i2,i3;
    39393895    static BOOL bInitial;
     
    40203976
    40213977BOOL CALLBACK RadProperty_StaticProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    4022     extern MDIINFO MdiInfo[MAX_WNDNUM];
    40233978    int i,i2,i3;
    40243979    static BOOL bInitial;
     
    41514106// TRACKBAR プロパティ
    41524107BOOL CALLBACK RadProperty_TrackBarProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    4153     extern MDIINFO MdiInfo[MAX_WNDNUM];
    41544108    int i,i2,i3;
    41554109    static BOOL bInitial;
     
    43044258// TREEVIEW プロパティ
    43054259BOOL CALLBACK RadProperty_TreeViewProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    4306     extern MDIINFO MdiInfo[MAX_WNDNUM];
    43074260    int i,i2;
    43084261    static BOOL bInitial;
     
    45164469// UPDOWN プロパティ
    45174470BOOL CALLBACK RadProperty_UpDownProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    4518     extern MDIINFO MdiInfo[MAX_WNDNUM];
    45194471    int i,i2,i3;
    45204472    static BOOL bInitial;
     
    46894641
    46904642LRESULT CALLBACK RadPropertyWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
    4691     extern MDIINFO MdiInfo[MAX_WNDNUM];
    46924643    int i;
    46934644    RECT rect;
Note: See TracChangeset for help on using the changeset viewer.