|
|
|
Код для обработки события ListBox1_MouseDown
|
|||
|---|---|---|---|
|
#18+
Всем доброе время суток ! На форуме SQL.RU была тема по событию ListBox1_MouseDown. Не могу её найти. А вопрос такой: Какой код необходимо вписать в процедуру обработки события ListBox1_MouseDown (см. ниже) для того, что бы кликом левой кнопкой мыши по опции ListBox на форме можно было эту опцию записать на лист Excel ? И, в частности, два раза подряд. Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) код? Worksheets("Лист1").Cells(1, 1).Value = UserForm1.ListBox1 End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 23:01:44 |
|
||
|
Код для обработки события ListBox1_MouseDown
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 13:12:20 |
|
||
|
Код для обработки события ListBox1_MouseDown
|
|||
|---|---|---|---|
|
#18+
Devider! Спасибо за подсказку. Необходимо же всего лиш для VBA. Один из вариантов повторной записи на лист Excel, выбранной ранее опции ListBox может быть такой: Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ListBox1.ListIndex = -1 End Sub Private Sub ListBox1_Click() Код End Sub Т. е. используются две процедуры. Работает в принципе не плохо, но возможно есть код из одной процедуры ?! Предложенный код на С++ реализует эту задачу в одной процедуре. Не плохо бы его перевести в VBA ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 20:41:19 |
|
||
|
Код для обработки события ListBox1_MouseDown
|
|||
|---|---|---|---|
|
#18+
Мне кажется лучше по Mouse_UP выполнять действия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2009, 10:55:28 |
|
||
|
Код для обработки события ListBox1_MouseDown
|
|||
|---|---|---|---|
|
#18+
Лучше потому, что есть такой код для ListBox1_MouseUp Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Range("a" & Rows.Count).End(xlUp)(2, 1) = Me.ListBox1 End Sub, а аналогичного кода для ListBox1_MouseDown нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2009, 20:04:37 |
|
||
|
Код для обработки события ListBox1_MouseDown
|
|||
|---|---|---|---|
|
#18+
Нет, не поэтому. По Mouse_Up лучше потому, что у юзера имеется возможность в последний момент скорректировать действие, если указатель мыши попал не в ту ячейку - отвести ее в сторону и отпустить кнопку. А если по Mouse_Down, то такой возможности не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2009, 14:47:11 |
|
||
|
Код для обработки события ListBox1_MouseDown
|
|||
|---|---|---|---|
|
#18+
+ Более правильно обрабатывать оба события. Действие производить по Mouse_Up при условии, что координаты ячейки по Mouse_Down совпадают с координатами по Mouse_Up. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2009, 14:55:20 |
|
||
|
Код для обработки события ListBox1_MouseDown
|
|||
|---|---|---|---|
|
#18+
Согласен. Выполнять действие по Mouse_Up надёжнее. Спасибо ! Если сам не делаеш такой промашки с указателем мыши, то лучше её предусмотреть у других юзеров ! Не ясна более правильная обработка двух событий. Координаты ячеек по Mouse_Down и Mouse_Up совпадают. Действие выполняется по Mouse_Up, например, так: Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Range("a" & Rows.Count).End(xlUp)(2, 1) = Me.ListBox1 End Sub. Как (где) добавить обработку Mouse_Down ? И не будет ли эта обработка влиять на возможность отвода указателя мыши ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2009, 22:42:46 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=114&tid=1344134]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 362ms |

| 0 / 0 |
