Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Renat Araslanow                      2:5011/119.1   03 Mar 2003  00:06:31
 To : All
 Subject : perl/TK
 -------------------------------------------------------------------------------- 
 
 
 чтобы двигать фрейм, созданный как потомок канваса, а потом createwindow в
 канвасе, приходится переопределять bindtags([$canvas]). колбеки на <1>,
 <B1-Motion> <B1-ButtonRelease> поставлены через CanvasBind
 
 две проблемы:
 1. таг current для фрейма автоматически ставиться в редких, непредсказуемых
 случаях. приходится выставлять вручную в колбеке на <1>. удалять соответственно 
 <B1-ButtonRelease>
 
 2. если используется композитный виджет, то вообще всё становиться непонятным.
 за основу берём LabFrame (с labelside =>'top').
 (кто не смотрел поясню - там на SUPER::Populate фрейме создаются фрейм и лабел)
 в Populate пишем $f->bindtags([$cw]); $label->bindtags([$cw]);
 всё равно нормально евенты не идут. приходиться определять свой метод bindtags и
 там делать
 $compositeWidget->bindtags(@_);
 $label->bindtags(@_);
 $frame->bindtags(@_);
 
 после этого нормально можно двигать. но ведь, с моей точки зрения, это всё
 ненормально! если я говорю $subwidget->bindtags([$superwindget]), то хочу чтобы 
 все эвенты выполнялись бы так, как они выполняются для супервиджета. но стоит
 поменять биндтагс супервиджета - как уже ничего не вызывается /_=(_/ .
 может быть я просто плохо понимаю то, как это всё должно работать - тогда прошу 
 подтолкнуть на правильную стезю поиска.
 
 --- [Преждевременная оптимизация -- корень всех зол Д. Кнут]
  * Origin: Чайник с программным управлениемЪ (2:5011/119.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 perl/TK   Renat Araslanow   03 Mar 2003 00:06:31 
Архивное /ru.perl/32783e624b7f.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional