C++ 放大率低于125%默认Win API(在101-124%之间)
我正在研究windows放大api,我一直在玩弄它,但我对默认放大率有一个问题,windows只允许您以25%的最小值递增。我是否有可能一次增加1-5%呢?也许随着鼠标的滚动而增加百分之一 Windows最低25%默认值][1] 提前感谢您的帮助C++ 放大率低于125%默认Win API(在101-124%之间),c++,c,windows,winapi,magnification-api,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)((
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%缩放。在放大API中没有这样的限制。您在屏幕上看到的限制是由UI开发人员选择的。两者都有,并采用
float
输入参数。对于分辨率没有限制,只要它至少1.0f
且不大于上限。非常感谢您的回复。是的,我知道,但默认为25%。我通过了浮点值,但如果我通过1.05,例如。什么也没发生,但当我通过1.1时,它会缩放到125%,我需要比这个小的数字。int xDlg=(int)((浮点)GetSystemMetrics(SM_CXSCREEN)*(1.0-(1.0/放大系数))/2.0);int yDlg=(int)((float)GetSystemMetrics(SM_CYSCREEN)*(1.0-(1.0/放大系数))/2.0);BOOL fSuccess=MagSetFullscreenTransform(放大系数,xDlg,yDlg);if(fsucces){Micheal非常感谢您的回复。是的,我知道,但它默认为25%。我通过了浮点值,但如果我通过了1.05,例如。什么都没有发生,但当我通过1.1时,它会缩放到125%缩放,我需要小于该值的数字。int xDlg=(int)(float)GetSystemMetrics(SM_CXSCREEN)*(1.0-(1.0/放大系数)/2.0;int-yDlg=(int)((浮点)GetSystemMetrics(SM_CYSCREEN)*(1.0-(1.0/放大系数))/2.0);BOOL-fSuccess=MagSetFullscreenTransform(放大系数,xDlg,yDlg);if(fSuccess){如果你有一些代码可以显示,也许我们可以帮你。嗨,Micheal,我把代码添加到问题中,谢谢你的回答。