⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmapchild.pas

📁 ProviceSystem-公积金监管系统中心端
💻 PAS
字号:
unit frmMapChild;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, uNodeLabel, StdCtrls, ComCtrls, ExtCtrls, ImgList, ToolWin, JPEG,
  AppEvnts, SOAPHTTPTrans;

type
  TmapChild = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ImageList1: TImageList;
    ImageList2: TImageList;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    imgMap: TImage;
    tvInfo: TTreeView;
    ImageList3: TImageList;
    AppEvents: TApplicationEvents;
    procedure FormCreate(Sender: TObject);
    procedure tvInfoChange(Sender: TObject; Node: TTreeNode);
    procedure FormDestroy(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure Panel2DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure Panel3DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure tvInfoClick(Sender: TObject);
    procedure AppEventsException(Sender: TObject; E: Exception);
  private
    procedure LoadDsInfo;
    procedure LabelMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure LoadNodeList;
    { Private declarations }
  public
    { Public declarations }
    iNode: Smallint;
    procedure LabelClick(Sender: TObject);
    procedure RefreshNode;
  published
  end;

var
  mapChild: TmapChild;
  aNode: ANodeLabel;
implementation

{$R *.dfm}
uses uDMFunc, uConstUtils, uVarUtils;

procedure TmapChild.FormCreate(Sender: TObject);
var
  sCaption, sFile: String;
begin
  SetLength(aNode,0);
  sFile := ExtractFilePath(application.ExeName)+PMainMapFile;

  if pubReLoadMainMap then
    ReadMainMap(sCaption,sFile);
  if FileExists(sFile) then
  try
    imgMap.Picture.LoadFromFile(sFile);
  except
    application.MessageBox('主地图文件格式不正确,不能装载!',PMsgCaption,48);
  end;
{
  ReadMainMap(sCaption,sFile);
  imgMap.Picture.LoadFromFile(sFile);
}
  LoadDsInfo;
end;


procedure TmapChild.LabelClick(Sender: TObject);
begin

end;

procedure TmapChild.LabelMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  iNode := IndexOfNodeLabel(aNode,(sender as TNodeLabel));
  tvInfo.Select(tvInfo.Items[iNode]);
  RefreshNode;
end;

procedure TmapChild.LoadDsInfo;
var
  i,l: smallint;
begin
  DsInfo(aNode,ExtractFilePath(Application.ExeName),Panel3,Self);
  l:= High(aNode);
  for i:=0 to l do
  begin
    aNode[i].OnClick := LabelClick;
    aNode[i].OnMouseDown := LabelMouseDown;
    if copy(pubLoginSsds,i+1,1)='1' then
      aNode[i].Enabled := True
    else
      aNode[i].Enabled := False;
  end;
  LoadNodeList;
end;

procedure TmapChild.LoadNodeList;
var
  i, iC: Integer;
begin
  iC := High(aNode);
  tvInfo.Items.Clear;
  for i:=0 to iC do
  begin
    tvInfo.Items.Add(nil, aNode[i].Number +' :  '+ aNode[i].Caption);
    tvInfo.Items[i].ImageIndex :=2;
    tvInfo.Items[i].SelectedIndex :=3;
  end;
end;

procedure TmapChild.RefreshNode;
begin

end;

procedure TmapChild.tvInfoChange(Sender: TObject; Node: TTreeNode);
begin
  tvInfo.Select(Node);
  if aNode[tvInfo.Selected.Index].Enabled then
  begin
    iNode := tvInfo.Selected.Index;
    RefreshNode;
  end
  else
  begin
    tvInfo.Select(tvInfo.Items[iNode]);
  end;

end;

procedure TmapChild.FormDestroy(Sender: TObject);
var
  i: smallint;
begin
  for i:=0 to high(aNode) do
    aNode[i].Free;
  setlength(aNode,0);
end;

procedure TmapChild.FormResize(Sender: TObject);
var
  i,l: smallint;
begin
  l := High(aNode);
  for i:=0 to l do
  begin
     aNode[i].Left := round(aNode[i].Parent.Width*aNode[i].X /aNode[i].ParentWidth);
     aNode[i].Top := round(aNode[i].Parent.Height*aNode[i].Y /aNode[i].ParentHeight);
  end;
end;

procedure TmapChild.Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if (source=panel2) then
  begin
    accept:=true;
    panel1.Width :=x;
  end
  else
    accept:=false;
  Resize;
end;

procedure TmapChild.Panel2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if source=sender then
    accept:=true
  else
    accept:=false;
end;

procedure TmapChild.Panel3DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if (source=panel2) then
  begin
    accept:=true;
    panel1.Width :=panel1.Width+x;
  end
  else
    accept:=false;
  Resize;
end;

procedure TmapChild.tvInfoClick(Sender: TObject);
begin
  if aNode[tvInfo.Selected.Index].Enabled then
  begin
    iNode := tvInfo.Selected.Index;
  end
  else
    tvInfo.Select(tvInfo.Items[iNode]);

{  if aNode[iNode].Font.color <> clRed then
    aNode[iNode].Font.color := clRed
  else
    aNode[iNode].Font.color := clBlack;
}
end;

procedure TmapChild.AppEventsException(Sender: TObject;
  E: Exception);
begin
  if (E is ESOAPHTTPException) then
  begin
    AppLication.MessageBox('无法连接指定WebService服务器,请检查网络是否已连接及设置是否正确',PMsgCaption,64);
//    exit;
  end
  else
    inherited;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -