📄 fstate.pas
字号:
if Sender = DMsgDlgOk then DMsgDlg.DialogResult := mrOk;
if Sender = DMsgDlgYes then DMsgDlg.DialogResult := mrYes;
if Sender = DMsgDlgCancel then DMsgDlg.DialogResult := mrCancel;
if Sender = DMsgDlgNo then DMsgDlg.DialogResult := mrNo;
DMsgDlg.Visible := FALSE;
end;
procedure TFrmDlg.DMsgDlgKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then begin
if DMsgDlgOk.Visible and not (DMsgDlgYes.Visible or DMsgDlgCancel.Visible or DMsgDlgNo.Visible) then begin
DMsgDlg.DialogResult := mrOk;
DMsgDlg.Visible := FALSE;
end;
if DMsgDlgYes.Visible and not (DMsgDlgOk.Visible or DMsgDlgCancel.Visible or DMsgDlgNo.Visible) then begin
DMsgDlg.DialogResult := mrYes;
DMsgDlg.Visible := FALSE;
end;
end;
if Key = 27 then begin
if DMsgDlgCancel.Visible then begin
DMsgDlg.DialogResult := mrCancel;
DMsgDlg.Visible := FALSE;
end;
end;
end;
procedure TFrmDlg.DMsgDlgOkDirectPaint(Sender: TObject;
dsurface: TDirectDrawSurface);
var
d: TDirectDrawSurface;
begin
with Sender as TDButton do begin
if not Downed then
d := WLib.Images[FaceIndex]
else d := WLib.Images[FaceIndex+1];
if d <> nil then
dsurface.Draw (SurfaceX(Left), SurfaceY(Top), d.ClientRect, d, TRUE);
end;
end;
procedure TFrmDlg.DMsgDlgDirectPaint(Sender: TObject;
dsurface: TDirectDrawSurface);
var
d: TDirectDrawSurface;
ly: integer;
str, data: string;
begin
with Sender as TDWindow do begin
d := WLib.Images[FaceIndex];
if d <> nil then
dsurface.Draw (SurfaceX(Left), SurfaceY(Top), d.ClientRect, d, TRUE);
SetBkMode (dsurface.Canvas.Handle, TRANSPARENT);
ly := msgly;
str := MsgText;
while TRUE do begin
if str = '' then break;
str := GetValidStr3 (str, data, ['\']);
if data <> '' then
BoldTextOut (dsurface, SurfaceX(Left+msglx), SurfaceY(Top+ly), clWhite, clBlack, data);
ly := ly + 14;
end;
dsurface.Canvas.Release;
end;
if ViewDlgEdit then begin
if not EdDlgEdit.Visible then begin
EdDlgEdit.Visible := TRUE;
EdDlgEdit.SetFocus;
end;
end;
end;
{------------------------------------------------------------------------}
//肺弊牢 芒
procedure TFrmDlg.DLoginNewDirectPaint(Sender: TObject;
dsurface: TDirectDrawSurface);
var
d: TDirectDrawSurface;
begin
with Sender as TDButton do begin
if TDButton(Sender).Downed then begin
d := WLib.Images[FaceIndex];
if d <> nil then
dsurface.Draw (SurfaceX(Left), SurfaceY(Top), d.ClientRect, d, TRUE);
end;
end;
end;
procedure TFrmDlg.DLoginNewClick(Sender: TObject; X, Y: Integer);
begin
LoginScene.NewClick;
end;
procedure TFrmDlg.DLoginOkClick(Sender: TObject; X, Y: Integer);
begin
LoginScene.OkClick;
end;
procedure TFrmDlg.DLoginCloseClick(Sender: TObject; X, Y: Integer);
begin
FrmMain.Close;
end;
procedure TFrmDlg.DLoginChgPwClick(Sender: TObject; X, Y: Integer);
begin
LoginScene.ChgPwClick;
end;
procedure TFrmDlg.DLoginNewClickSound(Sender: TObject;
Clicksound: TClickSound);
begin
case Clicksound of
csNorm: PlaySound (s_norm_button_click);
csStone: PlaySound (s_rock_button_click);
csGlass: PlaySound (s_glass_button_click);
end;
end;
{------------------------------------------------------------------------}
//辑滚 急琶 芒
//显示选择服务器对话框
procedure TFrmDlg.ShowSelectServerDlg;
begin
DSelServerDlg.Visible := TRUE;
end;
procedure TFrmDlg.DSServer1Click(Sender: TObject; X, Y: Integer);
var
svname: string;
ini:TIniFile;
begin
svname := '';
{ if Sender = DSServer1 then begin //辑滚 3锅..
// svname := '豪炔辑滚';
// ServerMiniName := '豪炔';
svname := 'ktest';
ServerMiniName := 'ktest';
end; }
//200500305加入以下
ini := TIniFile.Create ('.\ftp.ini');
if ini<>nil then begin
svname := ini.ReadString ('Server', 'server1caption', svname);
end;
//////////////////////////////////////////////////////
if Sender = DSServer2 then begin //辑滚 4锅..
// svname := '扁赴辑滚';
// ServerMiniName := '扁赴';
svname := 'ktest';
ServerMiniName := 'ktest';
end;
if Sender = DSServer3 then begin //辑滚 1锅..
// svname := '没锋辑滚';
// ServerMiniName := '没锋';
svname := 'ktest';
ServerMiniName := 'ktest';
end;
if Sender = DSServer4 then begin //辑滚 2锅..
// svname := '归龋辑滚';
// ServerMiniName := '归龋';
svname := 'ktest';
ServerMiniName := 'ktest';
end;
if Sender = DSServer5 then begin //辑滚 3锅..
// svname := '林累辑滚';
// ServerMiniName := '林累';
svname := 'ktest';
ServerMiniName := 'ktest';
end;
if Sender = DSServer6 then begin //辑滚 4锅..
// svname := '泅公辑滚';
// ServerMiniName := '泅公';
svname := 'ktest';
ServerMiniName := 'ktest';
end;
if svname <> '' then begin
if BO_FOR_TEST then begin
// svname := '泅公辑滚';
// ServerMiniName := '泅公';
svname := 'ktest';
ServerMiniName := 'ktest';
end;
FrmMain.SendSelectServer (svname);
DSelServerDlg.Visible := FALSE;
ServerName := svname;
end;
end;
procedure TFrmDlg.DEngServer1Click(Sender: TObject; X, Y: Integer);
var
svname: string;
ini:TIniFile;
begin
svname := 'ktest';//'泅公辑滚';
ServerMiniName := 'ktest';//'泅公';
{ if svname <> '' then begin
if BO_FOR_TEST then begin
svname := 'ktest';//'泅公辑滚';
ServerMiniName := 'ktest';//'泅公';
end;
FrmMain.SendSelectServer (svname);
DSelServerDlg.Visible := FALSE;
ServerName := svname;
end; }
svname := '';
ini := TIniFile.Create ('.\ftp.ini');
if ini<> nil then begin
svname := ini.ReadString ('Server', 'server1caption', svname);
end;
FrmMain.SendSelectServer (svname);
DSelServerDlg.Visible := FALSE;
ServerName := svname;
end;
procedure TFrmDlg.DSSrvCloseClick(Sender: TObject; X, Y: Integer);
begin
DSelServerDlg.Visible := FALSE;
FrmMain.Close;
end;
{------------------------------------------------------------------------}
//货 拌沥 父甸扁 芒
//新帐号
procedure TFrmDlg.DNewAccountOkClick(Sender: TObject; X, Y: Integer);
begin
LoginScene.NewAccountOk;
end;
procedure TFrmDlg.DNewAccountCloseClick(Sender: TObject; X, Y: Integer);
begin
LoginScene.NewAccountClose;
end;
procedure TFrmDlg.DNewAccountDirectPaint(Sender: TObject;
dsurface: TDirectDrawSurface);
var
d: TDirectDrawSurface;
i: integer;
begin
with dsurface.Canvas do begin
with DNewAccount do begin
d := DMenuDlg.WLib.Images[FaceIndex];
if d <> nil then
dsurface.Draw (SurfaceX(Left), SurfaceY(Top), d.ClientRect, d, TRUE);
end;
SetBkMode (Handle, TRANSPARENT);
Font.Color := clSilver;
for i:=0 to NAHelps.Count-1 do begin
TextOut (79 + 386 + 10, 64 + 119 + 5 + i*14, NAHelps[i]);
end;
BoldTextOut (dsurface, 79+283, 64 + 57, clWhite, clBlack, NewAccountTitle);
Release;
end;
end;
{------------------------------------------------------------------------}
////Chg pw 冠胶
procedure TFrmDlg.DChgpwOkClick(Sender: TObject; X, Y: Integer);
begin
if Sender = DChgpwOk then LoginScene.ChgpwOk;
if Sender = DChgpwCancel then LoginScene.ChgpwCancel;
end;
{------------------------------------------------------------------------}
//某腐磐 急琶
procedure TFrmDlg.DscSelect1DirectPaint(Sender: TObject;
dsurface: TDirectDrawSurface);
var
d: TDirectDrawSurface;
begin
with Sender as TDButton do begin
if Downed then begin
d := WLib.Images[FaceIndex];
if d <> nil then
dsurface.Draw (Left, Top, d.ClientRect, d, TRUE);
end;
end;
end;
procedure TFrmDlg.DscSelect1Click(Sender: TObject; X, Y: Integer);
begin
if Sender = DscSelect1 then SelectChrScene.SelChrSelect1Click;
if Sender = DscSelect2 then SelectChrScene.SelChrSelect2Click;
if Sender = DscStart then SelectChrScene.SelChrStartClick;
if Sender = DscNewChr then SelectChrScene.SelChrNewChrClick;
if Sender = DscEraseChr then SelectChrScene.SelChrEraseChrClick;
if Sender = DscCredits then SelectChrScene.SelChrCreditsClick;
if Sender = DscExit then SelectChrScene.SelChrExitClick;
end;
{------------------------------------------------------------------------}
//货 某腐磐 父甸扁 芒
procedure TFrmDlg.DccCloseDirectPaint(Sender: TObject;
dsurface: TDirectDrawSurface);
var
d: TDirectDrawSurface;
begin
with Sender as TDButton do begin
if Downed then begin
d := WLib.Images[FaceIndex];
if d <> nil then
dsurface.Draw (SurfaceX(Left), SurfaceY(Top), d.ClientRect, d, TRUE);
end else begin
d := nil;
if Sender = DccWarrior then begin
with SelectChrScene do
if ChrArr[NewIndex].UserChr.Job = 0 then d := WLib.Images[55];
end;
if Sender = DccWizzard then begin
with SelectChrScene do
if ChrArr[NewIndex].UserChr.Job = 1 then d := WLib.Images[56];
end;
if Sender = DccMonk then begin
with SelectChrScene do
if ChrArr[NewIndex].UserChr.Job = 2 then d := WLib.Images[57];
end;
if Sender = DccMale then begin
with SelectChrScene do
if ChrArr[NewIndex].UserChr.Sex = 0 then d := WLib.Images[58];
end;
if Sender = DccFemale then begin
with SelectChrScene do
if ChrArr[NewIndex].UserChr.Sex = 1 then d := WLib.Images[59];
end;
if d <> nil then
dsurface.Draw (SurfaceX(Left), SurfaceY(Top), d.ClientRect, d, TRUE);
end;
end;
end;
procedure TFrmDlg.DccCloseClick(Sender: TObject; X, Y: Integer);
begin
if Sender = DccClose then SelectChrScene.SelChrNewClose;
if Sender = DccWarrior then SelectChrScene.SelChrNewJob (0);
if Sender = DccWizzard then SelectChrScene.SelChrNewJob (1);
if Sender = DccMonk then SelectChrScene.SelChrNewJob (2);
if Sender = DccReserved then SelectChrScene.SelChrNewJob (3);
if Sender = DccMale then SelectChrScene.SelChrNewSex (0);
if Sender = DccFemale then SelectChrScene.SelChrNewSex (1);
if Sender = DccLeftHair then SelectChrScene.SelChrNewPrevHair;
if Sender = DccRightHair then SelectChrScene.SelChrNewNextHair;
if Sender = DccOk then SelectChrScene.SelChrNewOk;
end;
{------------------------------------------------------------------------}
//惑怕芒...
{------------------------------------------------------------------------}
procedure TFrmDlg.DStateWinDirectPaint(Sender: TObject;
dsurface: TDirectDrawSurface);
var
i, l, m, pgidx, magline, bbx, bby, mmx, idx, ax, ay, trainlv: integer;
pm: PTClientMagic;
d: TDirectDrawSurface;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -