MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Приложения с GUI и дескрипторная графика

Базовые графические объекты.

Объект Text

Пример 3. Редактирование текста при помощи обработки события ButtonDownFcn текстового объекта.

В этом примере двойной щелчок мышью по текстовому объекту приводит к появлению возможности его редактирования. Для этого с событием ButtonDownFcn текстового объекта связывается подфункция TextClick, в которой проверяется, какой был сделан щелчок мыши при помощи свойства SelectionType графического окна.

Для того, чтобы в подфункции TextClick обработки события текстового объекта получить указатель на окно приложения, вызывается функция guihandles, которая возвращает вектор указателей на все объекты приложения. Указатель на графическое окно содержится в поле win этой структуры, т.к. при создании графического окна ему был присвоен тэг win. Далее проверяется, был ли сделан двойной щелчок. Для этого значение свойства SelectionType графического окна сравнивается с 'open' ('open' означает двойной щелчок), если оно равно 'open', то свойству Editing текстового объекта присваивается значение 'on' и текстовый объект можно редактировать.

function edittext
% создание графического окна с тэгом win
figure('Tag','win')
% создание осей
axes
% создание текстового объекта и связывание с его событием ButtonDownFcn 
% подфункции TextClick 
ht=text('Position', [0.3 0.3], 'String', 'Edit me','FontSize',15,...
    'ButtonDownFcn', @TextClick)

function TextClick(src,evt)
% подфункция обработки события ButtonDownFcn текстового объекта

% получаем структуру указателей на объекты приложения
handles=guihandles(src);
% узнаем, был ли сделан двойной щелчок мышью
key=get(handles.win, 'SelectionType');
if isequal(key,'open')
    % разрешаем редактирование текстового объекта
    set(src,'Editing','on')
end

Поиск по сайту:

Система Orphus

Яндекс.Метрика