MSHFlexGrid - .Sort & .MousePointer

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dummiel
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 11.06.2004 (Пт) 9:15
Откуда: Алтай

MSHFlexGrid - .Sort & .MousePointer

Сообщение Dummiel » 09.03.2007 (Пт) 17:00

Хай, други мои!

Вот опять же по сортировке, только уже в иерархическом флексгриде.

1. Хочу при клике на 0-й строке сделать сортировку в соответствующем столбце.

Процедурка следующая:

Код: Выделить всё
Private Sub flAmin_Click()
    If flAmin.MouseRow = 0 Then flAmin.Sort = flAmin.MouseCol
End Sub


А вот ни фигуленьки: корректно сортируется только первый столбец с содержимым, остальные столбцы - строки меняются, но строки, начинающиеся с одинаковой буквы, даже не группируются, не говоря уж о их расположении по алфавиту, а последний столбец вообще не "дергается".

А как правильно сортировать? Выводить SQL-запрос с "ORDER BY" соответствующего поля БД с последующим .Refresh'ем?

2. Изменить вид курсора на "стрелка вниз" при наведении на нулевой ряд, подобно в DBGrid/DataGrid.
Делаю так (в пропертях грида flAmin.MouseIcon - соответствующая иконка):

Код: Выделить всё
Private Sub flAmin_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    If flAmin.MouseRow = 0 Then flAmin.MousePointer = flexCustom Else flAmin.MousePointer = flexDefault
End Sub


Это если втупую, т.е., flAmin.MouseIcon уже установлено с диска. А вот если ввести эту же иконку (*.cur) в файл ресурса, то не могу вывести иконку из этого файла.

Делаю так:

Код: Выделить всё
If flAmin.MouseRow = 0 Then
   flAmin.MousePointer = flexCustom
   flAmin.MouseIcon = LoadResPicture (101, 1) 'Ошибка в .MouseIcon - недопустимое использование свойства
End If


(За правильность второго аргумента в LoadResPicture (101, 1) не ручаюсь).

А как надо? Это я к тому, чтобы при наведении курсора на 0-й столбец поменять курсор на "стрелку вправо", предварительно введя ее в файл ресурсов (опять же подобно DBGrid/DataGrid).

Хотя "стрелка вправо" уже непринципиальна, принципиальны сортировка, и правильно поменять курсор, выведя его из ресурса.

С уважением - Dummiel

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Re: MSHFlexGrid - .Sort & .MousePointer

Сообщение GSerg » 09.03.2007 (Пт) 17:25

Dummiel писал(а):flAmin.Sort = flAmin.MouseCol

Глядя на эту чудесную строку, хочется спросить... Хочется спросить, в каком именно источнике было прочитано, что свойству Sort следует присваивать номер столбца.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dummiel
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 11.06.2004 (Пт) 9:15
Откуда: Алтай

Сообщение Dummiel » 13.03.2007 (Вт) 3:35

Язва ты, GSerg! :) Подсказал бы...

Ладно, поэкспериментируем.

А как насчет курсора из файла ресурсов?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.03.2007 (Вт) 9:05

Dummiel писал(а):Ладно, поэкспериментируем.

Нет чтоб "Ладно, почитаем документацию" - нет, поэкспериментируем...

Dummiel писал(а):А как насчет курсора из файла ресурсов?

А что именно положено в ресурс? Таки курсор?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dummiel
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 11.06.2004 (Пт) 9:15
Откуда: Алтай

Сообщение Dummiel » 13.03.2007 (Вт) 19:05

GSerg писал(а):Нет чтоб "Ладно, почитаем документацию" - нет, поэкспериментируем...


А я и говорю, что ты язва! :)
Я и имел-то ввиду доки, неправильно выразился. За ссылочку спасибо - нашел таки ошибку.

GSerg писал(а):А что именно положено в ресурс? Таки курсор?

Дык ясно курсор! :) "Down.cur" называется. И как его, гада, правильно вытащить?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.03.2007 (Вт) 19:38

.MouseIcon = LoadResPicture(101, vbResCursor)

Dummiel, ты методом тыка всё познаёшь? Второй параметр чему должен быть равен - только подбором? :roll:

Только прочитай http://support.microsoft.com/default.aspx?scid=kb;en-us;267849, а то удивишься...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dummiel
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 11.06.2004 (Пт) 9:15
Откуда: Алтай

Сообщение Dummiel » 14.03.2007 (Ср) 9:36

Спасибо. :)
Методом научного тыка познаю очень многое, может быть это и не очень правильно... :(

Dummiel
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 11.06.2004 (Пт) 9:15
Откуда: Алтай

Сообщение Dummiel » 14.03.2007 (Ср) 13:32

Код: Выделить всё
Private Sub hflIss_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

With hflIss
    If .MouseRow = 0 Then
       .MousePointer = flexCustom
       .MouseIcon = LoadResPicture(101, vbResCursor)
    Else
       .MousePointer = flexDefault
    End If
End With

End Sub


А VB мне говорит - недопустимое использование свойства :(
А пример по твоей ссылке работает прекрасно! Вот как тут не удивляться?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.03.2007 (Ср) 14:04

Потому что для этой проперти не определён let. А только set.
Set .MouseIcon = LoadResPicture(101, vbResCursor)
RTFM!
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dummiel
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 11.06.2004 (Пт) 9:15
Откуда: Алтай

Сообщение Dummiel » 14.03.2007 (Ср) 20:21

Опа-па-а! Преклоняюсь перед твоим опытом! Серьезно, без дураков!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 40

    TopList