Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 646

•  TDictionary Custom Sort  6 650

•  Fast Watermark Sources  6 430

•  3D Designer  9 368

•  Sik Screen Capture  6 755

•  Patch Maker  7 147

•  Айболит (remote control)  7 157

•  ListBox Drag & Drop  6 012

•  Доска для игры Реверси  97 605

•  Графические эффекты  7 341

•  Рисование по маске  6 629

•  Перетаскивание изображений  5 498

•  Canvas Drawing  5 878

•  Рисование Луны  5 602

•  Поворот изображения  5 106

•  Рисование стержней  3 679

•  Paint on Shape  2 909

•  Генератор кроссвордов  3 807

•  Головоломка Paletto  3 059

•  Теорема Монжа об окружностях  3 865

•  Пазл Numbrix  2 547

•  Заборы и коммивояжеры  3 262

•  Игра HIP  2 232

•  Игра Go (Го)  2 166

•  Симулятор лифта  2 545

•  Программа укладки плитки  2 181

•  Генератор лабиринта  2 681

•  Проверка числового ввода  2 329

•  HEX View  2 666

•  Физический маятник  2 300

 
скрыть

Delphi Sources

Создание Главного Меню в Игре - Часть 2 - EDIT



Оформил: XVeL
Автор: Spose

Итак, мы всё также используем intf.zip содержащий описание компонентов(кнопок, листбоксов, чекбоксов, эдитов и тэдэ) для DelphiX.
Cначала нужно подключить Intf к игре так:
Uses ..............., intf;//Подключаем Inf к программе
.........................................................................
procedure TForm1.FormCreate(Sender: TObject);
begin
   fsurface:=dxdraw.surface; //Это необходимо
   .........................
end;

.........................................................................
procedure TForm1.DXTimerTimer(Sender: TObject; LagCount: Integer);
begin
   if not dxdraw.CanDraw then exit;
   fsurface:=dxdraw.Surface; //Это необходимо
   ..........................
end;
Теперь включив intf в свою программу, можно и компоненты посоздавать. Компоненты создаются просто:
edit1 := Tdxwedit.Create(form1);
With Edit1 do
begin
   Name := 'Edit1';
   Image := il.Items.Find('Edit');
   Font.Style := [fsbold];
   Font.Color := clYellow;
   Font.Size := 18;
   Font.Name := 'Times New Roman';
   Left := 200;
   Top := 270;
   width := image.Width;
   height := image.height;
   OnChange := EditChange;
   Text := 'C:\GAMES\US';
   focused := true;
end;

//Где edit1:Tdxwedit
Вот процедура EditChange:
begin
//Тут чего нибудь делайте с текстом
end;
Отрисовка производится так:
edit1.DoDraw;//Отрисовка Edit'a
И остается только обработка на поведение мыши и на нажатие кнопок на клавиатуре:
procedure TForm1.DXDrawMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
   if ptinrect(edit1.BoundsRect,mouse.CursorPos) then //Если мышь над Едитом то выделяем его
   begin
      edit1.Font.Style:=[fsBold];
      edit1.Font.Color:=clWhite;
      edit1.Focused:=true;
   end else
   begin
      edit1.Font.Style:=[];
      edit1.Font.Color:=clYellow;
      edit1.Focused:=false;
   end;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   edit1.KeyDown(key,shift);
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
   edit1.KeyPress(key);
end;
Тут код примера
Вот в принципе и всё.

Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте