Taborder delphi что это
StringGrid Delphi
Свойство TabOrder
Свойство TabOrder StringGrid Delphi определяет порядковый номер компонента StringGrid в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab.
Свойство TabOrder имеет целый тип Integer и исчисляется от нуля. Максимальное значение свойства TabOrder равно количеству компонентов, могущих получить фокус ввода, минус один.
Итак, нажатие клавиши Tab вызывает перемещение фокуса между компонентами. Компонент, имеющий номер 0, получает фокус ввода при старте программы и появлении Формы на экране.
При разработке инерфейса программы компоненты на Форму добавляются в произвольном порядке, и сразу получают следующее по очерёдности значение свойства TabOrder. Соответственно, в этом случае фокус ввода в работающей программе хаотично скачет по компонентам, что естественно вызовет недоумение и раздражение у пользователя.
Выбранный компонент, отмеченный синим, можно стрелками переместить выше или ниже в списке. Тем самым, меняется значение TabOrder не только его, но и соседних компонентов, что обеспечивает правильную последовательность значений TabOrder. Фокус ввода при нажатии клавиши Tab будет перемещаться от более высокого компонента в списке к более низкому.
Чтобы программно установить фокус на выбранный компонент, в Delphi есть метод SetFocus:
Возникает вопрос, каким образом можно программно передать фокус от одного компонента к другому в последовательности TabOrder.
Вариант 1
Можно воспользоваться тем фактом, что компоненты, которые могут получать фокус, имеют тип TWinControl. Нужно в цикле перебрать все компоненты на Форме имеющие тип TWinControl, и найти тот, у которого свойство TabOrder на 1 больше текущего (у которого свойство Focused=True):
procedure TForm1.JampFocus;
var i, TOrder: Integer;
begin
//Находим значение TabOrder у текущего компонента
for i:=0 to ComponentCount-1 do
if (Components[i] as TWinControl).Focused then
begin
TOrder:=(Components[i] as TWinControl).TabOrder;
break;
end;
//Находим следующий компонент в списке TabOrder
for i:=0 to ComponentCount-1 do
if (Components[i] as TWinControl).TabOrder=TOrder+1 then
begin
//Перемещаем фокус к следующему компоненту
(Components[i] as TWinControl).SetFocus;
break;
end;
end;
Вариант 2
Нужно воспользоваться методом Delphi SelectNext, который как раз и перемещает фокус от текущего компонента к следующему в списке TabOrder:
Сайт из коллекции Компоненты Delphi
Delphi для начинающих. Часть 2.
Сегодняшнюю статью я хочу, в первую очередь, посвятить интерфейсу среды разработки Delphi. Этот вопрос достаточно остро стоит и среди программистов, недавно начавших изучение Delphi, и среди матерых прогеров, которые сутками не спят, погрузившись в процесс создания очередной программы.
Начнем по порядку. Создавая очередную программу, пользователь компонует интерфейс, исходя из имеющихся у него подручных объектов, при этом он неизбежно сталкивается с необходимостью изменить то или иное его свойство. Как помнит наш читатель, свойства объектов на этапе разработки программы изменяются с использованием инспектора объектов. Этих свойств существует достаточно много. На них-то мы сейчас и остановимся.
Инспектор Объектов (рис. 1). В окне инспектора объектов имеются выпадающее меню и две вкладки. Выпадающее меню показывает нам, конфигурация какого объекта нам в настоящий момент представлена, а вкладки, собственно, эту конфигурацию помогают нам созерцать и изменять. Во вкладке Свойства ( Properties ) указано не что иное, как свойства формы проекта:). Рассмотрим некоторые основные свойства поподробнее:
Action — назначает для объекта действие;
ActiveControl — указывает на элемент формы, который имеет фокус;
Align — устанавливает положение объекта:
— AlNone — положение объекта определяется вручную пользователем;
— AlBottom ( AlTop ) — объект расположен внизу формы (если речь идет о форме проекта, то — внизу экрана). При этом высота объекта остается неизменной, а его ширина увеличивается до ширины формы (экрана);
— AlLeft ( AlRight ) — объект расположен в левой части формы (если речь идет о форме проекта, то — в левой части экрана). При этом ширина объекта остается неизменной, а его высота увеличивается до высоты формы (экрана);
— AlClient — объект занимает всю предоставленную площадь. Например, при установке данного свойства форме проекта, при запуске программы, окно будет растянуто на весь экран;
BiDiMode — это свойство используется для локализации приложения. Оно позволяет установить направление чтения текста в программе;
BorderStyle — свойство, отвечающее за тип формы. Включает в себя:
— bsNone — на форме полностью отсутствуют все системные элементы управления. Форма выглядит как прямоугольник без бортов и заголовка. При выполнении программы размер формы изменить нельзя;
— bsSingle — стандартное окно, но при этом отсутствует возможность изменения размеров формы. Набор системных кнопок зависит от свойства BorderIcon;
— bsDialog — стандартное диалоговое окно;
— bsToolWindow — панель инструментов. Похожа на стиль bsSingle, но при этом все системные элементы уменьшены;
— bsSizeToolWin — панель инструментов. Похожа на стиль bsSingle, но при этом все системные элементы уменьшены, возможно изменение размеров формы;
BorderIcons — группа свойств, отвечающих за видимость системных элементов — кнопок: свернуть, закрыть, развернуть, помощь и системное меню;
Caption — содержит текст названия формы проекта;
CurrentHelpFile — содержит имя файла контекстной помощи, используемого приложением;
HelpFile — задает имя файла помощи для приложения;
ShowHint — включает либо отключает показ всплывающих ярлыков подсказок;
Hint — содержит строку ярлыка подсказки;
Icon — указывает на значок приложения;
Cursor — устанавливает тип курсора, который будет установлен при наведении мыши на область объекта;
Visible — устанавливает такое свойство объекта, как видимость;
Enabled — указывает на состояние объекта. При значении False объект недоступен;
Font — группа свойств, характеризующих отображение текста, используемого объектом. С помощью этих свойств можно изменять цвет, размер, стиль, кодировку и шрифт текста;
Height — устанавливает высоту объекта в пикселях;
Width — устанавливает ширину объекта в пикселях;
Left — устанавливает отступ левого края объекта от левого края формы проекта в пикселях;
Top — устанавливает отступ верхнего края объекта от верхнего края формы проекта в пикселях;
Name — внутреннее имя объекта программы;
TabOrder — указывает направление перемещения фокуса при нажатии клавиши Tab (от начала к концу или от конца к началу, но при этом хочу заметить, что порядок перемещения фокуса можно изменять с помощью диалога TabOrder (Edit/TabOrder. );
TabStop — при установленном значении False фокус при нажатии клавиши Tab на данный объект не переводится (при этом фокус переходит к объекту, стоящему следующим в списке TabOrder).
Выше описаны свойства, которые присущи многим компонентам. Однако стоит отметить, что, помимо вышеупомянутых параметров, компоненты имеют и специфические свойства. Их мы будем рассматривать по мере изучения материала.
Во второй вкладке Действия ( Events ) указаны методы-обработчики событий. Познакомимся с ними поближе:
OnActivate — вызывается при передаче фокуса форме проекта;
OnDeactivate — вызывается при потере фокуса формой проекта;
OnClose — вызывается при закрытии формы. Предназначен для выполнения операций, позволяющих пользователю принять решение о закрытии формы либо продолжении работы;
OnCreate — вызывается при создании формы;
OnDestroy — вызывается при уничтожении формы;
OnHide — вызывается при исчезновении формы с экрана;
OnPaint — вызывается при перерисовке формы;
OnShow — вызывается при появлении формы на экране;
OnClick — вызывается при нажатии на объект;
OnMouseDown — вызывается при нажатии кнопки мыши.
К сведению: для создания обработчика событий достаточно дважды нажать мышкой на пустое поле, соответствующее названию метода.
Окно редактора кода. Как наш любознательный читатель мог уже заметить, окно редактора кода представлено тремя частями:
— панель модулей описания переменных и используемых модулей;
— панель кода программы;
— панель найденных ошибок программы (на этапе создания программы данное окно является невидимым, активизируется, если это необходимо, при компиляции программы).
Итак, после установки компонента на форму проекта диалоговое окно можно активизировать с помощью функции Execute:Boolean. При этом, если пользователь выбрал файл или несколько файлов и нажал кнопку ОК, то функция возвращает True. Свойство компонента FileName содержит имя последнего файла из списка выбранных в диалоге. Свойство Files — список всех файлов, выбранных в диалоге. Свойство InitialDir задает каталог, к которому диалог обращается при открытии. Свойство Title содержит заголовок диалогового окна. Следует также отметить свойство Filter. С его помощью при выборе и сохранении файлов удобно осуществлять отбор файлов только с заданными расширениями. Например, для создания фильтра для исполняемых файлов свойство должно содержать следующую строку:
‘Исполняемые файлы | *.EXE’
В одном фильтре можно отбирать файлы и с различными расширениями:
‘Графические изображения | *.JPG; *.GIF; *.PNG’
Фильтр также можно создать в простом редакторе, который связан со свойством Filter в инспекторе объектов.
Очень интересные свойства и при этом одни из самых важных для диалоговых компонентов (OpenDialog, SaveDialog, OpenPictureDialog, SavePictureDialog) представлены в группе Options. Они рассмотрены в следующей таблице:
Устанавливает значение флажка Open As Read Only (открыть только для чтения)
Диалог выводит предупреждение, если выбирается уже используемый файл
Устанавливает видимость флажка Open As Read Only (открыть только для чтения)
После выбора файла и закрытия диалога устанавливается каталог, который был задан в диалоге до открытия
Добавляет к диалогу кнопку помощи
Отключает проверку имени файла
Позволяет выбирать в диалоге несколько файлов
Устанавливается в True во время выполнения приложения, если расширение выбранного файла отличается от расширения по умолчанию
Генерирует предупреждение в случае выбора несуществующего файла и предлагает создать его
Позволяет выбирать файлы, которые используются другими процессами
Генерирует сообщение, если был выбран файл с атрибутом “только для чтения”
Отключает проверку на существование выбранного файла и доступность сетевого диска
Удаляет из диалогового окна кнопку Network доступа к сетевым дискам
Диалог не отображает файлы с длинными именами
Представляет диалог в стиле windows 3.1x
Не различает файлы и ссылки на файлы (расширение LNK)
Позволяет изменять размеры диалога
Как и у многих других компонентов, у диалогов тоже существуют и свои методы-обработчики событий. Среди них наиболее интересными являются OnClose, OnFolderChange, OnSelectionChange, OnTypeChange (думаю, в пояснениях эти методы не нуждаются).
Исходя из всего вышесказанного, опишем процедуру (дабы увидеть все на конкретном примере), которая будет вызываться при нажатии на кнопку Button1, выполняющую запуск диалога OpenDialog1 и передающую путь к выбранному файлу в поле ввода Edit1:
На этом раздел диалогов работы с файлами заканчивается. Всего вышеописанного вполне достаточно для создания полноценных приложений. Мной были специально опущены некоторые моменты, о которых я не счел нужным писать. Они редко используются в программировании, однако расширяют возможности работы с программой. При огромном вашем желании я могу написать о них персонально. Заявки — на e-mail:).
Процедура showmessage позволяет вывести пользователю простое сообщение. При этом появится дополнительное окно с названием проекта и кнопкой ОК. Выглядит все это следующим образом:
Пример:
ShowMessage(‘Все задачи выполнены успешно’);
Функция messageDlg позволяет создавать сложные диалоговые запросы с использованием обратной связи. Имеет вид дополнительного окна, дополненного изображением. При этом возможно использовать диалоговые запросы. Название окна зависит от типа запроса.
MessageDlg(Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint): Word;
Msg — строковой параметр. Задает выводимое сообщение;
Atype — внутренний параметр функции. Задает тип сообщения:
— mtWarning — сообщение о предупреждении;
— mtError — сообщение об ошибке;
— mtInformation — информационное сообщение;
— mtConfirmation — сообщение о подтверждении;
— mtCustom — сообщение не содержит в углу изображения. Название окна соответствует названию исполняемого файла (аналогично showmessage).
Abuttons — задает имена кнопок, которые будут отображаться на диалоговом запросе. Возможны значения: mbYes, mbNo, mbOK, mbCancel, mbHelp, mbAbort, mbRetry, mbIgnore, mbAll.
HelpCtx — содержит номер раздела, который будет показан пользователю, если он вызовет справку, когда диалог активизирован.
MessageDlg(‘Продолжить выполнение программы’, mtConfirmation, [mbYes, mbNo], 0);
Для того чтобы определить, какой вариант ответа выбрал пользователь, можно воспользоваться простой проверкой. Тогда исходный код будет иметь следующий вид:
If MessageDlg(‘Закончить выполнение задачи?’, mtConfirmation, [mbYes, mbNo], 0) = mrYes
then
begin
MessageDlg(‘Выполнение задачи закончено.’, mtInformation, [mbOk], 0);
Close;
end;
Создание сообщения с помощью дополнительного окна достаточно трудоемко. Этот способ используется для создания сложных запросов, когда одного только “Да” и “Нет” мало. Примером может служить ситуация, когда от пользователя необходимо получить код продолжения, в зависимости от которого приложение будет выполнять те или иные операции. Рассмотрением данного способа создания сообщений и использования дополнительных окон для вспомогательных задач мы займемся в следующей статье.
Taborder delphi что это
Опытный
Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель
Репутация: 1
Всего: 17
Экспёрт Тыдыщ
Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь
Репутация: 16
Всего: 40
жмем правой кнопкой на форме (панели, любом контейнере)
выбираем TabOrder.
и выставляем нужную очередность
Добавлено через 3 минуты и 55 секунд
P.S. веткой-то немножко ошибся. будь повнимательнее. не новичок жеж.
Опытный
Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка
Репутация: 6
Всего: 15
Опытный
Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель
Репутация: 1
Всего: 17
1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.) Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.
[ Время генерации скрипта: 0.0975 ] [ Использовано запросов: 21 ] [ GZIP включён ] Свойства компонентов DelphiСвойства компонентов DelphiСвойство NameСвойство Name содержит имя (идентификатор) компонента, по которому в программном коде производится обращение к этому компоненту. Каждому компоненту Дельфи автоматически присваивает имя исходя из типа компонента, например: Label1, Button1, Memo1. Если вы изменяете свойство Name – помните, идентификатор не должен содержать пробелов. Свойство OwnerСвойство Owner содержит указатель на компонент, являющийся владельцем данного компонента. Форма является владельцем всех компонентов, которые в ней содержаться. Владельцем формы является приложение. Не следует путать компонент-владелец с родительским элементом управления (Parent). Родительским называется оконный элемент управления, в который непосредственно помещен дочерний компонент. Владельцем называется компонент, содержащий другие компоненты. Свойство TagСвойство Tag служит для хранения произвольного целого числа или указателя, обычно используется в тех случаях, когда необходимо сохранить специфичную для данного компонента информацию. Свойство IconЗначение свойства Icon определяет, какая пиктограмма будет отображаться на панели задач Windows, когда приложение запущено (свернуто). Иконку приложения также можно задать в меню: Projects>Options>Application>Application Settings. Свойство CaptionСвойство Caption содержит текст (либо название) элемента управления. Например: Label1.Caption:=’Произвольный текст’; По умолчанию Delphi присваивает Caption то же значение, что и свойству Name. Свойство EnabledСвойство Enabled определяет, должен ли элемент управления реагировать на события мыши, клавиатуры или таймера. Если свойство имеет значение True, то элемент реагирует на события, иначе они игнорируются. Свойство AlignСвойство Align определяет, как располагаются элементы управления внутри своего родительского элемента. Это свойство необходимо применять, если элемент управления должен оставаться на определенном месте в форме при изменении ее размеров. Свойство CursorСвойство Cursor определяет изображение указателя мыши в тот момент, когда он находится на элементе управления. Например: Button1.Cursor:= crHourGlass; Свойство ClientHeightСвойство ClientHeight определяет высоту рабочей области элемента управления в пикселях. Для элементов управления значение свойства ClientHeight равно значению свойства Height. Для форм свойство ClientHeight содержит высоту рабочей области формы (значение Height за вычетом высоты строки заголовка, линейки прокрутки и рамки окна). Свойство HeightСвойство Height содержит высоту элемента управления в пикселях. Свойство TopСвойство Top содержит вертикальную координату (у) левого верхнего угла элемента управления (в пикселях) относительно формы или родительского элемента управления в котором данный элемент содержится. Свойство LeftСвойство Left определяет горизонтальную координату левого края элемента управления (в пикселях) относительно формы или родительского элемента управления, в котором данный элемент содержится. Свойство VisibleСвойство Visible определяет, будет ли данный компонент отображаться на экране. Если свойство Visible имеет значение True, то компонент виден пользователю, в противном случае – нет. Свойство TabOrderСвойство TabOrder определяет положение компонента в так называемой последовательности табулятора. Это последовательность, в которой компоненты становятся активными, когда пользователь нажимает клавишу [Tab]. Свойство TabStopСвойство TabStop определяет, может ли пользователь перейти к элементу управления с помощью клавиши [Tab]. Если значение свойства TabStop – False, то данный элемент управления не входит в последовательность табулятора и пользователь не может к нему перейти с помощь клавиши [Tab]. По умолчанию значение TabStop равно True. Свойство FormStyleСвойство FormStyle определяет, является ли форма родительской либо дочерней или же независимой. Ниже представлены возможные значения: Свойство BorderIconsСвойство BorderIcons определяет, какие кнопки отображаются в строке заголовка формы. Возможные значения приведены ниже: Свойство BorderStyleСвойство BorderStyle определяет, отображается ли рамка форма, если да, то как именно. Ниже представлены возможные значения этого свойства: Свойство AutoScrollСвойство AutoScroll определяет, отображаются ли на оконном элементе управления линейки прокрутки, если этот элемент управления недостаточно велик, чтобы показать все содержащиеся в нем элементы. Если AutoScroll имеет значение True, линейки прокрутки автоматически появляются, когда они необходимы. Свойство WindowStateСвойство WindowState определяет, как отображается форма (в обычном, свернутом или развернутом виде) – wsNormal, wsMaximized, wsMinimized.
|