Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Свойства контрола: TabStop и TabIndex Добавлено: 09.09.07 21:12  

Автор вопроса:  Mr.Smile | ICQ: 427682013 
Контрол - ListView от sne, в виде класса. Вопрос: как установить ему свойство TabStop и задать TabIndex?
P.S.: WS_TABSTOP через SetWindowLong не помогает.[CODE]

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #1
Добавлено: 09.09.07 21:52
Сорри за флуд.
Хороший контрол, но переодически находятся ошибки
Например только что: GetItemRect - вместо byref lbottom было byval, и возвращало 0 естессно

Ответить

Номер ответа: 2
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #2 Добавлено: 09.09.07 22:09
Я знаю что ты его дорабатываешь! :) Может и TabStop с TabIndex'ом добавишь? :)

Ответить

Номер ответа: 3
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #3 Добавлено: 09.09.07 23:08
Вероятно будет использоваться функция SendMessage, но я не знаю какие параметры указать :(

Ответить

Номер ответа: 4
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #4
Добавлено: 10.09.07 00:35
WS_TABSTOP по любому нужен вот тут
hLVParent = CreateWindowEx(cNull, "STATIC", ";(c) Team HW (sne)", WS_TABSTOP Or WS_VISIBLE Or WS_CHILD, nLeft, nTop, nWidth, nHeight, hParent, 0&, App.hInstance, ByVal 0&;)
hListView = CreateWindowEx(Border, "SysListView32", vbNullString, WS_TABSTOP Or WS_VISIBLE Or WS_CHILD Or dwStyle, 0&, 0&, nWidth, nHeight, hLVParent, cNull, App.hInstance, ByVal cNull)

SendMessage - вряд ли

Вот это нашел, прада для другого изыка
http://blogs.gotdotnet.ru/personal/orangy/PermaLink.aspx?guid=c4967da4-a083-4991-b426-00ce65e40721

Ответить

Номер ответа: 5
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #5 Добавлено: 10.09.07 00:38
Обобщу вопрос: как созданному контролу (через CreateWindowEx) назначить место в цепочке TabIndex? И чтобы при нажатии Tab фокус не обходил этот контрол, а считал его "за свой"? Например: есть две кнопки; добавляю кодом третью. При нажатии Tab фокус работает между 2-мя кнопками. Надо: вставить кнопку созданную кодом в эту цепОчку под своим индексом (например 2 (0,1,2)).
P.S.: простите за навороченность вопроса. :)

Ответить

Номер ответа: 6
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 10.09.07 00:44
А вообще-то щас придумал элементарный как частица способ))
Без всяких WS_TABSTOP... и вообще обрабатывать таб ListView пускай не будет, раз не хочет.

Лично я делаю для этого контрола дополнительный контейнер - пикчербокс. Мне так удобно ибо размеры не нужно в коде задавать
Call ThumbList.Create(ThumbBox.hWnd, LVS_SHOWSELALWAYS, 0, 0, ThumbBox.Width, ThumbBox.Height, , WS_EX_STATICEDGE)
где ThumbBox - PictureBox.

Так вот при получении пикчером фокуса, он ставит фокус на листвью. И всё.

Ответить

Номер ответа: 7
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 10.09.07 00:46
хотя у тебя сложнее ситуация...

Ответить

Номер ответа: 8
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #8 Добавлено: 10.09.07 00:46
Железно конечно. :) Но хотелось бы ответа на 5 вопрос.

Ответить

Номер ответа: 9
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #9 Добавлено: 16.09.07 22:25
Продолжаем разговор :)

Как, не используя SendKeys "{TAB}" выделить следующий контрол, то есть, передать фокус следующему контролу (типа TabIndex=TabIndex+1 :))?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам