Я смотрю на api увеличения Windows и играю с ним, но у меня проблема с настройками увеличения, 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%
В API увеличения такого ограничения нет. Ограничения, которые вы видите на экране, были выбраны разработчиком пользовательского интерфейса.
И то и другое MagSetFullscreenTransform а также MagSetWindowTransform принимать float
входные аргументы. Там нет никаких ограничений, насколько коэффициент увеличения разрешение идет, пока оно хотя бы 1.0f
и не больше верхней границы.