0
У меня возникают проблемы с расстоянием и размером элементов управления диалогового окна при использовании моего приложения в среде с высоким разрешением. Я помещаю элементы управления, используя следующий код в цикле:MFC Dialog Controls в Ultra High Resolutions
GetClientRect(cRectDimen);
int iHalf = cRectDimen.right/2;
int iY = cRectDimen.top;
int iX = cRectDimen.left+5;
int iVeryFarRight = cRectDimen.right - 5;
int iFarRight = iHalf - 10;
POINT ptTop,ptBottom;
cStat = new CStatic;
iY += 20;
ptTop.x = iX + 10;
ptTop.y = iY;
ptBottom.x = iX + pDataField->m_csDesc.GetLength() * 10;
ptBottom.y = iY + 15;
cStatRect.SetRect(ptTop,ptBottom);
Однако ультра высокое разрешение изображения выглядит как:
И высокое разрешение изображения, как:
Попробуйте работать в DLU (диалоговые логические блоки), а затем преобразовать их в пиксели во время выполнения, используя «MapDialogRect» или «GetDialogBaseUnits» – user1793036