Паяльник

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Паяльник » Программирование » Программируем на Delphi


Программируем на Delphi

Сообщений 1 страница 3 из 3

1

Создаем простую форму с кнопкой посередине

0

2

Неее... Это слишком просто... Нада создать форму с произвольными кнопками, например как в GoogleChrome.

http://s1.uploads.ru/t/clSOD.png

Пример авторизации. Фокус при наведении на поле ввода должно также выделятся.

0

3

Задачу можно решить простым способом, при помощи скриншота основного экрана из браузера, вставки его в основную форму, затем надстройку различных элементов, свойственных этому экрану, таких как кнопок, полей ввода... Использование скриншотов элементов с оригинала, позволит нам сделать точную копию любой страницы. Примерно получилось вот что :

http://s0.uploads.ru/t/wGlfH.jpg

Так выглядит форма в Delphi, получилась своего рода мозайка, делаем с ней все что угодно по нашему усмотрению.

На ней мы видим основную форму Form1, на неё "натянут" объект Image1, представляющий собой скриншот основного экрана, далее объекты Image2 - 7, это скриншоты кнопок, полей ввода расставлены на места оригинальных. Элементы "фокуса" расположены в произвольном месте, потому как они "спрячутся" при инициализации формы.

Опишем процедуру инициализации экрана, при запуске формы.

procedure TForm1.FormCreate(Sender: TObject);
begin
// И Н И Ц И А Л И З А Ц И Я
// Image1 - основной фон, скриншот оригинального экрана
// Image2 - скриншот кнопки Войти, расположена поверх оригинальной
// Image3 - скриншот кнопки "Крестик" не активная обычная NOT CLOSE,
// расположена поверх оригинальной, используется для обработки событий мыши
// Image4 - скриншот NOT FOCUS для Edit1, Edit2
// Image5 - скриншот FOCUS для Edit1, Edit2
// Image7 - скриншот кнопки "Крестик" активная красная CLOSE,
// используется для обработки закрытия формы

{ Убираем заголовок окна }
Form1.BorderStyle := bsNone;

{ Статус вспомогательных картинок }
image2.Visible:=True;   // Кнопка Войти
image3.Visible:=True;   // Активируем NOT FOCUS для CLOSE для обработки движения мыши
image4.Visible:=false;  // прячем картинку NOT FOCUS
image5.Visible:=false;  // прячем картинку FOCUS
image7.Visible:=false;  // прячем картинку FOCUS для CLOSE

{ Очистка полей Edit1 и Edit2 }
Edit1.Text:='';
Edit2.Text:='';
end;

Формирование фокуса вокруг полей Edit1 и Edit2 осуществим путем обработки событий при нажатии на поля:

procedure TForm1.Edit1Click(Sender: TObject);
begin
{ FOCUS Edit1 }
image5.Visible:=true;
image5.Left:=248;
image5.Top:=129;

{ NOT FOCUS Edit2 }
image4.Visible:=true;
image4.Left:=248;
image4.Top:=184;
end;

procedure TForm1.Edit2Click(Sender: TObject);
begin
{ FOCUS Edit2 }
image5.Visible:=true;
image5.Left:=248;
image5.Top:=184;

{ NOT FOCUS Edit1 }
image4.Visible:=true;
image4.Left:=248;
image4.Top:=130;
end;

Результат можно посмотреть здесь http://f-bit.ru/162696 (4Мб)

0


Вы здесь » Паяльник » Программирование » Программируем на Delphi


создать форум