:: Visual Foxpro, Foxpro for DOS
CTRL+V
dimuhametov
Автор

Сообщений: 1562
Откуда: Костанай
Дата регистрации: 01.11.2008
Уважаемые форумчане !
Пример и симптомы болезни полностью схожи с веткой автора топика forum.foxclub.ru
Т.е. при нажатии CTRL+V (делаю "перехват"через SYS(1500, '_MED_paste', '_MEDIT') ) текстовые поля ну никак не заполняются.
У автора вышеописанного топика вроде получилось обойти заполнив метод InteractiveChange(), но в реальном проекте этот способ не работает.
Может у кого было решение. Спасибо.

Часть текста скрыта
form1=CREATEOBJECT('form1')
form1.SHOW(1)
DEFINE CLASS form1 AS form
DoCreate = .T.
Caption = "Form1"
Name = "Form1"
ADD OBJECT i_text1 AS i_text WITH ;
Height = 36, ;
Left = 60, ;
Top = 12, ;
Width = 156, ;
Name = "I_text1"
ADD OBJECT i_text2 AS i_text WITH ;
Height = 36, ;
Left = 60, ;
Top = 60, ;
Width = 156, ;
Name = "I_text2"
PROCEDURE i_text2.Init
DEFINE MENU MainMenu BAR
ON KEY LABEL ctrl+c SYS(1500, '_MED_COPY', '_MEDIT')
ON KEY LABEL ctrl+v SYS(1500, '_MED_paste', '_MEDIT')
ON KEY LABEL ctrl+r SYS(1500, '_MED_redo', '_MEDIT')
ON KEY LABEL ctrl+x SYS(1500, '_MED_cut', '_MEDIT')
ON KEY LABEL ctrl+z SYS(1500, '_MED_undo', '_MEDIT')
ENDPROC
ENDDEFINE
DEFINE CLASS i_text AS textbox
FontName = "RS Sans Serif"
Height = 23
Width = 100
Name = "i_text"
* PROCEDURE InteractiveChange
* s=This.Value
* ENDPROC
ENDDEFINE



------------------
Незнание делает жизнь такой интересной.
Ratings: 0 negative/0 positive
Re: CTRL+V
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
Там же в топике Игорь Королев все разжевал.

Igor Korolyov
Hi Сергей!
Цитата:
У меня активно собственное меню
Замечательно! но там где-то есть системные бары? Иначе бы SYS(1500) не
работало!
Т.е. нечто типа
DEFINE BAR _med_cut OF _medit PROMPT "\<Вырезать" ;
KEY CTRL+X, "Ctrl+X" ;
MESSAGE "Удалить выделенный фрагмент и поместить его в буфер обмена"



------------------
Ratings: 0 negative/0 positive
Re: CTRL+V
dimuhametov
Автор

Сообщений: 1562
Откуда: Костанай
Дата регистрации: 01.11.2008
Sawradym
Там же в топике Игорь Королев все разжевал.
Igor Korolyov
Hi Сергей!
Цитата:
У меня активно собственное меню
Замечательно! но там где-то есть системные бары? Иначе бы SYS(1500) не
работало!
Т.е. нечто типа
DEFINE BAR _med_cut OF _medit PROMPT "\<Вырезать" ;
KEY CTRL+X, "Ctrl+X" ;
MESSAGE "Удалить выделенный фрагмент и поместить его в буфер обмена"

Владимир спасибо, буду пробывать.


------------------
Незнание делает жизнь такой интересной.
Ratings: 0 negative/0 positive
Re: CTRL+V
LadogaX

Сообщений: 9
Дата регистрации: 08.07.2009
www.tek-tips.com

В качестве альтернативы можно создать контекстное меню (вид, который всплывает при нажатии направо), содержащее команды Cut, Copy и Paste.

Следуйте этим шагам:

- Откройте меню дизайнера и выберите 'Shortcut' от первоначального экрана.

- Для каждого подсказки в меню нажмите 'Insert Bar', и выберите, в свою очередь, Cut, Copy, Paste.

- Сохранить и создать меню. (Предположим, вы сохраните его в качестве Context.mnx и поместите сгенерированный код в Context.Mpr).

- В rightClick случае вашего редактирования поле, поместите этот код:
DO Context.Mpr
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 47 (Гостей: 47)

© 2000-2024 Fox Club 
Яндекс.Метрика