Ejemplo n.º 1
0
        protected void RegisterColumn(Guid formatId, int propertyId, string title, uint defaultWidthInCharacters,
                                      ListViewAlignment format = ListViewAlignment.Left, ShellColumnState state = ShellColumnState.TypeString)
        {
            var columnId = new ShellColumnId {
                FormatId = formatId, PropertyId = propertyId
            };

            // Note: description field is not used by the shell.
            var columnInfo = new ShellColumnInfo
            {
                ColumnId = columnId,
                Title    = title,
                DefaultWidthInCharacters = defaultWidthInCharacters,
                Format      = format,
                State       = state | ShellColumnState.Extended | ShellColumnState.SecondaryUI,
                variantType = 0
            };

            // Note: VT_LPSTR/VT_BSTR works ok. Other types seems to have issues with sorting.
            // TODO = VT_BSTR

            columnInfos.Add(columnInfo);
        }
Ejemplo n.º 2
0
        protected void RegisterColumn(Guid formatId, int propertyId, string title, uint defaultWidthInCharacters,
                                      ListViewAlignment format = ListViewAlignment.Left, ShellColumnState state = ShellColumnState.TypeString)
        {
            Contract.Requires(title != null);
            Contract.Requires(title.Length < ShellColumnInfo.MaxTitleLength);

            var columnId = new ShellColumnId {
                FormatId = formatId, PropertyId = propertyId
            };

            // Note: description field is not used by the shell.
            var columnInfo = new ShellColumnInfo();

            columnInfo.ColumnId = columnId;
            columnInfo.Title    = title;
            columnInfo.DefaultWidthInCharacters = defaultWidthInCharacters;
            columnInfo.Format = format;
            columnInfo.State  = state | ShellColumnState.Extended | ShellColumnState.SecondaryUI;

            // Note: VT_LPSTR/VT_BSTR works ok. Other types seems to have issues with sorting.
            columnInfo.variantType = 0; // TODO = VT_BSTR

            columnInfos.Add(columnInfo);
        }
Ejemplo n.º 3
0
        protected void RegisterColumn(string title, uint defaultWidthInCharacters,
                                      ListViewAlignment format = ListViewAlignment.Left, ShellColumnState state = ShellColumnState.TypeString)
        {
            if (title == null)
            {
                throw new ArgumentNullException(nameof(title));
            }
            if (title.Length > ShellColumnInfo.MaxTitleLength)
            {
                throw new ArgumentException("title.Length > ShellColumnInfo.MaxTitleLength", nameof(title));
            }

            RegisterColumn(GetStandardFormatIdentifier(), columnInfos.Count, title, defaultWidthInCharacters, format, state);
        }
Ejemplo n.º 4
0
        protected void RegisterColumn(string title, uint defaultWidthInCharacters,
                                      ListViewAlignment format = ListViewAlignment.Left, ShellColumnState state = ShellColumnState.TypeString)
        {
            Contract.Requires(title != null);
            Contract.Requires(title.Length < ShellColumnInfo.MaxTitleLength);

            RegisterColumn(GetStandardFormatIdentifier(), columnInfos.Count, title, defaultWidthInCharacters, format, state);
        }