197 lines
5.0 KiB
Plaintext
197 lines
5.0 KiB
Plaintext
unit DHelp;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
|
|
PngImageList, System.ImageList, Vcl.ImgList, System.Actions, Vcl.ActnList;
|
|
|
|
type
|
|
TDlgHelp = class(TForm)
|
|
imgMain: TImage;
|
|
imgPrev: TImage;
|
|
imgNext: TImage;
|
|
imgHelpList: TPngImageCollection;
|
|
imgBtnList: TPngImageList;
|
|
ActionList: TActionList;
|
|
acPrev: TAction;
|
|
acNext: TAction;
|
|
acExit: TAction;
|
|
acSpacePress: TAction;
|
|
imgClose: TImage;
|
|
imgBtnList2: TPngImageList;
|
|
procedure imgMainMouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
procedure imgPrevMouseEnter(Sender: TObject);
|
|
procedure imgPrevMouseLeave(Sender: TObject);
|
|
procedure imgPrevMouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
procedure imgPrevMouseUp(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
procedure acExitExecute(Sender: TObject);
|
|
procedure acPrevExecute(Sender: TObject);
|
|
procedure acNextExecute(Sender: TObject);
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure imgCloseMouseEnter(Sender: TObject);
|
|
procedure imgCloseMouseLeave(Sender: TObject);
|
|
procedure imgCloseMouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
procedure imgCloseMouseUp(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
private
|
|
{ Private declarations }
|
|
nCurIdx_: Integer;
|
|
nSt_, nEd_: Integer;
|
|
bIsKor_: Boolean;
|
|
procedure SetHelpImg(nImgIdx: Integer);
|
|
procedure SetImgBtn(aImgList: TPngImageList; imgBtn: TImage; nImgIdx: Integer);
|
|
public
|
|
{ Public declarations }
|
|
Constructor Create(aOwner: TComponent); override;
|
|
end;
|
|
|
|
var
|
|
DlgHelp: TDlgHelp;
|
|
|
|
implementation
|
|
|
|
uses
|
|
KDL.Localizer;
|
|
|
|
{$R *.dfm}
|
|
|
|
Constructor TDlgHelp.Create(aOwner: TComponent);
|
|
begin
|
|
Inherited Create(aOwner);
|
|
|
|
if Pos('412', FreeLocalizer.LanguageFile) > 0 then
|
|
begin
|
|
// 한글
|
|
// imgPrev.Left := 327;
|
|
// imgNext.Left := 924;
|
|
nCurIdx_ := 0;
|
|
nSt_ := 0;
|
|
nEd_ := 7;
|
|
end else
|
|
if Pos('804', FreeLocalizer.LanguageFile) > 0 then
|
|
begin
|
|
// 간체
|
|
nCurIdx_ := 16;
|
|
nSt_ := 16;
|
|
nEd_ := 23;
|
|
end else
|
|
if Pos('404', FreeLocalizer.LanguageFile) > 0 then
|
|
begin
|
|
// 번체
|
|
nCurIdx_ := 24;
|
|
nSt_ := 24;
|
|
nEd_ := 31;
|
|
end else begin
|
|
// imgPrev.Left := 223;
|
|
// imgNext.Left := 1033;
|
|
nCurIdx_ := 8;
|
|
nSt_ := 8;
|
|
nEd_ := 15;
|
|
end;
|
|
|
|
SetHelpImg(nCurIdx_);
|
|
SetImgBtn(imgBtnList, imgPrev, imgPrev.Tag);
|
|
SetImgBtn(imgBtnList, imgNext, imgNext.Tag);
|
|
SetImgBtn(imgBtnList2, imgClose, 0);
|
|
end;
|
|
|
|
procedure TDlgHelp.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
Action := caFree;
|
|
end;
|
|
|
|
procedure TDlgHelp.acExitExecute(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TDlgHelp.acNextExecute(Sender: TObject);
|
|
begin
|
|
SetHelpImg(nCurIdx_ + 1);
|
|
end;
|
|
|
|
procedure TDlgHelp.acPrevExecute(Sender: TObject);
|
|
begin
|
|
SetHelpImg(nCurIdx_ - 1);
|
|
end;
|
|
|
|
procedure TDlgHelp.SetHelpImg(nImgIdx: Integer);
|
|
begin
|
|
if (nImgIdx >= nSt_) and (nImgIdx <= nEd_) then
|
|
begin
|
|
imgMain.Picture.Assign(imgHelpList.Items[nImgIdx].PngImage);
|
|
nCurIdx_ := nImgIdx;
|
|
|
|
imgPrev.Visible := nCurIdx_ <> nSt_;
|
|
imgNext.Visible := nCurIdx_ <> nEd_;
|
|
end;
|
|
end;
|
|
|
|
procedure TDlgHelp.SetImgBtn(aImgList: TPngImageList; imgBtn: TImage; nImgIdx: Integer);
|
|
begin
|
|
aImgList.GetIcon(nImgIdx, imgBtn.Picture.Icon);
|
|
imgBtn.Repaint
|
|
end;
|
|
|
|
procedure TDlgHelp.imgCloseMouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|
SetImgBtn(imgBtnList2, imgClose, 2);
|
|
end;
|
|
|
|
procedure TDlgHelp.imgCloseMouseEnter(Sender: TObject);
|
|
begin
|
|
SetImgBtn(imgBtnList2, imgClose, 1);
|
|
end;
|
|
|
|
procedure TDlgHelp.imgCloseMouseLeave(Sender: TObject);
|
|
begin
|
|
SetImgBtn(imgBtnList2, imgClose, 0);
|
|
end;
|
|
|
|
procedure TDlgHelp.imgCloseMouseUp(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|
imgCloseMouseEnter(Sender);
|
|
end;
|
|
|
|
procedure TDlgHelp.imgMainMouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|
ReleaseCapture;
|
|
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
|
|
end;
|
|
|
|
procedure TDlgHelp.imgPrevMouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|
if Sender is TImage then
|
|
SetImgBtn(imgBtnList, TImage(Sender), TImage(Sender).Tag + 2);
|
|
end;
|
|
|
|
procedure TDlgHelp.imgPrevMouseEnter(Sender: TObject);
|
|
begin
|
|
if Sender is TImage then
|
|
SetImgBtn(imgBtnList, TImage(Sender), TImage(Sender).Tag + 1);
|
|
end;
|
|
|
|
procedure TDlgHelp.imgPrevMouseLeave(Sender: TObject);
|
|
begin
|
|
if Sender is TImage then
|
|
SetImgBtn(imgBtnList, TImage(Sender), TImage(Sender).Tag);
|
|
end;
|
|
|
|
procedure TDlgHelp.imgPrevMouseUp(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|
imgPrevMouseEnter(Sender);
|
|
end;
|
|
|
|
end.
|