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

📄 mmonitor.c

📁 This folder includes IME sample source code for Simplified Chinese IMEs
💻 C
字号:

/*++

Copyright (c) 1990-1999 Microsoft Corporation, All Rights Reserved

Module Name:

    mmonitor.c

    this file contains functions which support Multiple Monitors

++*/


#include <windows.h>
#include <imm.h>
#include <imedefs.h>

#ifdef MUL_MONITOR

/**********************************************************************/
/* ImeMonitorWorkAreaFromWindow()                                     */
/**********************************************************************/
RECT PASCAL ImeMonitorWorkAreaFromWindow( HWND hAppWnd)
{

    HMONITOR  hMonitor;

    hMonitor = MonitorFromWindow(hAppWnd, MONITOR_DEFAULTTONEAREST);

    if (hMonitor) {

        MONITORINFO sMonitorInfo;

        sMonitorInfo.cbSize = sizeof(sMonitorInfo);

        // init a default value to avoid GetMonitorInfo fails

        sMonitorInfo.rcWork = sImeG.rcWorkArea;
        GetMonitorInfo(hMonitor, &sMonitorInfo);
        return sMonitorInfo.rcWork;
    } else 
        return sImeG.rcWorkArea;
    
}

/**********************************************************************/
/* ImeMonitorWorkAreaFromPoint()                                      */
/**********************************************************************/
RECT PASCAL ImeMonitorWorkAreaFromPoint(
    POINT ptPoint)
{
    HMONITOR hMonitor;

    hMonitor = MonitorFromPoint(ptPoint, MONITOR_DEFAULTTONEAREST);

    if (hMonitor) {

        MONITORINFO sMonitorInfo;

        sMonitorInfo.cbSize = sizeof(sMonitorInfo);

        // init a default value to avoid GetMonitorInfo fails

        sMonitorInfo.rcWork = sImeG.rcWorkArea;
        GetMonitorInfo(hMonitor, &sMonitorInfo);
        return sMonitorInfo.rcWork;
    } else 
        return sImeG.rcWorkArea;
    
}


/**********************************************************************/
/* ImeMonitorWorkAreaFromRect()                                       */
/**********************************************************************/
RECT PASCAL ImeMonitorWorkAreaFromRect(
    LPRECT lprcRect)
{
    HMONITOR hMonitor;

    hMonitor = MonitorFromRect(lprcRect, MONITOR_DEFAULTTONEAREST);

    if (hMonitor) {
        MONITORINFO sMonitorInfo;

        sMonitorInfo.cbSize = sizeof(sMonitorInfo);

        // init a default value to avoid GetMonitorInfo fails

        sMonitorInfo.rcWork = sImeG.rcWorkArea;

        GetMonitorInfo(hMonitor, &sMonitorInfo);
        return sMonitorInfo.rcWork;
    } else 
        return sImeG.rcWorkArea;
    
}
#endif  // MUL_MONITOR

⌨️ 快捷键说明

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