Здравствуйте, Гость
Суббота, 25.11.2017, 04:23
Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: stalker, Ekz 
Форум » Все о Delphi » Начинающим » Мои вопросы по Делфи
Мои вопросы по Делфи
TurgenevДата: Понедельник, 12.11.2012, 15:57 | Сообщение # 1
Ранг 1
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте. Хочу сделать чтобы N число кнопок убегало от курсора, но прописывать каждую кнопку долго и нудно. Можно ли сделать это через цикл? Например:
procedure e;
begin
for N:=5 to 17 do
procedure TForm1.ButtonNMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);

begin
index := random(4); //ïðèñâàèâàåì ïåðåìåííîé ñëó÷àéíîå çíà÷åíèå îò 0 äî 3
//â çàâèñèìîñòè îò çíà÷åíèÿ ïåðåìåííîé, âûáèðàåì äåéñòâèå
case index of
0: Button3.Left := ButtonN.Left + ButtonN.Width; //äâèãàåì êíîïêó âïðàâî, íà çíà÷åíèå øèðèíû êíîïêè
1: Button3.Left := ButtonN.Left - ButtonN.Width; //êíîïêà âëåâî, íà çíà÷åíèå øèðèíû
2: Button3.Top := ButtonN.Top + ButtonN.Height; //êíîïêà âíèç, íà çíà÷åíèå âûñîòû
3: Button3.Top := ButtonN.Top - ButtonN.Height; //êíîïêà ââåðõ, íà çíà÷åíèå âûñîòû
end; //case
{Åñëè êíîïêà âûøëà çà ïðåäåëû ôîðìû, âåðíåì åå â ïîëîæåíèå 0}
if ButtonN.Left < 0 then ButtonN.Left := 0;
if ButtonN.Top < 0 then ButtonN.Top := 0;
if (ButtonN.Left + ButtonN.Width) > Form1.Width then
ButtonN.Left := Form1.Width - ButtonN.Width;
if (ButtonN.Top + ButtonN.Height) > Form1.Height then
ButtonN.Top := Form1.Height - ButtonN.Height;

end;
end;

И еще: есть ли в делфи визуальный компонент (та же картинка), но с неправильной формой (форма звезды, ромба или вообще произвольная) или как это сделать?


Сообщение отредактировал Turgenev - Понедельник, 12.11.2012, 15:58
 
AdminДата: Суббота, 24.11.2012, 23:12 | Сообщение # 2
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Не совсем понял задачу, но может быть это поможет? http://delphidevelop.ru/publ/12-1-0-93

Не оказываю помощь через личные сообщения и ICQ
 
Форум » Все о Delphi » Начинающим » Мои вопросы по Делфи
Страница 1 из 11
Поиск:

Copyright DelphiDevelop.ru © 2008-2017
Хостинг от uCoz