mirror of https://github.com/quasar/Quasar.git
44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
using System;
|
|
using xServer.Core.Utilities;
|
|
|
|
namespace xServer.Core.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 const int SB_PAGEBOTTOM = 7;
|
|
|
|
public static int MakeLong(int wLow, int wHigh)
|
|
{
|
|
int low = (int)IntLoWord(wLow);
|
|
short high = IntLoWord(wHigh);
|
|
int product = 0x10000 * (int)high;
|
|
int mkLong = (int)(low | product);
|
|
return mkLong;
|
|
}
|
|
|
|
private static short IntLoWord(int word)
|
|
{
|
|
return (short)(word & short.MaxValue);
|
|
}
|
|
|
|
public static void SetItemState(IntPtr handle, int itemIndex, int mask, int value)
|
|
{
|
|
NativeMethods.LVITEM lvItem = new NativeMethods.LVITEM
|
|
{
|
|
stateMask = mask,
|
|
state = value
|
|
};
|
|
NativeMethods.SendMessageLVItem(handle, LVM_SETITEMSTATE, itemIndex, ref lvItem);
|
|
}
|
|
|
|
public static void ScrollToBottom(IntPtr handle)
|
|
{
|
|
NativeMethods.SendMessage(handle, WM_VSCROLL, SB_PAGEBOTTOM, 0);
|
|
}
|
|
}
|
|
}
|