|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.01.2007, 12:38 | #1 |
Регистрация: 08.01.2007
Сообщений: 5
|
Создание кнопок
Я 2-й день изучаю Delphi и вот у меня возникли вопросы.
Мне необходимо выполнить такое задание: Создать проект, содержащий 3 кнопки со следующими функциями: 1-я кнопка переключает видимость 2-й и 3-й (видна только одна из кнопок по очереди); 2-я кнопка (учесть реальные ограничения, связанные с размером формы) сдвигает первую на 10 пикселей вниз; 3-я кнопка перебирает тип курсора; Щелчок на форме и <ALT-I> восстанавливают начальное состояние. Двойной щелчок и <ALT-X>- закрывают форму. Для каждой кнопки определить подсказку (Hint). Пока получилось только со 2-й. Кусок кода procedure TForm1.Button2Click(Sender: TObject); begin Button1.Top:=Button1.Top+10; {сдвиг} if (Button1.Top+Button1.Height)>Form1. Height-Button1.Height*2-10 then Button1.Top:=Form1.Height-Button1.Height*2-10; {чтоб кнопка не убежала за пределы формы} end; Как реализовать остальное просто не знаю. В учебном пособие про это ничего не говорится. И еще один вопрос: Как поменять местами строки и столбцы массива так, чтобы минимальный элемент находился в правом верхнем углу? Когда-то на Паскале проходили сортировку массивов. Как это осуществляется в Delphi? Где почитать? |
08.01.2007, 13:59 | #2 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
1-е. На нажатие кнопки пишешь:
Код:
Код:
Код:
Второе действие в св-ве ShortCut ставишь Alt+X, на выполнении: Код:
Hint - каждый (почти каждый компонент имеет одноименное св-во) единственное, что нужно сделать - поставить св-во ShowHint= True
Познавая других, мы познаем себя.
С'est la vie... |
10.01.2007, 01:39 | #3 |
Регистрация: 08.01.2007
Сообщений: 5
|
Получилось с кнопками все, кроме клавиш. Главное, принцип поняла! Но в моей версии Delphi3 нет Action List. Как тогда быть, чтоб задать реагирование клавиш? Действовать через OnKeyPress?
|
10.01.2007, 01:59 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
OnKeyPress не пойдет - это событие не определяет нажатие служебных клавиш. Нужно использовать OnKeyDown или OnKeyUp для формы. Например:
if ((key=Ord('X')) and (Shift=[ssAlt])) then Form1.DblClick; |
07.06.2009, 18:20 | #5 |
Пользователь
Регистрация: 26.05.2008
Сообщений: 30
|
У меня вопрос, как создавать кнопки в MainMenu через код, иначе говоря через код, написали код на обычном button, и при нажатии на него создаются кнопки в главном меню, и создавать чтобы можно было бесчисленное число раз а не ограниченно. И второй вопрос, можно ли когда создается кнопка в главном меню, добавить для нее код, тоесть создается кнопка и для нее автоматом присваивается определенный код через событие. Если все это можно, то каким образом ? Если не сложно, скажите, а то я ни где не могу найти по этому инфу.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дизайн кнопок | Fantom | Общие вопросы Delphi | 34 | 07.07.2008 06:54 |
Картинки для кнопок | Zeraim | Компоненты Delphi | 10 | 21.05.2008 13:19 |
Создание кнопок на лету | gabin | Компоненты Delphi | 2 | 11.05.2008 15:30 |
Стиль кнопок | north | Помощь студентам | 5 | 15.11.2007 22:00 |
Дизайн кнопок с Win API | rpy3uH | Win Api | 5 | 24.01.2007 09:16 |