Страница: 1 |
Страница: 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-сайт:
Профиль | | #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-сайт:
Профиль | | #4
Добавлено: 10.09.07 00:35
WS_TABSTOP по любому нужен вот тут
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-сайт:
Профиль | | #6
Добавлено: 10.09.07 00:44
А вообще-то щас придумал элементарный как частица способ))
Без всяких WS_TABSTOP... и вообще обрабатывать таб ListView пускай не будет, раз не хочет.
Лично я делаю для этого контрола дополнительный контейнер - пикчербокс. Мне так удобно ибо размеры не нужно в коде задавать
Так вот при получении пикчером фокуса, он ставит фокус на листвью. И всё.
Номер ответа: 7
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #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 )?