Создание Главного Меню в Игре - Часть 2 - EDIT
Оформил: XVeL
Автор: Spose
WEB-сайт: http://daddy.mirgames.ru
Итак, мы всё также используем 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;
Тут
код примера Вот в принципе и всё.
|