Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Команды копировать, вырезать и вставить для всех. 
V
    Опции темы
Jr13san
Дата 1.9.2008, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



Привет всем, кто на форуме...
У меня возникла проблемка с командами копировать, вырезать и вставить...
Я нашел эти функции только для одного textbox'a , а мне нужно для нескольких...
Пока что нужно разобраться с одной, а аналогично ей я попробую сделать и другие...
На форме имеется 3 textbox'a  и одна Command1.
Вот код для Command1:
Код

On Error Resume Next
Clipbroad.clear
Clipbroad.settext Form1.text1.seltext 

Эта функция для копирования выделенного текста из Text1.text.
Мне нужно, чтобы текст можно было копировать не только из Text1.text,а и из Text2.text и Text3.text
PM MAIL WWW ICQ   Вверх
I_Am_Rock
Дата 1.9.2008, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Цитата

Я нашел эти функции только для одного textbox'a , а мне нужно для нескольких...

У одних ТекстБоксов одни свойства и пр., а у других - другие!?  smile 

Может тебе нужно соеденить...
Ты не пробовал так? 

Код

On Error Resume Next
Clipbroad.clear
Clipbroad.settext Form1.text1.seltext + Form1.text2.seltext + Form1.text3.seltext 


Это сообщение отредактировал(а) I_Am_Rock - 1.9.2008, 20:15
PM MAIL WWW   Вверх
Jr13san
Дата 3.9.2008, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



если честно, я даже сам запутался...
но пример твой я попробую...

Ведь пример, что выше - он действует только на одном текстбоксе, а мне нужно, чтобы команды действовали на все 3 текстбокса. Вот как именно это сделать я не понимаю...
Если не понял, то попробую ещё проще расписать..
PM MAIL WWW ICQ   Вверх
I_Am_Rock
Дата 3.9.2008, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Не очень понял. И у меня твоя функция копирует не выделенный текст, а другое. Попробуй сам запустить...
PM MAIL WWW   Вверх
Jr13san
Дата 4.9.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



I_AM_Rock. Извини, я ошибся, когда писал код.
Я вот тут написал что нужно...

Помогите мне сделать примерно так:
на форме имеется 10 textbox'ов и меню.

Вот код для меню:


'"копировать" 
Код

Private Sub mnuEditCopy_Click() 
On Error Resume Next 
Clipboard.Clear 
Clipboard.SetText frmMain.Text1.SelText 
End Sub


'"вырезать" 
Код

Private Sub mnuEditCut_Click() 
On Error Resume Next 
Clipboard.Clear 
Clipboard.SetText frmMain.Text1.SelText 
frmMain.Text1.SelText = vbNullString 
End Sub


'"вставить" 
Код

Private Sub mnuEditPaste_Click() 
On Error Resume Next 
frmMain.Text1.SelText = Clipboard.GetText 
End Sub


Как я писал выше, оно работает только для одного текстбокса.
Мне нужно, чтобы из любого текстового поля можно было скопировать выделенный текст. И в любое поле вставить текст.
Примерно как в Excel'e. Там тоже можно скопировать из любого поля и вставить в любое поле скопированный текст.

Или помогите мне хотябы написать:
Если текст в текстовом поле "Text1" выделен, то буфер обмена очищается и выделенный текст записывается в буфер обмена.

Пробовал так, но не получилось:
Код

On Error Resume Next
If Text1.SelText Then
Clipboard.Clear
Clipboard.SetText Text1.SelText
ElseIf Text2.SelText Then
Clipboard.Clear
Clipboard.SetText Text2.SelText
ElseIf Text3.SelText Then
Clipboard.Clear
Clipboard.SetText Text3.SelText
ElseIf Text4.SelText Then
Clipboard.Clear
Clipboard.SetText Text4.SelText
ElseIf Text5.SelText Then
Clipboard.Clear
Clipboard.SetText Text5.SelText
ElseIf Text6.SelText Then
Clipboard.Clear
Clipboard.SetText FrmLoad.Text6.SelText
ElseIf Text7.SelText Then
Clipboard.Clear
Clipboard.SetText FrmLoad.Text7.SelText
ElseIf Text8.SelText Then
Clipboard.Clear
Clipboard.SetText FrmLoad.Text8.SelText
ElseIf Text9.SelText Then
Clipboard.Clear
Clipboard.SetText FrmLoad.Text9.SelText
ElseIf Text10.SelText Then
Clipboard.Clear
Clipboard.SetText FrmLoad.Text10.SelText
End if

Кто шарит в этих командах, помогите...

Это сообщение отредактировал(а) Akina - 16.9.2008, 15:32
PM MAIL WWW ICQ   Вверх
I_Am_Rock
Дата 4.9.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Я понял. Жди пример кода - чуть попозже выложу...
PM MAIL WWW   Вверх
I_Am_Rock
Дата 4.9.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Нужно делать так.
ТекстБоксы должны быть массивом объектов.
Объяснить? 
1) Размести на форме ТекстБокс
2) Убедись, что он активный (т.е. выделен)
3) Нажми Edit -> Copy
4) Нажми Edit -> Paste
5) В появившемся окошке нажми "Да" - на форме появится новый ТекстБокс
6) Штампуй ТекстБоксы (Edit -> Paste) , пока на форме не будет требуемое кол-во.
Обрати внимание - все ТекстБоксы имеют одно имя (name) - Text1. Но у всех разное свойство Index - от 0 до 9 (если 10 текстбоксов).

А вот и код. В GotFocus мы присваиваем переменной k номер выделенного объекта. А потом это k используем при вырезании, вставлении, копировании.

Код

Dim k As Integer

Private Sub mnuEditCopy_Click()
On Error Resume Next
Clipboard.Clear
Clipboard.SetText frmMain.Text1.Item(k).SelText
End Sub

Private Sub mnuEditPaste_Click()
On Error Resume Next
frmMain.Text1.Item(k).SelText = Clipboard.GetText
End Sub

Private Sub mnuEditCut_Click()
On Error Resume Next
Clipboard.Clear
Clipboard.SetText frmMain.Text1.Item(k).SelText
frmMain.Text1.Item(k).SelText = vbNullString
End Sub

Private Sub Text1_GotFocus(Index As Integer)
k = Index
End Sub


Если что не понятно - спрашивай! smile
PM MAIL WWW   Вверх
Jr13san
  Дата 6.9.2008, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



ок я попробую и если что, напишу..
PM MAIL WWW ICQ   Вверх
Jr13san
Дата 16.9.2008, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



Всё работает...Спасибо I_AM_ROCK!
Я только не понял вот это:
Item(k) - что это означает?
PM MAIL WWW ICQ   Вверх
I_Am_Rock
Дата 16.9.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Цитата(Jr13san @  16.9.2008,  13:13 Найти цитируемый пост)
Item(k) - что это означает? 

Это означает, что что-то делается не со всеми ТекстБоксами, а только с тем, у кого индекс = k.
PM MAIL WWW   Вверх
neic
Дата 16.9.2008, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



Можно было бы ещё сделать массив элементов и в глобальную переменную заносить индекс Text по которому в последний раз щёлкнули.
PM MAIL WWW ICQ Skype   Вверх
I_Am_Rock
Дата 17.9.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Цитата(neic @  16.9.2008,  23:33 Найти цитируемый пост)
Можно было бы ещё сделать массив элементов и в глобальную переменную заносить индекс Text по которому в последний раз щёлкнули. 

Так я это и сделал!
PM MAIL WWW   Вверх
Jr13san
Дата 20.9.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



ок, я понял. Всем спасибо за поддержку,если что, обращайтесь. smile 
Тема закрыта.

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0800 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.