Урок 39 - Панель быстрого запуска (часть 1/2)
Начинаем создавать панельку быстрого запуска, в этом уроке мы сделаем движение (скрытие\показ).
Панелька будет выполнять простые функции: прятаться за границу экрана и показывается, запускать приложения, добавление приложений будет
осуществляться способом "Drag-and-drop". В этом уроке мы сделаем только движение панели.
Стартуем!!!
Наша панель будет располагаться слева, у края монитора и иметь небольшие размеры. Кидаем на форму компонент Panel и для теста Label, у Panel свойство Align установим на alClient. Выдвижение будет происходить при первом клике на панель, а при повторном клике, панель спрячется обратно. Поэтому создаем глобальную переменную Showed: boolean;, благодаря ей мы будем знать в каком состоянии панель, затем кликаем 2 раза Panel и пишем код:
procedure TForm1.Panel1Click(Sender: TObject); begin if Showed = false then // Если статут "Спрятана" begin Label1.Caption:='<<< True <<<'; Showed:= True; // Делаем статус "Показана" end else // Иначе begin Label1.Caption:='>>> False >>>'; Showed:= False; // Делаем статус "Спрятана" end; end;Проверим:
Жмем первый раз |
Жмем второй раз |
Теперь сделаем движение панели. Создаем глобальную переменную S: integer; , это для того чтобы панель не перемещалась вечно, а останавливалась, вытаскиваем таймер, интервал зададим 10 и в обработчике события пишем код:
procedure TForm1.Timer1Timer(Sender: TObject); begin if S = 15 then // Если пройдённый путь равен 15 begin Timer1.Enabled:= False; // Выключаемся end else // Иначе begin S:= S+1; // Увеличиваем путь на 1 Form1.Left:= Form1.Left - 10; // Двигаем панель end; end;Это движение в одну сторону, для движения назад нам понадобится еще один таймер, кидаем его на форму, назначаем интервал 10 и в обработчике пишем код:
procedure TForm1.Timer2Timer(Sender: TObject); begin if S = 0 then // Если пройдённый путь равен 0 begin Timer2.Enabled:= False; // Выключаемся end else // Иначе begin S:= S-1; // Уменьшаем путь на 1 Form1.Left:= Form1.Left + 10; // Двигаем панель end; end;Теперь вместо присвоения текста Label1 на нужно запускать таймера, модифицируем обработчик OnClick Panel:
procedure TForm1.Panel1Click(Sender: TObject); begin if Showed = false then // Если статут "Спрятана" begin Timer1.Enabled:= True; // Запускаем таймер показа Showed:= True; // Делаем статус "Показана" end else begin Timer2.Enabled:= True; // Запускаем таймер скрытия Showed:= False; // Делаем статус "Спрятана" end; end;Вот и все, в следующем уроке мы поработаем над интерфейсом.
Удачи!
Встретимся в следующем уроке!
Добавил(а): Dev199 | Дата: 2015-12-31 | |
|
-
:)