Ext.Button

Класс Ext.Button представляет кнопку:

Ext.onReady(function(){
	Ext.create('Ext.Button', {
		text: 'Нажми',
		height:30,
		margin: '50 0 0 50',
		renderTo: Ext.getBody(),
		handler: function() {
			alert('Привет мир!')
		}
	});
});

Для использования кнопок внутри контейнера мы можем использовать xtype button:

Ext.onReady(function(){
	Ext.create('Ext.Panel', {
		width:300,
		height:200,
		renderTo: Ext.getBody(),
		items   : [{
				xtype: 'button',
				text : 'My Button',
				margin:'75 0 0 125',
				enableToggle: true
			}]
	});
});

Используя в вышеприведенном примере свойство enableToggle: true, при нажатии на кнопку она оказывается во включенном состоянии и выделяется цветом, при повторном нажатии мы снимаем включение.

Используя свойство menu, мы можем задать для кнопки меню:

Ext.onReady(function(){
	Ext.create('Ext.Panel', {
		width:300,
		height:200,
		renderTo: Ext.getBody(),
		items   : [{
				xtype: 'button',
                text : 'Языки программирования',
                margin:'15 0 0 25',
                menu: [
                    {text: 'C#'},
                    {text: 'Java'},
                    {text: 'C++'},
                    {text: 'Basic'}
                ]
			}]
	});
});

В первом примере мы устанавливали у кнопки свойство handler, которое определяет функцию, отрабатываемую при нажатии кнопки. Но мы также можем использовать свойство listeners и установить в нем обработчики других событий или слушатели:

Ext.onReady(function(){
	Ext.create('Ext.Panel', {
		width:300,
		height:200,
		renderTo: Ext.getBody(),
		items   : [{
				xtype: 'button',
				text : 'My Button',
				margin:'15 0 0 25',
				listeners: {
					click: function() { // аналогичен функции в параметре handler
						// this в данном случае хранит ссылку на текущую кнопку
						this.setText('Привет мир');
					},
					mouseover: function() {// обработчик наведения курсора
						// если параметр установлен
						if (!this.mousedOver) {
							this.mousedOver = true;
							alert('Вы навели курсором на элемент!\n\nБольше сообщение не будет появляться.');
						}
					}
			}
			}]
	});
});
    Поддержать сайт на родительском проекте КГБ