ListView.ColumnHeaders.Icon Эту icon справа разместить можно? - VB
Формулировка задачи:
ListView.ColumnHeaders.Icon
Хочется чтобы картинка в заголовках столбцов появлялась справа, по умолчанию она слева.
Хочу добавить "треугольнички сортировки" Descending-Ascending, их то есть то нет, если рисунок слева, то текст будет прыгать, не есть красиво. Контролы ради этого естественно менять (на что другое) уже не хочу.
Хочется чтобы картинка в заголовках столбцов появлялась справа, по умолчанию она слева.
Хочу добавить "треугольнички сортировки" Descending-Ascending, их то есть то нет, если рисунок слева, то текст будет прыгать, не есть красиво. Контролы ради этого естественно менять (на что другое) уже не хочу.
Решение задачи: «ListView.ColumnHeaders.Icon Эту icon справа разместить можно?»
textual
Листинг программы
<font color="blue">Public</font> <font color="blue">Const</font> LVCF_FMT = &H1 <font color="blue">Public</font> <font color="blue">Const</font> LVCF_IMAGE = &H10 <font color="blue">Public</font> <font color="blue">Const</font> LVCFMT_IMAGE = &H800 <font color="00AA00">'IE 3+ only</font> <font color="blue">Public</font> <font color="blue">Const</font> LVCFMT_BITMAP_ON_RIGHT = &H1000 <font color="00AA00">'SendMessage function</font> <font color="blue">Public</font> <font color="blue">Declare</font> <font color="blue">Function</font> SendMessage Lib <font color="teal">"user32"</font> Alias <font color="teal">"SendMessageA"</font> _ (<font color="blue">ByVal</font> hwnd <font color="blue">As</font> <font color="blue">Long</font>, _ <font color="blue">ByVal</font> Msg <font color="blue">As</font> <font color="blue">Long</font>, _ <font color="blue">ByVal</font> wParam <font color="blue">As</font> <font color="blue">Long</font>, _ lParam <font color="blue">As</font> Any) <font color="blue">As</font> <font color="blue">Long</font> <font color="00AA00">'=======================================================</font> <font color="blue">Private</font> <font color="blue">Sub</font> ListView1_ColumnClick(Index <font color="blue">As</font> <font color="blue">Integer</font>, <font color="blue">ByVal</font> ColumnHeader <font color="blue">As</font> MSComctlLib.ColumnHeader) <font color="blue">Dim</font> lvFormat <font color="blue">As</font> LV_COLUMN <font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Integer</font> <font color="blue">Dim</font> SK <font color="blue">As</font> <font color="blue">Integer</font> SK = ListView1(Index).SortKey <font color="00AA00">'запоминаем предыдущий ключ сортировки</font> <font color="blue">If</font> ColumnHeader.Index = ColStructMas(Index).StartTimeN + <font color="darkblue"><b>1</b></font> <font color="blue">Then</font> <font color="00AA00">'..........................</font> <font color="blue">Else</font> <font color="blue">If</font> ColumnHeader.Index = <font color="darkblue"><b>1</b></font> <font color="blue">Then</font> <font color="blue">Exit</font> <font color="blue">Sub</font> <font color="00AA00">'сортировку по иконке не производим</font> <font color="blue">If</font> (SK = ColumnHeader.Index - <font color="darkblue"><b>1</b></font>) <font color="blue">Then</font> <font color="00AA00">'ключ сортировки не меняется,меняем порядок сортировки</font> <font color="blue">If</font> ListView1(Index).SortOrder = lvwAscending <font color="blue">Then</font> ListView1(Index).SortOrder = lvwDescending <font color="00AA00">'установка иконки <font color="teal">"Descending"</font></font> <font color="00AA00">'ListView1(Index).ColumnHeaders(SK + 1).Icon = <font color="teal">"Descending"</font></font> <font color="blue">With</font> lvFormat .mask = LVCF_FMT <font color="blue">Or</font> LVCF_IMAGE .fmt = LVCFMT_IMAGE <font color="blue">Or</font> LVCFMT_BITMAP_ON_RIGHT .iImage = ImageListHead.ListImages(<font color="teal">"Descending"</font>).Index - <font color="darkblue"><b>1</b></font> <font color="blue">End</font> <font color="blue">With</font> <font color="blue">Call</font> SendMessage(ListView1(Index).hwnd, LVM_SETCOLUMN, SK, lvFormat) <font color="00AA00">'SK=sortkey(не меняется)</font> <font color="blue">Else</font> ListView1(Index).SortOrder = lvwAscending <font color="00AA00">'установка иконки <font color="teal">"Ascending"</font></font> <font color="00AA00">'ListView1(Index).ColumnHeaders(SK + 1).Icon = <font color="teal">"Ascending"</font></font> <font color="blue">With</font> lvFormat .mask = LVCF_FMT <font color="blue">Or</font> LVCF_IMAGE .fmt = LVCFMT_IMAGE <font color="blue">Or</font> LVCFMT_BITMAP_ON_RIGHT .iImage = ImageListHead.ListImages(<font color="teal">"Ascending"</font>).Index - <font color="darkblue"><b>1</b></font> <font color="blue">End</font> <font color="blue">With</font> <font color="blue">Call</font> SendMessage(ListView1(Index).hwnd, LVM_SETCOLUMN, SK, lvFormat) <font color="00AA00">'SK=sortkey(не меняется)</font> <font color="blue">End</font> <font color="blue">If</font> <font color="blue">Else</font> <font color="00AA00">'если ключ сортировки меняется, порядок сортировки делаем по возрастанию</font> ListView1(Index).SortOrder = lvwAscending ListView1(Index).SortKey = ColumnHeader.Index - <font color="darkblue"><b>1</b></font> ListView1(Index).ColumnHeaders(SK + <font color="darkblue"><b>1</b></font>).Icon = <font color="darkblue"><b>0</b></font> <font color="00AA00">'установка иконки <font color="teal">"Ascending"</font></font> ListView1(Index).ColumnHeaders(ColumnHeader.Index).Icon = <font color="teal">"Ascending"</font> <font color="blue">With</font> lvFormat .mask = LVCF_FMT <font color="blue">Or</font> LVCF_IMAGE .fmt = LVCFMT_IMAGE <font color="blue">Or</font> LVCFMT_BITMAP_ON_RIGHT .iImage = ImageListHead.ListImages(<font color="teal">"Ascending"</font>).Index - <font color="darkblue"><b>1</b></font> <font color="blue">End</font> <font color="blue">With</font> <font color="blue">Call</font> SendMessage(ListView1(Index).hwnd, LVM_SETCOLUMN, ColumnHeader.Index - <font color="darkblue"><b>1</b></font>, lvFormat) <font color="00AA00">'ColumnHeader.Index - 1=new sortkey(меняется)</font> <font color="blue">End</font> <font color="blue">If</font> <font color="00AA00">'ListView1(Index).Sorted = True</font> <font color="blue">End</font> <font color="blue">If</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д