Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема АктивИкс -> TreeCtrl -> Контекстное меню? (число прочтений - 3644 )
Aurelius
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Местоположение: г. Долгопрудный, МО
Зарегистрирован: 23. Мая 2006
Пол: Мужской
АктивИкс -> TreeCtrl -> Контекстное меню?
07. Августа 2006 :: 07:35
Печать  
Кто нибудь дедал subj?
Наверное так:
Код
Выбрать все
Процедура MouseUp(Кнопка, Shift, мЛево, мВерх)
	Если Кнопка = 2 Тогда
		эуДерево = _тк(Контекст).ПолучитьБазовыйКласс("АктивИкс").Объект;
		Узел = эуДерево.HitTest(мЛево, мВерх);
		...
	КонецЕсли;
КонецПроцедуры 


У меня всегда попадает на 1-й узел. Понимаю, нужны преобразования координат, но какие?
Кстати, что возвращает метод Окна::ПолучитьРазрешение(Горизонтальное, Вертикальное)?

0.85714285714285714286; 1.37142857142857142857

  
Наверх
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: АктивИкс -> TreeCtrl -> Контекстное меню?
Ответ #1 - 07. Августа 2006 :: 09:15
Печать  
А почему бы не использовать св-во SelectedItem?
Код
Выбрать все
Узел = эуДерево.SelectedItem; 

  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Aurelius
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Местоположение: г. Долгопрудный, МО
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: АктивИкс -> TreeCtrl -> Контекстное меню?
Ответ #2 - 07. Августа 2006 :: 10:38
Печать  
Цитата:
Узел = эуДерево.SelectedItem;

Так вроде бы и ничего, но если кликнуть на пустом месте (ниже данных), то все равно меню создается для выделенного узла, а это интуитивно не понятно (пользователю).
  
Наверх
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: АктивИкс -> TreeCtrl -> Контекстное меню?
Ответ #3 - 07. Августа 2006 :: 12:05
Печать  
Код
Выбрать все
Узел = эуДерево.HitTest(мЛево*15, мВерх*15); 

  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: АктивИкс -> TreeCtrl -> Контекстное меню?
Ответ #4 - 07. Августа 2006 :: 12:13
Печать  
А если точнее:
Код
Выбрать все
Узел = эуДерево.HitTest(мЛево*1440/ПикселовНаДюймГориз, мВерх*1440/ПикселовНаДюймВерт); 

  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Aurelius
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Местоположение: г. Долгопрудный, МО
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: АктивИкс -> TreeCtrl -> Контекстное меню?
Ответ #5 - 07. Августа 2006 :: 12:18
Печать  
Thank's.
Цитата:
Узел = эуДерево.HitTest(мЛево*15, мВерх*15);

Экспериментальным путем я это уже вычислил. Не было уверенности что на разных компьютерах (с разным разрешением) коэффициент останется постоянным.
Однако остается вопрос - что за значения возвращаяет:
Окна::ПолучитьРазрешение(Горизонтальное, Вертикальное)
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать