Changeset 942 for trunk/dll/arccnrs.c
- Timestamp:
- Feb 10, 2008, 7:38:02 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/arccnrs.c
r917 r942 3290 3290 } 3291 3291 3292 MRESULT EXPENTRY ArcCnrMenuProc(HWND hwnd, ULONG msg, MPARAM mp1, 3293 MPARAM mp2) 3294 { 3295 PFNWP oldMenuProc = WinQueryWindowPtr(hwnd, QWL_USER); 3296 static short sLastMenuitem; 3297 3298 switch (msg) { 3299 case WM_MOUSEMOVE: { 3300 if (fOtherHelp) { 3301 RECTL rectl; 3302 SHORT i, sCurrentMenuitem; 3303 SHORT MenuItems = 10; 3304 SHORT asMenuIDs[10] = {IDM_VIEW, 3305 IDM_DELETE, 3306 IDM_EXEC, 3307 IDM_EXTRACT, 3308 IDM_TEST, 3309 IDM_VIRUSSCAN, 3310 IDM_RESCAN, 3311 IDM_WALKDIR, 3312 IDM_FILTER, 3313 0}; 3314 char *szHelpString = NULL; 3315 3316 3317 for (i=0; i<MenuItems; i++) { 3318 sCurrentMenuitem = asMenuIDs[i]; 3319 oldMenuProc(hwnd,MM_QUERYITEMRECT, 3320 MPFROM2SHORT(asMenuIDs[i], FALSE), 3321 &rectl); 3322 3323 if (MOUSEMSG(&msg)->x > rectl.xLeft && 3324 MOUSEMSG(&msg)->x < rectl.xRight && 3325 MOUSEMSG(&msg)->y > rectl.yBottom && 3326 MOUSEMSG(&msg)->y < rectl.yTop) 3327 break; 3328 } // for 3329 3330 3331 switch (sCurrentMenuitem) { 3332 case 0: 3333 break; 3334 case IDM_VIEW: 3335 szHelpString = GetPString(IDS_ARCCNRVIEWMENUHELP); 3336 break; 3337 case IDM_DELETE: 3338 szHelpString = GetPString(IDS_ARCCNRDELETEMENUHELP); 3339 break; 3340 case IDM_EXEC: 3341 szHelpString = GetPString(IDS_ARCCNREXECMENUHELP); 3342 break; 3343 case IDM_EXTRACT: 3344 szHelpString = GetPString(IDS_ARCCNREXTRACTMENUHELP); 3345 break; 3346 case IDM_TEST: 3347 szHelpString = GetPString(IDS_ARCCNRTESTMENUHELP); 3348 break; 3349 case IDM_VIRUSSCAN: 3350 szHelpString = GetPString(IDS_ARCCNRVIRUSMENUHELP); 3351 break; 3352 case IDM_RESCAN: 3353 szHelpString = GetPString(IDS_ARCCNRRESCANMENUHELP); 3354 break; 3355 case IDM_WALKDIR: 3356 szHelpString = GetPString(IDS_ARCCNRWALKDIRMENUHELP); 3357 break; 3358 case IDM_FILTER: 3359 szHelpString = GetPString(IDS_ARCCNRFILTERMENUHELP); 3360 break; 3361 default: 3362 break; 3363 } 3364 3365 if (sLastMenuitem != sCurrentMenuitem && szHelpString) { 3366 sLastMenuitem = sCurrentMenuitem; 3367 MakeBubble(hwnd, TRUE, szHelpString); 3368 } 3369 else if (hwndBubble && !sCurrentMenuitem){ 3370 sLastMenuitem = sCurrentMenuitem; 3371 WinDestroyWindow(hwndBubble); 3372 } 3373 } 3374 } 3375 } 3376 return oldMenuProc(hwnd, msg, mp1, mp2); 3377 } 3378 3292 3379 HWND StartArcCnr(HWND hwndParent, HWND hwndCaller, CHAR * arcname, INT flags, 3293 3380 ARC_TYPE * sinfo) … … 3464 3551 if (!PostMsg(dcd->hwndCnr, UM_SETUP, MPVOID, MPVOID)) 3465 3552 WinSendMsg(dcd->hwndCnr, UM_SETUP, MPVOID, MPVOID); 3466 if (FrameFlags & FCF_MENU) { 3553 if (FrameFlags & FCF_MENU) { 3554 PFNWP oldmenuproc; 3555 HWND hwndMenu = WinWindowFromID(hwndFrame, FID_MENU); 3556 3557 oldmenuproc = WinSubclassWindow(hwndMenu, (PFNWP) ArcCnrMenuProc); 3558 WinSetWindowPtr(hwndMenu, QWL_USER, (PVOID) oldmenuproc); 3467 3559 if (!fToolbar) { 3468 HWND hwndMenu = WinWindowFromID(hwndFrame, FID_MENU);3469 3560 3470 3561 if (hwndMenu) {
Note:
See TracChangeset
for help on using the changeset viewer.