Exemple #1
0
        public void SetTileSize(Size size)
        {
            ListViewAPI.LVTILEVIEWINFO apiTileView;
            ListViewAPI.INTEROP_SIZE   apiSize;

            this.SuspendLayout();

            int param = 0;

            _apiRetVal = ListViewAPI.SendMessage((System.IntPtr) this.Handle, ListViewAPI.LVM_GETVIEW, ListViewAPI.LV_VIEW_TILE, ref param);
            if ((int)_apiRetVal != ListViewAPI.LV_VIEW_TILE)
            {
                return;
            }

            apiSize    = new ListViewAPI.INTEROP_SIZE();
            apiSize.cx = size.Width;
            apiSize.cy = size.Height;

            apiTileView          = new ListViewAPI.LVTILEVIEWINFO();
            apiTileView.cbSize   = Marshal.SizeOf(typeof(ListViewAPI.LVTILEVIEWINFO));
            apiTileView.dwMask   = ListViewAPI.LVTVIM_TILESIZE | ListViewAPI.LVTVIM_LABELMARGIN;
            _apiRetVal           = ListViewAPI.SendMessage(this.Handle, ListViewAPI.LVM_GETTILEVIEWINFO, 0, ref apiTileView);
            apiTileView.dwFlags  = ListViewAPI.LVTVIF_FIXEDSIZE;
            apiTileView.sizeTile = apiSize;
            _apiRetVal           = ListViewAPI.SendMessage(this.Handle, ListViewAPI.LVM_SETTILEVIEWINFO, 0, ref apiTileView);

            this.ResumeLayout();
        }
Exemple #2
0
        public void SetTileHeight(int height)
        {
            ListViewAPI.LVTILEVIEWINFO apiTileView;

            this.SuspendLayout();

            int param = 0;

            _apiRetVal = ListViewAPI.SendMessage(this.Handle, ListViewAPI.LVM_GETVIEW, ListViewAPI.LV_VIEW_TILE, ref param);
            if ((int)_apiRetVal != ListViewAPI.LV_VIEW_TILE)
            {
                return;
            }


            apiTileView = new ListViewAPI.LVTILEVIEWINFO();

            apiTileView.cbSize      = Marshal.SizeOf(typeof(ListViewAPI.LVTILEVIEWINFO));
            apiTileView.dwMask      = ListViewAPI.LVTVIM_TILESIZE | ListViewAPI.LVTVIM_LABELMARGIN;
            _apiRetVal              = ListViewAPI.SendMessage(this.Handle, ListViewAPI.LVM_GETTILEVIEWINFO, 0, ref apiTileView);
            apiTileView.dwFlags     = ListViewAPI.LVTVIF_FIXEDHEIGHT;
            apiTileView.sizeTile.cy = height;
            _apiRetVal              = ListViewAPI.SendMessage(this.Handle, ListViewAPI.LVM_SETTILEVIEWINFO, 0, ref apiTileView);


            this.ResumeLayout();
        }
Exemple #3
0
        public void ShowTiles(int[] columns)
        {
            ListViewAPI.LVTILEVIEWINFO apiTileView;
            ListViewAPI.LVTILEINFO     apiTile;

            IntPtr lpcol = Marshal.AllocHGlobal(columns.Length * 4);

            Marshal.Copy(columns, 0, lpcol, columns.Length);

            int param = 0;

            _apiRetVal = ListViewAPI.SendMessage(this.Handle, ListViewAPI.LVM_SETVIEW, ListViewAPI.LV_VIEW_TILE, ref param);

            apiTileView         = new ListViewAPI.LVTILEVIEWINFO();
            apiTileView.cbSize  = Marshal.SizeOf(typeof(ListViewAPI.LVTILEVIEWINFO));
            apiTileView.dwMask  = ListViewAPI.LVTVIM_COLUMNS | ListViewAPI.LVTVIM_TILESIZE;
            apiTileView.dwFlags = ListViewAPI.LVTVIF_AUTOSIZE;
            apiTileView.cLines  = columns.Length;


            _apiRetVal = ListViewAPI.SendMessage(this.Handle, ListViewAPI.LVM_SETTILEVIEWINFO, 0, ref apiTileView);

            foreach (XPListViewItem itm in this.Items)
            {
                apiTile           = new ListViewAPI.LVTILEINFO();
                apiTile.cbSize    = Marshal.SizeOf(typeof(ListViewAPI.LVTILEINFO));
                apiTile.iItem     = itm.Index;
                apiTile.cColumns  = columns.Length;
                apiTile.puColumns = (int)lpcol;

                _apiRetVal = ListViewAPI.SendMessage(this.Handle, ListViewAPI.LVM_SETTILEINFO, 0, ref apiTile);
            }

            //columns = null;
            Marshal.FreeHGlobal(lpcol);
        }