Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ПолучитьАтрибутПоКоординатам (число прочтений - 4271 )
briz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 05. Июня 2008
Пол: Мужской
ПолучитьАтрибутПоКоординатам
25. Июня 2008 :: 09:55
Печать  
Доброго времечко Уважаемые.
Вопрос простой, как мне в обработке события
ПриНажатииЛевойКнопки(Сос,КорГор,КорВерт,ФСО)
для формы документа отловить только клик по определенному полю таб.части?
спасибо!
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПолучитьАтрибутПоКоординатам
Ответ #1 - 25. Июня 2008 :: 10:06
Печать  
Форма.ТекущаяКолонка()
  
Наверх
ICQ  
IP записан
 
briz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 05. Июня 2008
Пол: Мужской
Re: ПолучитьАтрибутПоКоординатам
Ответ #2 - 25. Июня 2008 :: 10:11
Печать  
выдает идент. первой колонки таб.части.
т.к. это событие происходит до стандартной обработки - активизировать ячейку т.ч.
если отключаю стан.обработку, то нужно самому активизировать ячейку т.ч.
  
Наверх
 
IP записан
 
briz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 05. Июня 2008
Пол: Мужской
Re: ПолучитьАтрибутПоКоординатам
Ответ #3 - 25. Июня 2008 :: 10:15
Печать  
а как я ее активизирую если не могу определить на каком поле был клик?
ПолучитьАтрибутПоКоординатам(КорГор,КорВерт);
выдает "МногострочнаяЧасть"
  
Наверх
 
IP записан
 
briz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 05. Июня 2008
Пол: Мужской
Re: ПолучитьАтрибутПоКоординатам
Ответ #4 - 25. Июня 2008 :: 10:23
Печать  
делаю как в  справке:
Процедура ПриНажатииЛевойКнопки(Сос,КорГор,КорВерт,ФСО)
     ФСО = 0;
    АтрФорма = РасшФорма.ПолучитьАтрибутПоКоординатам(КорГор,КорВерт);
     Если ТипЗначенияСтр(АтрФорма) = "АтрибутФормы" Тогда
          РасшФорма.УстановитьКурсор(Число(АтрФорма.Заголовок));
            Сообщить(Форма.ТекущаяКолонка());
     КонецЕсли;      
КонецПроцедуры

выдает идентификатор 1-ок колонки,
если комментирую:
//ФСО = 0;
выдает идентификатор колонки ДО ПЕРЕМЕЩЕНИЯ курсора
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПолучитьАтрибутПоКоординатам
Ответ #5 - 25. Июня 2008 :: 10:30
Печать  
Используй ПриОтжатииЛевойКнопки.
Код
Выбрать все
Процедура ПриОтжатииЛевойКнопки(Сост,X,Y,ФСО)
	Если ФормаР.ПолучитьАтрибутПоКоординатам(X,Y).Заголовок="МногострочнаяЧасть" Тогда
	    Сообщить(Форма.ТекущаяКолонка());
	КонецЕсли;
КонецПроцедуры
 

  
Наверх
ICQ  
IP записан
 
briz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 05. Июня 2008
Пол: Мужской
Re: ПолучитьАтрибутПоКоординатам
Ответ #6 - 25. Июня 2008 :: 10:35
Печать  
vip
Спасибо Вам
БОЛЬШОЕ!!!
Так замечательно работает)))
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: ПолучитьАтрибутПоКоординатам
Ответ #7 - 05. Декабря 2013 :: 07:09
Печать  
Подскажите плиз, все это хорошо работает, но если эта колонка зафиксированна (ФиксироватьМногострочнуюЧасть) и при нажатии кнопки мыши по этой колонке мне нужно определить идентификатор. Как это сделать? Форма.ТекущаяКолонка() в таком случае не работает т.к. колонка фиксированная.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: ПолучитьАтрибутПоКоординатам
Ответ #8 - 06. Декабря 2013 :: 04:20
Печать  
Видимо, остается только получить координаты левого-верхнего угла ТП, взять ширины колонок и посчитать, на какую колонку приходится координата мышки

Пример из хелпа по формексу для первого:
АтрФормы = СоздатьОбъект("АтрибутФормы");
АтрФормы.УстановитьАтрибут(Форма,3);
Лево=0; Верх=0; Ширина=0; Высота=0;
АтрФормы.ПолучитьКоординаты(Лево, Верх, Ширина, Высота);

Второе - если повезет, то через ПолучитьПараметрыКолонки(), если не повезет - то задавать ширину колонок ручками
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать