Получить scrollbasize и размер большого пальца в пикселях с scrollbarinfo - PullRequest
0 голосов
/ 07 февраля 2020

Я сейчас делаю весь скриншот шаблона электронной почты в почтовом клиенте Outlook. Для этого я использую функции Win API. Тем не менее, иногда скриншот выглядит плохо внизу, потому что скриншот, который я должен сделать, касается не всего экрана, а всего лишь небольшой фрагмент нижней части. Сейчас я получаю информацию о свитке, используя следующий блок кода:

scrollInfo = new SCROLLINFO();
scrollInfo.cbSize = Marshal.SizeOf(scrollInfo);
scrollInfo.fMask = (int)ScrollInfoMask.SIF_ALL;
SendMessage(scrollBarContainer, SBM_GETSCROLLINFO, IntPtr.Zero, ref scrollInfo);

Но мне нужно понять, какие единицы измерения структуры SCROLLINFO:

Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct SCROLLINFO
{
   public int cbSize;
   public uint fMask;
   public int nMin;
   public int nMax;
   public uint nPage;
   public int nPos;
   public int nTrackPos;
}

Единственный способ сделать снимок оставшегося фрагмента шаблона электронной почты, который у меня есть, - получить оставшийся раздел полосы прокрутки в ожидании, чтобы сделать прокрутку и снять эту длину до текущего размера высоты окна.

Но единицы измерения scrollinfo мне не очень понятны.

...