放大率低于125%默认Win API(介于101 - 124%之间)

时间:2017-07-20 11:13:26

标签: c++ c windows winapi magnification-api

我正在研究Windows放大倍率api并且我一直在玩它,但我有放大器默认值的问题,Windows只允许你在最低处增加25%。我有可能一次增加1-5%吗?鼠标滚动进出可能会增加百分之一?

Windows最低25%默认值] [1]

提前感谢您的协助。

    int xDlg = (int)((float)GetSystemMetrics(SM_CXSCREEN) * (1.0 - (1.0 / magnificationFactor)) / 2.0);
    int yDlg = (int)((float)GetSystemMetrics(SM_CYSCREEN) * (1.0 - (1.0 / magnificationFactor)) / 2.0);

    BOOL successSet = MagSetFullscreenTransform(magnificationFactor, xDlg, yDlg);
    if (successSet)
    {
        BOOL fInputTransformEnabled;
        RECT rcInputTransformSource;
        RECT rcInputTransformDest;

        if (MagGetInputTransform(&fInputTransformEnabled, &rcInputTransformSource, &rcInputTransformDest))
        {
            if (fInputTransformEnabled)
            {
                SetInputTransform(hwndDlg, fInputTransformEnabled);
            }                
        }
    }

successSet == false;当它不是1.1以下任何一个失败时我意识到1.1 = 125%变焦。

2 个答案:

答案 0 :(得分:1)

放大率API没有这样的限制。您在屏幕上看到的限制是由UI开发人员选择的。

答案 1 :(得分:1)

MagSetFullscreenTransformMagSetWindowTransform都接受float输入参数。 magnification factor分辨率没有限制,只要它至少为1.0f且不大于上限。