⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddeproc.c

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
        if( ConfigInfo.screen_out ) {
            CheckMenuItem( mh, DDEMENU_SCREEN_OUT, MF_BYCOMMAND | MF_CHECKED );
        }
        hideHintBar( hwnd, info, !ConfigInfo.show_hints );
        break;
    case WM_MENUSELECT:
        HintMenuSelect( info->hintbar, hwnd, wparam, lparam );
        break;
    case WM_MOVE:
        GetWindowRect( hwnd, &area );
        if( MainWndConfig.state != SIZE_MINIMIZED ) {
            MainWndConfig.last_xpos = MainWndConfig.xpos;
            MainWndConfig.last_ypos = MainWndConfig.ypos;
            MainWndConfig.xpos = area.left;
            MainWndConfig.ypos = area.top;
        }
        break;
    case WM_SIZE:
        ResizeListBox( LOWORD( lparam ), HIWORD( lparam ), &(info->list ) );
        ResizeTB( hwnd );
        GetWindowRect( hwnd, &area );
        if( wparam != SIZE_MAXIMIZED && wparam != SIZE_MINIMIZED ) {
            MainWndConfig.xsize = area.right - area.left;
            MainWndConfig.ysize = area.bottom - area.top;
        } else {
            MainWndConfig.xpos = MainWndConfig.last_xpos;
            MainWndConfig.ypos = MainWndConfig.last_ypos;
        }
        MainWndConfig.state = wparam;
        GetClientRect( hwnd, &area );
        area.top = area.bottom - info->list.hinthite;
        hinthwnd = GetHintHwnd( info->hintbar );
        hideHintBar( hwnd, info, !ConfigInfo.show_hints );
        MoveWindow( hinthwnd, area.left, area.top,
                    area.right - area.left, info->list.hinthite, TRUE );
        break;
    case WM_COMMAND:
        cmd = LOWORD( wparam );
        switch( cmd ) {
        case DDEMENU_MON_POST:
        case DDEMENU_MON_SENT:
        case DDEMENU_MON_STR:
        case DDEMENU_MON_CB:
        case DDEMENU_MON_ERR:
        case DDEMENU_MON_CONV:
        case DDEMENU_MON_LNK:
            MonitorChange( hwnd, cmd );
            break;
        case DDEMENU_TRK_STR:
        case DDEMENU_TRK_CONV:
        case DDEMENU_TRK_LINK:
        case DDEMENU_TRK_SERVER:
            DisplayTracking( cmd );
            break;
        case DDEMENU_SCREEN_OUT:
            ConfigInfo.screen_out = !ConfigInfo.screen_out;
            mh = GetMenu( hwnd );
            if( ConfigInfo.screen_out ) {
                CheckMenuItem( mh, DDEMENU_SCREEN_OUT,
                                    MF_BYCOMMAND | MF_CHECKED );
            } else {
                CheckMenuItem( mh, DDEMENU_SCREEN_OUT,
                                    MF_BYCOMMAND | MF_UNCHECKED );
            }
            break;
        case DDEMENU_EXIT:
            DestroyWindow( hwnd );
            break;
        case DDEMENU_CLEAR:
            info->horz_extent = 0;
            SendMessage( info->list.box, LB_SETHORIZONTALEXTENT, 0, 0L );
            SendMessage( info->list.box, LB_RESETCONTENT, 0, 0L );
            break;
        case DDEMENU_MARK:
            ProcessMark( hwnd, Instance, RecordMsg );
            break;
        case DDEMENU_SAVE:
            SaveListBox( SLB_SAVE_TMP, DumpHeader, ".\\wdde.txt", AppName,
                        hwnd, info->list.box );
            break;
        case DDEMENU_SAVE_AS:
            SaveListBox( SLB_SAVE_AS, DumpHeader, NULL, AppName,
                        hwnd, info->list.box );
            break;
        case DDEMENU_TOOLBAR:
            ToggleTB( hwnd );
            hideHintBar( hwnd, info, !ConfigInfo.show_hints );
            break;
        case DDEMENU_HINTBAR:
            ConfigInfo.show_hints = !ConfigInfo.show_hints;
            hideHintBar( hwnd, info, !ConfigInfo.show_hints );
            break;
        case DDEMENU_LOG_FILE:
            mh = GetMenu( hwnd );
            flag = MF_BYCOMMAND;
            if( LogToggle() ) {
                flag |= MF_CHECKED;
            } else {
                flag |= MF_UNCHECKED;
                CheckMenuItem( mh, DDEMENU_LOG_PAUSE, flag );
            }
            CheckMenuItem( mh, DDEMENU_LOG_FILE, flag );
            break;
        case DDEMENU_LOG_PAUSE:
            mh = GetMenu( hwnd );
            flag = MF_BYCOMMAND;
            if( SpyLogPauseToggle() ) {
                flag |= MF_CHECKED;
            } else {
                flag |= MF_UNCHECKED;
            }
            CheckMenuItem( mh, DDEMENU_LOG_PAUSE, flag );
            break;
        case DDEMENU_FONT:
            if( ChooseMonoFont( hwnd ) ) {
                if( ConfigInfo.show_hints ) {
                    info->list.hinthite = SizeHintBar( info->hintbar );
                    hideHintBar( hwnd, info, !ConfigInfo.show_hints );
                }
                GetClientRect( hwnd, &area );
                ResizeListBox( area.right - area.left,
                               area.bottom - area.top, &(info->list ) );
                ResetFonts( info );
            }
            break;
        case DDEMENU_LOG_CONFIG:
            LogConfigure();
            break;
        case DDEMENU_MSG_FILTER:
            fp = MakeProcInstance( (FARPROC)FilterDlgProc, Instance );
            JDialogBoxParam( Instance, "MSG_FILTER_DLG", DDEMainWnd, (DLGPROC)fp, 1 );
            FreeProcInstance( fp );
            break;
        case DDEMENU_CB_FILTER:
            fp = MakeProcInstance( (FARPROC)FilterDlgProc, Instance );
            JDialogBoxParam( Instance, "CB_FILTER_DLG", DDEMainWnd, (DLGPROC)fp, 0 );
            FreeProcInstance( fp );
            break;
        case DDEMENU_ABOUT:
            ai.owner = hwnd;
            ai.inst = Instance;
            ai.name = AllocRCString( STR_ABOUT_NAME );
            ai.version = banner1p2( _DDESPY_VERSION_ );
            ai.first_cr_year = AllocRCString( STR_ABOUT_COPYRIGHT_YEAR );
            ai.title = AllocRCString( STR_ABOUT_TITLE );
            DoAbout( &ai );
            FreeRCString( ai.name );
            FreeRCString( ai.first_cr_year );
            FreeRCString( ai.title );
            break;
        case DDEMENU_HELP_CONTENTS:
            WWinHelp( hwnd, DDE_HELP_FILE, HELP_CONTENTS, 0 );
            break;
        case DDEMENU_HELP_SRCH:
            WWinHelp( hwnd, DDE_HELP_FILE, HELP_PARTIALKEY, (DWORD)"" );
            break;
        case DDEMENU_HELP_ON_HELP:
            WWinHelp( hwnd, HELP_HELP_FILE, HELP_HELPONHELP, 0 );
            break;
        case DDEMENU_SCROLL:
            ConfigInfo.scroll = !ConfigInfo.scroll;
            mh = GetMenu( hwnd );
            flag = MF_BYCOMMAND;
            if( ConfigInfo.scroll ) {
                flag |= MF_CHECKED;
            } else {
                flag |= MF_UNCHECKED;
            }
            CheckMenuItem( mh, DDEMENU_SCROLL, flag );
            break;
        case DDEMENU_HWND_ALIAS:
            alias_title = AllocRCString( STR_ADD_HWND_ALIAS );
            Query4Aliases( HwndAlias, Instance, hwnd, alias_title );
            FreeRCString( alias_title );
            break;
        case DDEMENU_TASK_ALIAS:
            alias_title = AllocRCString( STR_ADD_TASK_ALIAS );
            Query4Aliases( TaskAlias, Instance, hwnd, alias_title );
            FreeRCString( alias_title );
            break;
        case DDEMENU_CONV_ALIAS:
            alias_title = AllocRCString( STR_ADD_CONV_ALIAS );
            Query4Aliases( ConvAlias, Instance, hwnd, alias_title );
            FreeRCString( alias_title );
            break;
        case DDEMENU_ALIAS_PURGE:
            {
                BOOL    alias_state;

                alias_state = ConfigInfo.alias;
                ConfigInfo.alias = FALSE;
                RefreshAliases();
                ConfigInfo.alias = alias_state;
                FreeAlias( ConvAlias );
                FreeAlias( TaskAlias );
                FreeAlias( HwndAlias );
                InitAliases();
            }
            break;
        case DDEMENU_NO_ALIAS:
            ConfigInfo.alias = !ConfigInfo.alias;
            mh = GetMenu( hwnd );
            if( !ConfigInfo.alias ) {
                CheckMenuItem( mh, DDEMENU_NO_ALIAS,
                                MF_BYCOMMAND | MF_CHECKED );
            } else {
                CheckMenuItem( mh, DDEMENU_NO_ALIAS,
                                MF_BYCOMMAND | MF_UNCHECKED );
            }
            RefreshAliases();
            break;
        default:
            return( DefWindowProc( hwnd, msg, wparam, lparam ) );
            break;
        }
        break;
    case WM_ENDSESSION:
        if( wparam ) {
            SaveConfigFile();
            SpyLogClose();
        }
        break;
    case WM_DESTROY:
        HintWndDestroy( info->hintbar );
        HintFini();
        SpyLogClose();
        FreeProcInstance( DDEMsgFp );
        SaveConfigFile();
        FiniTrackWnd();
        DDEToolBarFini();
        DestroyMonoFonts();
        FiniRCStrings();
        WWinHelp( hwnd, DDE_HELP_FILE, HELP_QUIT, 0 );
        PostQuitMessage( 0 );
        break;
    default:
        return( DefWindowProc( hwnd, msg, wparam, lparam ) );
    }
    return( TRUE );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -