Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) 1С++ - встр. класс по работе с буфером обмена (число прочтений - 8967 )
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
1С++ - встр. класс по работе с буфером обмена
16. Ноября 2007 :: 14:10
Печать  
Зашла речь о добавлении в 1С++ встроенного класса по работе с буфером обмена.
Прошу высказываться!
Народ, какие будут мысли по интерфейсу класса по работе с буфером обмена?
Какие форматы данных буфера он должен поддерживать?

  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #1 - 16. Ноября 2007 :: 14:17
Печать  
Буду рад безумно, если ко всему прочему, он сможет вставлять содержимое буфера обмена в текущее активное окно (текст, таблица, ...). Попросту говоря - эмулировать нажатие Действия\Вставить без SendKeys.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #2 - 16. Ноября 2007 :: 14:18
Печать  
Перенесу своё видение из той ветки:
Цитата:
давно использую крайне удобную утилиту работы с буфером под названием CLCL. Так вот, там же лежат исходники этого чуда. Может их как-то можно использовать? Или сделать плагин "объекты1С" к ней? Или ещё чего...

Поддерживать должен как минимум:
1) Все агрегатные объекты 1С
2) ТаблицыЗначений(=ТабличныеЧасти), т.е. сразу "много" агрегатных объектов.
если же в буфер попал агрегатный объект, то во внешнюю среду он должен вставляться как текстовое представление.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #3 - 16. Ноября 2007 :: 14:21
Печать  
Нифига себе минимум Улыбка
Для меня минимум - это получить текст из буфера обмена, вставить текст в буфер обмена Улыбка
По форматам понятно.
Давайте по интерфейсу.

ЗЫ думаю, что посылку команды Копировать/Вставить добавить несложно.
Тем более, что есть исходники ВК RWidjets Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #4 - 16. Ноября 2007 :: 14:27
Печать  
artbear писал(а) 16. Ноября 2007 :: 14:21:
ЗЫ думаю, что посылку команды Копировать/Вставить добавить несложно.
Тем более, что есть исходники ВК RWidjets Улыбка

О! Подари команду "вставить". Что-то у меня с SendMessage 57637 не срослось.  Печаль
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #5 - 16. Ноября 2007 :: 14:28
Печать  
Артур, не поленись, скачай CLCL и посмотри как там хранится буфер. Я думаю, что примерно в таком же стиле можно и буфер 1С держать. Т.е. если мы нажали "Копировать" на элементе справочника "Контрагенты" с наименованием "ООО РиК", то в буфере это будет храниться примерно так:
[Буфер обмена]
   -[TEXT] = ООО РиК
   -[Type1C] = Справочник
   -[Vid1C] = Контрагенты
   -[ObjID1C] = ЗначениеВСтрокуВнутр(ТекЭлемент)

примерно так я себе это представляю. Хотя нужно, конечно, получше подумать.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #6 - 16. Ноября 2007 :: 14:39
Печать  
artbear писал(а) 16. Ноября 2007 :: 14:21:
Нифига себе минимум Улыбка
Для меня минимум - это получить текст из буфера обмена, вставить текст в буфер обмена Улыбка


+ 1 Улыбка


Артур, я уже писал, давай начнем с азов, просто копи и пасте. а потом дополним функционал.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #7 - 17. Ноября 2007 :: 06:07
Печать  
artbear писал(а) 16. Ноября 2007 :: 14:10:
Зашла речь о добавлении в 1С++ встроенного класса по работе с буфером обмена.
Прошу высказываться!
Народ, какие будут мысли по интерфейсу класса по работе с буфером обмена?
Какие форматы данных буфера он должен поддерживать?



Наверное нужно событие ГМ в которое передовался контекст формы в которой происходило копирование\Вставка
А там уже можно и элементы справочника копировать
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #8 - 17. Ноября 2007 :: 11:14
Печать  
Nick писал(а) 17. Ноября 2007 :: 06:07:
artbear писал(а) 16. Ноября 2007 :: 14:10:
Зашла речь о добавлении в 1С++ встроенного класса по работе с буфером обмена.
Прошу высказываться!
Народ, какие будут мысли по интерфейсу класса по работе с буфером обмена?
Какие форматы данных буфера он должен поддерживать?



Наверное нужно событие ГМ в которое передовался контекст формы в которой происходило копирование\Вставка
А там уже можно и элементы справочника копировать

Тогда уж заодно событие ГМ
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #9 - 17. Ноября 2007 :: 17:13
Печать  
artbear писал(а) 16. Ноября 2007 :: 14:10:
Зашла речь о добавлении в 1С++ встроенного класса по работе с буфером обмена.
Прошу высказываться!
Народ, какие будут мысли по интерфейсу класса по работе с буфером обмена?
Какие форматы данных буфера он должен поддерживать?



Может стоит данный класс сделать пользовательским (КОП) ?!
сделать его универсальным - непроблемма...

P.S. Лучше добавить в метод  "СостояниеКлавиатуры" возможность получать состояние таких кнопок
как "Ctrl", "Shift", "Alt" дабы можно было без проблемм получить перехват нажатия  Ctrl+ins и Shift+ins
  
Наверх
wwwICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #10 - 17. Ноября 2007 :: 18:05
Печать  
noprogrammer писал(а) 17. Ноября 2007 :: 17:13:
P.S. Лучше добавить в метод  "СостояниеКлавиатуры" возможность получать состояние таких кнопок
как "Ctrl", "Shift", "Alt" дабы можно было без проблемм получить перехват нажатия  Ctrl+ins и Shift+ins


Если уж вовлекать формекс, то в ПриНажатииКлавиатуры Ctrl Shift и Alt получить можно без проблем.
Но вроде как не хочется делать класс зависимым от формекса.

Но логика в твоих словах есть. События нах. Его кому надо - сможет отловить нажатиями кнопок.
Главное реализовать класс как таковой Улыбка
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #11 - 17. Ноября 2007 :: 18:18
Печать  
Arta писал(а) 17. Ноября 2007 :: 18:05:
noprogrammer писал(а) 17. Ноября 2007 :: 17:13:
P.S. Лучше добавить в метод  "СостояниеКлавиатуры" возможность получать состояние таких кнопок
как "Ctrl", "Shift", "Alt" дабы можно было без проблемм получить перехват нажатия  Ctrl+ins и Shift+ins


Если уж вовлекать формекс, то в ПриНажатииКлавиатуры Ctrl Shift и Alt получить можно без проблем.
Но вроде как не хочется делать класс зависимым от формекса.

Но логика в твоих словах есть. События нах. Его кому надо - сможет отловить нажатиями кнопок.
Главное реализовать класс как таковой Улыбка


Если не секрет как получить СостояниеКлавиатуры "Ctrl Shift и Alt " ?! в описание про это ничего не сказано....

а класс могу реализовать Улыбка
  
Наверх
wwwICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #12 - 17. Ноября 2007 :: 18:19
Печать  
Я уточню - именно "состояние" а не "нажатие"
  
Наверх
wwwICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #13 - 17. Ноября 2007 :: 18:21
Печать  
noprogrammer писал(а) 17. Ноября 2007 :: 18:18:
Если не секрет как получить СостояниеКлавиатуры "Ctrl Shift и Alt " ?! в описание про это ничего не сказано....


Я ж написал, не в СостояниеКлавиатуры, а в ПриНажатииКнопкиКлавиатуры Улыбка параметры: Код, Alt,  Shift,  Control, Символ, ФСО
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ - встр. класс по работе с буфером обмена
Ответ #14 - 17. Ноября 2007 :: 18:21
Печать  
noprogrammer писал(а) 17. Ноября 2007 :: 18:19:
Я уточню - именно "состояние" а не "нажатие"

Поздно уточнил  Смех

Только зачем именно состояние???
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать