работа с буфером обмена

Программирование на Visual Basic for Applications
fizik_leha
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 02.09.2004 (Чт) 14:08

работа с буфером обмена

Сообщение fizik_leha » 07.09.2004 (Вт) 10:15

Private Sub Combobox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then ComboBox1.Paste
End Sub

После выполнения в комбобоксе появляеться удвоенное значение буфера.

То есть если в буфер заносили 123, то в комбобоксе появляется 123123.

Как сделать чтоб было нормально.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

работа с буфером обмена

Сообщение Чудик » 07.09.2004 (Вт) 13:15

Интересная фишка! Можно, просто предварительно определив длину данных в буфере, обрезать вставляемые данные в двое функцией Left (string,number) или Right (string,number), где string - данные или переменая с данными, а number - количество символов для обрезки. Тоже выход!
Век живи - век учись!
www.detal-plast.narod.ru

san*
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 17.06.2004 (Чт) 17:57
Откуда: Киев

Сообщение san* » 07.09.2004 (Вт) 13:38

:shock: Первый раз такое встречаю! При нажатии правой кнопки мыши на комбобоксе два раза отрабатывается событие, при левой кнопке все нормально вроде! Надо что-то искуственно делать.Будем думать...

san*
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 17.06.2004 (Чт) 17:57
Откуда: Киев

Сообщение san* » 07.09.2004 (Вт) 13:44

MouseUp работает нормально, если устраивает пользуйся им. Но все равно - что это за глюк такой..? Может Гиганты форума ответят :?

fizik_leha
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 02.09.2004 (Чт) 14:08

Сообщение fizik_leha » 07.09.2004 (Вт) 14:09

Только что MouseUp попробовал. Спасибо. Работает.

А mousedown непонятки. Может один из глюков VBA 2003 :?:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 07.09.2004 (Вт) 14:20

MouseDown -> Click :?:
Lasciate ogni speranza, voi ch'entrate.

fizik_leha
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 02.09.2004 (Чт) 14:08

Сообщение fizik_leha » 07.09.2004 (Вт) 15:15

не понял вопроса :cry:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 07.09.2004 (Вт) 16:06

Я имел ввиду, может у тебя на Click что-то подвешено? А после MouseDown срабатывает Click.
Lasciate ogni speranza, voi ch'entrate.

fizik_leha
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 02.09.2004 (Чт) 14:08

Сообщение fizik_leha » 07.09.2004 (Вт) 16:29

нет, специально создавал форму с одним комбобоксом.

Те же грабли. вид сбоку :x

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 07.09.2004 (Вт) 17:02

Физик Леха, если тебя это успокоит, держи: :)

Код: Выделить всё
Dim Вuffer As Boolean


Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then
If Вuffer = True Then
ComboBox1.Paste
Вuffer = False
Else
Вuffer = True
End If
End If
End Sub

fizik_leha
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 02.09.2004 (Чт) 14:08

Сообщение fizik_leha » 07.09.2004 (Вт) 17:06

Private Sub Combobox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then
ComboBox1.Paste
End If
End Sub

И никаких проблем :D

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 07.09.2004 (Вт) 17:15

Но это при отпускании клавиши а не при ее нажатие, если это не имеет значение, то конечно можно иначе.

fizik_leha
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 02.09.2004 (Чт) 14:08

Сообщение fizik_leha » 07.09.2004 (Вт) 17:19

в рамках данной задачи не имеет значения.

результат один и тот же.

MisterX
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 03.08.2004 (Вт) 12:49
Откуда: Moscow

Сообщение MisterX » 08.09.2004 (Ср) 14:10

fizik_leha писал(а):в рамках данной задачи не имеет значения.

результат один и тот же.

Да, но только в рамках данной задачи...
Я тоже пробовал писать эту фишку ...
Office 2003 - тот же эффект двойное значение буфера
Решение было такое при MouseDown
Button1.visible = true
появлялась кнопка с надписью вставитть
а при Button1_Click
Textbox1.Paste
Но тоже двойное значение
Может быть кто-нибудь поможет с этим справится Я идиот! Убейте меня, кто-нибудь!???
Это уже просто интерес (если хотите принцип)
ЕСТЬ ЭТОМУ РЕШЕНИЕ ИЛИ НЕТ ????


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89

    TopList  
cron