ListView и скроллинг в нем
От: vagner Россия  
Дата: 14.03.02 08:02
Оценка:
Всем привет.
Возникла такая проблема. Пытаюсь я нарисовать на базе ListView нечто похожее на окошко Properties в студии.
Для этого в ListView при движении по строчкам динамически создаю TextBox и рисую его в рамках текущей ячейки.
А проблема следующая — при скроллинге мой TextBox остается на "своем" месте и я никак не могу определить какое событие генерируется при скроллинге в ListView, если вообще какое-нибудь генерируется.
И еще вопрос — можно ли из ProperrtyGrid сделать что-нибудь похожее на StringGrid?
Re: ListView и скроллинг в нем
От: Кирпа В.А. Украина  
Дата: 14.03.02 10:01
Оценка:
Здравствуйте vagner, Вы писали:

V>Всем привет.

V>Возникла такая проблема. Пытаюсь я нарисовать на базе ListView нечто похожее на окошко Properties в студии.
V>Для этого в ListView при движении по строчкам динамически создаю TextBox и рисую его в рамках текущей ячейки.
V>А проблема следующая — при скроллинге мой TextBox остается на "своем" месте и я никак не могу определить какое событие генерируется при скроллинге в ListView, если вообще какое-нибудь генерируется.
V>И еще вопрос — можно ли из ProperrtyGrid сделать что-нибудь похожее на StringGrid?

Необходимо создать клас наследуемый от CListCtrl
В нем обработать WM_HSCROLL

В этом обработчике вызвать обработчик базового класа и послать паренту (PostMessage)какой то WM_USER мессаг
В паренте в обработчике на WM_USER переместить TextBox
:user:
!0xDEAD
Re: ListView и скроллинг в нем
От: al Россия  
Дата: 14.03.02 10:55
Оценка:
Здравствуйте vagner, Вы писали:

По моему вы делаете лишнюю работу. В WinForms есть спец. контрол для этого — PropertyGrid. Его использует и сама VS7


Re: ListView и скроллинг в нем
От: Андрей Россия  
Дата: 14.03.02 10:58
Оценка:
Здравствуйте vagner, Вы писали:

V>Всем привет.

V>Возникла такая проблема. Пытаюсь я нарисовать на базе ListView нечто похожее на окошко Properties в студии.
V>Для этого в ListView при движении по строчкам динамически создаю TextBox и рисую его в рамках текущей ячейки.
V>А проблема следующая — при скроллинге мой TextBox остается на "своем" месте и я никак не могу определить какое событие генерируется при скроллинге в ListView, если вообще какое-нибудь генерируется.
V>И еще вопрос — можно ли из ProperrtyGrid сделать что-нибудь похожее на StringGrid?

А чем тебя DataGrid не устраивает?

PropertyGrid — это очень специализированная вещь, он привязывается к переменной, и через рефлексию вытягивает из нее все свойства и их значения, а на большее он не способен.
Re[2]: ListView и скроллинг в нем
От: vagner Россия  
Дата: 14.03.02 11:01
Оценка:
Здравствуйте Кирпа В.А., Вы писали:

КВ>Необходимо создать клас наследуемый от CListCtrl

КВ>В нем обработать WM_HSCROLL

КВ>В этом обработчике вызвать обработчик базового класа и послать паренту (PostMessage)какой то WM_USER мессаг

КВ>В паренте в обработчике на WM_USER переместить TextBox

Прошу прощения, я не указал среду (хотя форум, вроде, посвящен NET или я ошибся?). Речь идет о VS.NET, C#.
Честно говоря, не хотелось бы обрабатывать WM_HSCROLL так как я не знаю на сколько сместит ListView картинку, он двигает ее на величину кратную высоте строки, а ее (высоту строки) я не знаю, да и не знаю на сколько строк он сместит картинку. Мне хотелось бы получить от самого ListView сообщение типа "я тут немного перерисовался", вот тогда бы я и перерисвал свой TextBox.
Re[2]: ListView и скроллинг в нем
От: vagner Россия  
Дата: 14.03.02 11:13
Оценка:
Здравствуйте Андрей, Вы писали:

А>А чем тебя DataGrid не устраивает?

В принципе данные у меня будут из БД, но мне необходимо довольно-таки специфическое поведение грида (кстати, очень похожее на поведение PropertyGrid). Поэтому я решил написать некоторое подобие StringGrid с нужным мне поведением, а уж потом наполнить его данными.

А>PropertyGrid — это очень специализированная вещь, он привязывается к переменной, и через рефлексию вытягивает из нее все свойства и их значения, а на большее он не способен.

Но ведь, наверное, можно подсунуть ему переменную с кучкой свойств. А если он потом даст подменить обрабтчики нажатий на свои кнопочки (те которые а-ля ComboBox и Lookup), то вообще было бы замечательно. Может кинешь пару направляющих — куда рыть, а то зашиваюсь совсем: босс подгоняет, а я столько времени угробил на ListView.
Re[3]: ListView и скроллинг в нем
От: Андрей Россия  
Дата: 14.03.02 11:20
Оценка:
Здравствуйте vagner, Вы писали:

V>Но ведь, наверное, можно подсунуть ему переменную с кучкой свойств. А если он потом даст подменить обрабтчики нажатий на свои кнопочки (те которые а-ля ComboBox и Lookup), то вообще было бы замечательно. Может кинешь пару направляющих — куда рыть, а то зашиваюсь совсем: босс подгоняет, а я столько времени угробил на ListView.


Переменную-то ему подсунуть можно, и даже нужно , но вот насчет подмены конкретно этих событий — сомневаюсь. Впрочем, читай описание PropertyGrid и пробуй — может, получится. Я сам не пробовал, так что помочь не могу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.