Итак, мы всё также используем 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;
|