RCM/cListView.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace RCM
{
    #region Directives
    using System;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    using System.Drawing;
    #endregion

    [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
    public class cListView : IDisposable
    {
        #region Constants
        private const int LVM_FIRST = 0x1000;
        private const int LVM_GETHEADER = (LVM_FIRST + 31);
        #endregion

        #region API
        [DllImport("user32.dll")]
        private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
        #endregion

        #region Fields
        private IntPtr _hListviewWnd = IntPtr.Zero;
        private cHeader _cHeaderSkin;
        private cInternalScrollBar _cInternalScroll;
        #endregion

        #region Constructor
        public cListView(IntPtr handle, Bitmap header, Bitmap hztrack, Bitmap hzarrow, Bitmap hzthumb, Bitmap vttrack, Bitmap vtarrow, Bitmap vtthumb, Bitmap fader)
        {
            if (handle == IntPtr.Zero)
                throw new Exception("The listview handle is invalid.");
            _hListviewWnd = handle;

            if (headerWnd != IntPtr.Zero)
                _cHeaderSkin = new cHeader(headerWnd, header);

            if (hztrack != null && hzarrow != null && hzthumb != null && vttrack != null && vtarrow != null && vtthumb != null)
                _cInternalScroll = new cInternalScrollBar(_hListviewWnd, hztrack, hzarrow, hzthumb, vttrack, vtarrow, vtthumb, fader);
            else
                throw new Exception("The listview image(s) are invalid");
        }

        private IntPtr headerWnd
        {
            get { return (SendMessage(_hListviewWnd, LVM_GETHEADER, 0, 0)); }
        }
        #endregion

        #region Methods
        public void Dispose()
        {
            try
            {
                if (_cHeaderSkin != null) _cHeaderSkin.Dispose();
                if (_cInternalScroll != null) _cInternalScroll.Dispose();
            }
            catch { }
        }
后面还有 3 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。