Создаем простую форму с кнопкой посередине
Программируем на Delphi
Сообщений 1 страница 3 из 3
Поделиться32013-06-18 17:43:27
Задачу можно решить простым способом, при помощи скриншота основного экрана из браузера, вставки его в основную форму, затем надстройку различных элементов, свойственных этому экрану, таких как кнопок, полей ввода... Использование скриншотов элементов с оригинала, позволит нам сделать точную копию любой страницы. Примерно получилось вот что :
Так выглядит форма в 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Мб)