|
|
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Есть поле_со_списком. При ползании по списку идет реакция других полей формы (заполняются в соответствии с той, что выделена в списке) Вопрос: При событиях этого контрола(ComboBox) можно ль добится, чтоб событие состоялось (напр. KeyDown), а потом сделать то, что хочу по окончании ентого события? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 22:11 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
авторПри ползании по списку идет реакция других полей Не совсем так. На само ползание он вроде не реагирует. авторможно ль добится, чтоб событие состоялось (напр. KeyDown), а потом сделать то, что хочу по окончании ентого события? А чем отличается от этого та ситуация, которая есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 22:16 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
СанычНе совсем так. На само ползание он вроде не реагирует А может и реагировать. Если подчиненная форма (а этот список - master) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 22:21 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Моя твоя не понимай. Что такое ползание? Это комбобокс открыт и по открытой части ползают мышом или стрелками. Когда закроют, сработает AfterUpdate. А до того? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 22:25 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Аааа.... Тогда это моя ничей не понимай. Был неправ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 22:35 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Все в стадии разработки, но Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. где echoNameSel - sub, который изменяет сведения полей формы. Но KeyDown опаздывает на последнее нажатие на клаве. Предсказать навигац.клавиши еще можно, а вот на симв. будет сложно. Только через recordset, в котором придется делать поиск, иль через запрос. Но поскольку возня с текстом, то будут наверняка тормоза. А вот если б echoNameSel fNameSel.ListIndex запустить после KeyDown, то жить стало б легче... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 22:36 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Правильно ли я понял, что опаздывает не KeyDown, а ListIndex? И приведенные в программе два первых кейса (+1 и -1) - это те самые попытки предсказать, от которых нужно избавиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 22:48 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Кажется, я понял. При нажатии на клавишу происходят следующие вещи в следующем порядке: событие KeyDown изменение Value и ListIndex (только тут, после KeyDown) событие AfterUpdate Так что проще всего пользоваться событием AfterUpdate и все. Если же важно именно знать, что юзер пользовался именно клавишами, то в KeyDown можно что-нибудь занести в переменную/ные, а в AfterUpdate проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 22:53 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Хе, AfterUpdate не дает этого кайфа. Все дело в том, что отбор позиции очень удобен ч/список. Беда в другом: слишком много сразу нужно видеть в этой записи - будет куча столбцов. А так все просто - пару-тройку буковок, список развернул и давай глядеть в удобовизуальном виде... А AfterUpdate - тока и будешь тыкать тыды-сюды. А по списку ходить нужно, поскольку в списке ну немеренно одинаковых названий (но не одинаковых записей!!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:04 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Все равно моя ничей не понимай На фига нужно нажатие клавиш отслеживать у комбобокса? Какая разница какая строчка там сейчас подсвечена? И чем эта подсветка вызвана - кнопкой на клаве, движением мышки или прочим рукомашеством и ногодрыжеством? Или использовать список вместо поля со списком, или, как Саныч прописал, у комбобокса ловить событие AfterUpdate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:05 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
пока писал что моя ничей не понимай - вай апаздал совсем. 2 Mar Не трахай себе мозг. Сделай как все нормальные люди делают - список + текстбокс для быстрого поиска. Вколотишь туда пару-тройку буковок - и перейдешь в списке куда надо. Люди пользуются лингвой и не жалуются, что там слишком много слов в списке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:11 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Каюсь, что не могу объяснить, но попробую: Есть товар. Много одинаковых названий, но они относятся к разным записям. Всего полей около 25. Но фигня в том, что две записи могут отличаться лишь одним полем, причем абсолютно неизвестно каким (кроме названия, есно). Поскоку если в компобох затолкать все 25 полей, а все будут в одной строке, то вид будет безобразный. Кончно к штрих-кодам все кода-нть придет, но пока... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:13 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Лох прав. Если взять листбокс, то AfterUpdate будет срабатывать, когда надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:19 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Еще раз говорю. Листбокс, он же список. В нем - названия и только. Текстбокс. Он же поле. По событию Change позиционируешь листбокс первую из подходящих записей. Подчиненная форма с доп. информацией о записи, идентифицируемой листбоксом. Набрал две-три буквы - отпозиционировался список - в списке бегаешь хоть стрелками, хоть мышками, хоть кошками - подчиненная форма сама обновляется. Вот и выбирай из одинаковых записей те, которые отличаются одним полем. Максимум эффективности при минимуме програмирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:23 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
В принципе согласен. И даже очень. Разница лишь в том, что вместо одного контрола будут два, но отень дазо ницо... А если о том, что после того как событие выполнилось, можно его дополнить? Я про вообще. Такую нужду серьезно чувствую раз в третий. Программно, хоть и мутурно, но ведь в том кайф тоже есть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:34 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Не надо дополнять. Оно само произойдет, только позже. Если дополнить, то произойдет два раза. И вообще, это же разные события. Нажатие клавиши и изменение значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:37 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
про то что два раза понятно. Я про другое. С асесом выходит так Событие -> Делаю что теле события (Sub) -> Делаю событие А если хотеть так Событие -> Делаю событие -> Делаю что теле события (Sub) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:44 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
2Mar "Делаю событие" - что значит? "Делаю что теле события (Sub)" - что значит? Совсем не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:49 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Последовательность одна: Событие -> Sub. Правда, событий много и у каждого это происходит отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:57 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
авторТакую нужду серьезно чувствую раз в третий. Не повезло тебе. Аксес плохо приспособлен для справления нужды. Имхо одно из двух. Если тебя так приперло на аксесовских контролах - то скорее всего что-то ты не так делаешь. Обычно стандартных событий вполне хватает мне вот только AfterDelete недостает :( Или же ты юзаешь сторонние контролы, как вариант с плохо продуманной системой событий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 23:59 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Нажимаю клавишу - происходит событие, после которого, а не во время которого хочу что-нть сделать Если нет реакции на onKeyDown, то 1. нажалась клавиша, 2. выполнилось событие Если есть отслеживание на onKeyDown, то 1. нажалась клавиша, 2.программный код, 3. выполнилось событие А если хочу так: 1. нажалась клавиша, 2. выполнилось событие, 3.программный код это возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2003, 00:04 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Кстати, все оказалось еще проще Без усяких наваротов, если в деле только клава, то по событию onKey Up все идет как по маслу Т.е. если клава, то KeyUp. Но поскольку мышом тоже могут ткнуть - еще и AfterUpdate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2003, 00:07 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
Попробую штоли Темным побыть... > Есть поле_со_списком. Принято. >При ползании по списку идет реакция других полей формы (заполняются в соответствии с той, что выделена в списке) Перевожу на понятный мне язык: "При ползании по списку должна идти реакция других контролов формы". Что такое "ползании". Ты, видимо, считаешь, что Нажатие кнопки (т.е. KeyDown). Читаем KeyDown - кнопка нажата, но сам акцесс - ни контрол, ни форма, - ее нажатие еще не обрабатывают, отдают на откуп тебе, где ты можешь и отменить нажатие, а можешь и оставить в силе. Но ведь выбрать другое значение можно, например, и мышой. >Вопрос: При событиях этого контрола(ComboBox) можно ль добится, чтоб событие состоялось (напр. KeyDown), а потом сделать то, что хочу по окончании ентого события? Итак, по KeyDown я уже сказал: чтобы добиться, чтоб оно состоялось, достаточно его не отменять. Чтобы делать что-то по окончании события, надо определиться, какого именно события. Я нажал на кнопку "А". Я ее еще не отпустил. Она генерит первую букву "а" (в зависимости от регистровых клавиш), а потом начинает их дублировать, пока я кнопку не отпущу: аааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа. При этом акцесс генерит как минимум три события. KewDown, когда я нажал на кнопку. KeyPress каждый раз, когда виндовс стал отдавать акцессу по буковке "а". И KeyUp, когда я кнопку отпустил. Но тебе все это, имхо, не нужно. А нужно AfterUpdete - после обновления. События все уже состоялись к моменту возникновения этого, и ты можешь делать то, что хочешь. --------------------- А вообще f1 стоит полистать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2003, 00:14 |
|
||
|
ComboBox и его события
|
|||
|---|---|---|---|
|
#18+
2Лох Эта нужда, у кого нада нужда. Ну дык ладно пусть будет необходимостью. А вот Form_AfterDelConfirm(Status As Integer) в связке с Form_Delete(Cancel As Integer) у меня отень даже работают... если конечно это о том, как вернуть уже удаленные после ДА ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2003, 00:14 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32351252&tid=1677697]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 218ms |
| total: | 511ms |

| 0 / 0 |
