Описанные нами ресурсы widget в большинстве своем задают "статику" объекта: размер, цвет и т. д. Но дело в том, что управляющий элемент предназначен для того, чтобы дать возможность пользователю производить определенные действия (например, вводить текст, выбирать элементы из списков данных, рисовать график и т.д.). Кроме того, widget должен соответствующим образом реагировать на запросы о перерисовке и прочая и прочая и прочая. Следовательно, управляющие элементы должны иметь возможность вызывать процедуры, осуществляющие эти действия. При этом ясно, что процедуры, поставляемые самой системой можно использовать только для выполнения некоторого набора стандартных действий. Для возможности же реализации разнообразных специфичных операций приложению необходимо предоставить механизмы, позволяющие устанавливать связь между управляющими элементами и процедурами самой программы, которые выполняют необходимые функции. В Xt предусмотрены следующие три способа (механизма) осуществления такой связи и передачи управления в процедуры пользователя:
Рассмотрим каждый из них более подробно.