Files
Troll-V2/Quasar.Server/Helper/NativeMethodsHelper.cs
T
2026-08-27 11:22:16 -06:00

36 lines
1.0 KiB
C#

using System;
using Quasar.Server.Utilities;
namespace Quasar.Server.Helper
{
public static class NativeMethodsHelper
{
private const int LVM_FIRST = 0x1000;
private const int LVM_SETITEMSTATE = LVM_FIRST + 43;
private const int WM_VSCROLL = 277;
private static readonly IntPtr SB_PAGEBOTTOM = new IntPtr(7);
public static int MakeWin32Long(short wLow, short wHigh)
{
return (int)wLow << 16 | (int)(short)wHigh;
}
public static void SetItemState(IntPtr handle, int itemIndex, int mask, int value)
{
NativeMethods.LVITEM lvItem = new NativeMethods.LVITEM
{
stateMask = mask,
state = value
};
NativeMethods.SendMessageListViewItem(handle, LVM_SETITEMSTATE, new IntPtr(itemIndex), ref lvItem);
}
public static void ScrollToBottom(IntPtr handle)
{
NativeMethods.SendMessage(handle, WM_VSCROLL, SB_PAGEBOTTOM, IntPtr.Zero);
}
}
}