Changeset 625 in dev for trunk/ab5.0/abdev/abdev/MenuProc.cpp
- Timestamp:
- May 27, 2008, 9:17:34 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/MenuProc.cpp
r624 r625 11 11 #endif 12 12 13 int GetMenuInfoNum(const char *name){13 int GetMenuInfoNum(const std::string &name){ 14 14 int i; 15 15 for(i=0;i<projectInfo.NumberOfMenu;i++){ 16 if(lstrcmpi(name ,projectInfo.pMenuInfo[i].IdName)==0) return i;16 if(lstrcmpi(name.c_str(),projectInfo.pMenuInfo[i].IdName)==0) return i; 17 17 } 18 18 return -1; … … 68 68 void Project_Menu_Insert(void){ 69 69 extern HANDLE hHeap; 70 extern MDIINFO MdiInfo[MAX_WNDNUM];71 70 extern char NewIdName[MAX_PATH]; 72 71 int i; … … 121 120 //////////////////////////////// 122 121 // ウィンドウ プロパティを更新 123 for(i=0;i<M AX_WNDNUM;i++){122 for(i=0;i<MdiInfo.size();i++){ 124 123 if(MdiInfo[i].hwnd&&MdiInfo[i].DocType==WNDTYPE_RAD){ 125 124 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW) … … 132 131 void Project_Menu_Delete(int MenuInfoNum){ 133 132 extern HANDLE hHeap; 134 extern MDIINFO MdiInfo[MAX_WNDNUM];135 133 int i; 136 134 137 135 //ウィンドウが開かれている場合は閉じる 138 for(i=0;i<M AX_WNDNUM;i++){139 if(MdiInfo[i].hwnd&&lstrcmpi(projectInfo.pMenuInfo[MenuInfoNum].IdName,MdiInfo[i].path )==0){136 for(i=0;i<MdiInfo.size();i++){ 137 if(MdiInfo[i].hwnd&&lstrcmpi(projectInfo.pMenuInfo[MenuInfoNum].IdName,MdiInfo[i].path.c_str())==0){ 140 138 SendMessage(MdiInfo[i].hwnd,WM_CLOSE,0,0); 141 139 break; … … 166 164 //////////////////////////////// 167 165 // ウィンドウ プロパティを更新 168 for(i=0;i<M AX_WNDNUM;i++){166 for(i=0;i<MdiInfo.size();i++){ 169 167 if(MdiInfo[i].hwnd&&MdiInfo[i].DocType==WNDTYPE_RAD){ 170 168 if(MdiInfo[i].MdiRadInfo->SelectingItem[0]==SELECT_WINDOW) 171 ChangePropertyWindow(i,GetWndInfoNum(MdiInfo[i].path ));169 ChangePropertyWindow(i,GetWndInfoNum(MdiInfo[i].path.c_str())); 172 170 } 173 171 } … … 192 190 extern HINSTANCE hInst; 193 191 extern HWND hDocCombo; 194 extern MDIINFO MdiInfo[MAX_WNDNUM];195 192 int i; 196 193 HWND hChild,hListWnd,hMenuEdit; … … 203 200 i=GetWndNum(hChild); 204 201 if(MdiInfo[i].DocType==WNDTYPE_MENU){ 205 if(lstrcmpi(MdiInfo[i].path ,pMenuInfo->IdName)==0) break;202 if(lstrcmpi(MdiInfo[i].path.c_str(),pMenuInfo->IdName)==0) break; 206 203 } 207 204 hChild=GetNextWindow(hChild,GW_HWNDNEXT); … … 249 246 hChild,NULL,hInst,NULL); 250 247 248 251 249 //ウィンドウのID登録 252 for(i=0;i<MAX_WNDNUM;i++){ 253 if(MdiInfo[i].hwnd==0){ 254 MdiInfo[i].hwnd=hChild; 255 MdiInfo[i].DocType=WNDTYPE_MENU; 256 MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(pMenuInfo->IdName)+1); 257 lstrcpy(MdiInfo[i].title,pMenuInfo->IdName); 258 MdiInfo[i].path=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(pMenuInfo->IdName)+1); 259 lstrcpy(MdiInfo[i].path,pMenuInfo->IdName); 260 261 262 ///////////////////// 263 //MENU ウィンドウ情報 264 265 MdiInfo[i].MdiMenuInfo=(MDIMENUINFO *)GlobalAlloc(GPTR,sizeof(MDIMENUINFO)); 266 267 MdiInfo[i].MdiMenuInfo->hList=hListWnd; 268 269 MdiInfo[i].MdiMenuInfo->hMenuEdit=hMenuEdit; 270 MdiInfo[i].MdiMenuInfo->hEdit_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_PROJECT_MENUEDIT),hMenuEdit,(DLGPROC)MenuEditDlg); 271 272 SCROLLINFO ScrollInfo; 273 ScrollInfo.cbSize=sizeof(SCROLLINFO); 274 ScrollInfo.fMask=SIF_POS; 275 ScrollInfo.nPos=0; 276 SetScrollInfo(MdiInfo[i].MdiMenuInfo->hMenuEdit,SB_VERT,&ScrollInfo,1); 277 278 SendMessage(hListWnd,LB_RESETCONTENT,0,0); 279 SetMenuDataList(hListWnd,pMenuInfo,0); 280 if(pMenuInfo->NumberOfMenu){ 281 SendMessage(hListWnd,LB_SETCURSEL,0,0); 282 SendMessage(hChild,WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)hListWnd); 283 } 284 break; 285 } 286 } 250 MdiInfo.push_back( MDIINFO() ); 251 i = MdiInfo.size()-1; 252 MdiInfo[i].hwnd=hChild; 253 MdiInfo[i].DocType=WNDTYPE_MENU; 254 MdiInfo[i].title=(char *)GlobalAlloc(GMEM_FIXED,lstrlen(pMenuInfo->IdName)+1); 255 lstrcpy(MdiInfo[i].title,pMenuInfo->IdName); 256 MdiInfo[i].path = pMenuInfo->IdName; 257 258 259 ///////////////////// 260 //MENU ウィンドウ情報 261 262 MdiInfo[i].MdiMenuInfo=(MDIMENUINFO *)GlobalAlloc(GPTR,sizeof(MDIMENUINFO)); 263 264 MdiInfo[i].MdiMenuInfo->hList=hListWnd; 265 266 MdiInfo[i].MdiMenuInfo->hMenuEdit=hMenuEdit; 267 MdiInfo[i].MdiMenuInfo->hEdit_Dlg=CreateDialog(hResInst,MAKEINTRESOURCE(IDD_PROJECT_MENUEDIT),hMenuEdit,(DLGPROC)MenuEditDlg); 268 269 SCROLLINFO ScrollInfo; 270 ScrollInfo.cbSize=sizeof(SCROLLINFO); 271 ScrollInfo.fMask=SIF_POS; 272 ScrollInfo.nPos=0; 273 SetScrollInfo(MdiInfo[i].MdiMenuInfo->hMenuEdit,SB_VERT,&ScrollInfo,1); 274 275 SendMessage(hListWnd,LB_RESETCONTENT,0,0); 276 SetMenuDataList(hListWnd,pMenuInfo,0); 277 if(pMenuInfo->NumberOfMenu){ 278 SendMessage(hListWnd,LB_SETCURSEL,0,0); 279 SendMessage(hChild,WM_COMMAND,MAKELONG(0,LBN_SELCHANGE),(long)hListWnd); 280 } 281 287 282 288 283 //ウィンドウ位置を初期化 … … 332 327 extern HANDLE hHeap; 333 328 extern HWND hClient,hOwner; 334 extern MDIINFO MdiInfo[MAX_WNDNUM];335 329 int i; 336 330 char temporary[MAX_PATH]; … … 744 738 LRESULT CALLBACK MenuEditWindow(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){ 745 739 extern HINSTANCE hInst; 746 extern MDIINFO MdiInfo[MAX_WNDNUM];747 740 int i; 748 741 RECT rect; … … 797 790 LRESULT CALLBACK MDIClientWindow_Menu(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){ 798 791 extern HWND hDocCombo; 799 extern MDIINFO MdiInfo[MAX_WNDNUM];800 792 int i,i2,i3,WndNum,MenuInfoNum; 801 793 MENU_INFO *pMenuInfo;
Note:
See TracChangeset
for help on using the changeset viewer.