csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.6 KiB
74 lines
2.6 KiB
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace NativeEmbedSample
|
|
{
|
|
public unsafe class WinApi
|
|
{
|
|
public enum CommonControls : uint
|
|
{
|
|
ICC_LISTVIEW_CLASSES = 0x00000001, // listview, header
|
|
ICC_TREEVIEW_CLASSES = 0x00000002, // treeview, tooltips
|
|
ICC_BAR_CLASSES = 0x00000004, // toolbar, statusbar, trackbar, tooltips
|
|
ICC_TAB_CLASSES = 0x00000008, // tab, tooltips
|
|
ICC_UPDOWN_CLASS = 0x00000010, // updown
|
|
ICC_PROGRESS_CLASS = 0x00000020, // progress
|
|
ICC_HOTKEY_CLASS = 0x00000040, // hotkey
|
|
ICC_ANIMATE_CLASS = 0x00000080, // animate
|
|
ICC_WIN95_CLASSES = 0x000000FF,
|
|
ICC_DATE_CLASSES = 0x00000100, // month picker, date picker, time picker, updown
|
|
ICC_USEREX_CLASSES = 0x00000200, // comboex
|
|
ICC_COOL_CLASSES = 0x00000400, // rebar (coolbar) control
|
|
ICC_INTERNET_CLASSES = 0x00000800,
|
|
ICC_PAGESCROLLER_CLASS = 0x00001000, // page scroller
|
|
ICC_NATIVEFNTCTL_CLASS = 0x00002000, // native font control
|
|
ICC_STANDARD_CLASSES = 0x00004000,
|
|
ICC_LINK_CLASS = 0x00008000
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
public struct INITCOMMONCONTROLSEX
|
|
{
|
|
public int dwSize;
|
|
public uint dwICC;
|
|
}
|
|
|
|
[DllImport("Comctl32.dll")]
|
|
public static extern void InitCommonControlsEx(ref INITCOMMONCONTROLSEX init);
|
|
|
|
[DllImport("user32.dll", SetLastError = true)]
|
|
public static extern bool DestroyWindow(IntPtr hwnd);
|
|
|
|
[DllImport("kernel32.dll")]
|
|
public static extern IntPtr LoadLibrary(string lib);
|
|
|
|
|
|
[DllImport("kernel32.dll")]
|
|
public static extern IntPtr GetModuleHandle(string lpModuleName);
|
|
|
|
[DllImport("user32.dll", SetLastError = true)]
|
|
public static extern IntPtr CreateWindowEx(
|
|
int dwExStyle,
|
|
string lpClassName,
|
|
string lpWindowName,
|
|
uint dwStyle,
|
|
int x,
|
|
int y,
|
|
int nWidth,
|
|
int nHeight,
|
|
IntPtr hWndParent,
|
|
IntPtr hMenu,
|
|
IntPtr hInstance,
|
|
IntPtr lpParam);
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
public struct SETTEXTEX
|
|
{
|
|
public uint Flags;
|
|
public uint Codepage;
|
|
}
|
|
|
|
[DllImport("user32.dll", CharSet = CharSet.Unicode, EntryPoint = "SendMessageW")]
|
|
public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, ref SETTEXTEX wParam, byte[] lParam);
|
|
}
|
|
}
|
|
|