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

📄 gis.txt

📁 gis 试用版代码,delphi开发版,试用期限,三十天
💻 TXT
📖 第 1 页 / 共 4 页
字号:
        AddComboBoxColors(Controls[I] as TWinControl);  //递归调用
    end;
  end;
end;

/////////////////////////////////////////////////////////////////////
// Color comboboxes OnDrawItem 事件处理程序
/////////////////////////////////////////////////////////////////////
procedure TMainForm.DrawColorItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  ColorRect: TRect;
  OriginColor: TColor;
begin
  ColorRect := Classes.Rect(Rect.Left + 4,
                            Rect.Top + 2,
                            Rect.Right - 4,
                            Rect.Bottom - 2);
  with Control as TComboBox do
  begin
    Canvas.Brush.Color := TColor((Control as TComboBox).Items.Objects[Index]);
    OriginColor := Canvas.Brush.Color;
    Canvas.FillRect(ColorRect);
    if odFocused in State then
    begin
      Canvas.Brush.Color := clHighlight;
      Canvas.FillRect(Rect);
      Canvas.Brush.Color := OriginColor;
      Canvas.FillRect(ColorRect);
      Canvas.Pen.Color := clWindow;
    end else begin
      Canvas.Brush.Color := clWindow;
      Canvas.FillRect(Rect);
      Canvas.Brush.Color := OriginColor;
      Canvas.FillRect(ColorRect);
    end;
  end;
end;

////////////////////////////////////////////////////////////////////
// 切换监控状态
///////////////////////////////////////////////////////////////////
procedure TMainForm.sbnSingleClick(Sender: TObject);
begin
  if Sender = sbnSingle then
    ActiveGpsCtrl.MonitorType := MONITORTYPE_SINGLE
  else if Sender = sbnMulti then
    ActiveGpsCtrl.MonitorType := MONITORTYPE_MULTI
  else if Sender = sbnRegion then
    ActiveGpsCtrl.MonitorType := MONITORTYPE_AREA
  else
    ActiveGpsCtrl.MonitorType := MONITORTYPE_NOT
end;

/////////////////////////////////////////////////////////////////
// 去零漂
////////////////////////////////////////////////////////////////
procedure TMainForm.cbDisableMoveOnQuietClick(Sender: TObject);
begin
  GpsManager.DisableMoveOnQuiet := cbDisableMoveOnQuiet.Checked;
end;

/////////////////////////////////////////////////////////////////
// 去零漂速度限制
////////////////////////////////////////////////////////////////
procedure TMainForm.edtSpeedLimitChange(Sender: TObject);
begin
  try
    GpsManager.SpeedLimit := StrToInt(edtSpeedLimit.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 正常状态下目标名称的前景色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbNormalFgChange(Sender: TObject);
begin
  GpsManager.TargetNameNormalFontColor :=
      TColor(cbbNormalFg.Items.Objects[cbbNormalFg.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 正常状态下目标名称的背景色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbNormalBgChange(Sender: TObject);
begin
  GpsManager.TargetNameNormalFontColor :=
      TColor(cbbNormalBg.Items.Objects[cbbNormalBg.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 目标激活时目标名称的前景色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbActiveFgChange(Sender: TObject);
begin
  GpsManager.TargetNameActiveFontColor :=
      TColor(cbbActiveFg.Items.Objects[cbbActiveFg.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 目标激活时目标名称的背景色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbActiveBgChange(Sender: TObject);
begin
  GpsManager.TargetNameActiveBackColor :=
      TColor(cbbActiveBg.Items.Objects[cbbActiveBg.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 目标符号宽度
////////////////////////////////////////////////////////////////
procedure TMainForm.edtSymbolWidthChange(Sender: TObject);
begin
  try
    GpsManager.CarSymbolWidth := StrToInt(edtSymbolWidth.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 目标符号高度
////////////////////////////////////////////////////////////////
procedure TMainForm.edtSymbolHeightChange(Sender: TObject);
begin
  try
    GpsManager.CarSymbolHeight := StrToInt(edtSymbolHeight.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 目标名称显示位置
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbCaptionPosChange(Sender: TObject);
begin
  GpsManager.ShowCarNamePos :=
      Integer(cbbCaptionPos.Items.Objects[cbbCaptionPos.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 误差圈颜色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbErrCircleColorChange(Sender: TObject);
begin
  GpsManager.ErrRoundColor :=
      TColor(cbbErrCircleColor.Items.Objects[cbbErrCircleColor.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 误差圈半径
////////////////////////////////////////////////////////////////
procedure TMainForm.edtErrorCircleRadiusChange(Sender: TObject);
begin
  try
    GpsManager.ErrorRoundRadius := StrToInt(edtErrorCircleRadius.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 误差圈线宽度
////////////////////////////////////////////////////////////////
procedure TMainForm.edtErrorCircleWidthChange(Sender: TObject);
begin
  try
    GpsManager.ErrRoundWidth := StrToInt(edtErrorCircleWidth.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 自动换图
////////////////////////////////////////////////////////////////
procedure TMainForm.cbAutoChangeMapClick(Sender: TObject);
begin
  ActiveGpsCtrl.AutoChangeMap := Ord(cbAutoChangeMap.Checked);
end;

/////////////////////////////////////////////////////////////////
// 显示标尺
////////////////////////////////////////////////////////////////
procedure TMainForm.cbShowRulerClick(Sender: TObject);
begin
  ActiveGpsCtrl.ShowRuler := cbShowRuler.Checked;
end;

/////////////////////////////////////////////////////////////////
// 显示比例尺
////////////////////////////////////////////////////////////////
procedure TMainForm.cbShowScaleClick(Sender: TObject);
begin
  ActiveGpsCtrl.ShowScale := Ord(cbShowScale.Checked);
end;

/////////////////////////////////////////////////////////////////
// 显示影像图
////////////////////////////////////////////////////////////////
procedure TMainForm.cbShowImageClick(Sender: TObject);
begin
  ActiveGpsCtrl.ShowImage := cbShowImage.Checked;
end;

/////////////////////////////////////////////////////////////////
// 标尺前景色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbRulerColorFgChange(Sender: TObject);
begin
  GpsManager.RulerForeColor :=
      TColor(cbbRulerColorFg.Items.Objects[cbbRulerColorFg.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 标尺背景色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbRulerColorBgChange(Sender: TObject);
begin
  GpsManager.RulerBackColor :=
      TColor(cbbRulerColorBg.Items.Objects[cbbRulerColorBg.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 目标平滑移动
////////////////////////////////////////////////////////////////
procedure TMainForm.cbSmoothTargetClick(Sender: TObject);
begin
  ActiveGpsCtrl.SmoothPan := cbSmoothTarget.Checked;
end;

/////////////////////////////////////////////////////////////////
// 显示目标名称
////////////////////////////////////////////////////////////////
procedure TMainForm.cbShowTargetNameClick(Sender: TObject);
begin
  ActiveGpsCtrl.ShowTargetName := Ord(cbShowTargetName.Checked);
end;

/////////////////////////////////////////////////////////////////
// 显示轨迹
////////////////////////////////////////////////////////////////
procedure TMainForm.cbShowTailClick(Sender: TObject);
begin
  ActiveGpsCtrl.ShowTail := Ord(cbShowTail.Checked);
end;

/////////////////////////////////////////////////////////////////
// 显示误差圈
////////////////////////////////////////////////////////////////
procedure TMainForm.cbShowErrorCircleClick(Sender: TObject);
begin
  ActiveGpsCtrl.ShowErrorRound := Ord(cbShowErrorCircle.Checked);
end;

/////////////////////////////////////////////////////////////////
// 绝对运动
////////////////////////////////////////////////////////////////
procedure TMainForm.cbAbsoluteMoveClick(Sender: TObject);
begin
  ActiveGpsCtrl.MoveAbsolute := Ord(cbAbsoluteMove.Checked);
end;

/////////////////////////////////////////////////////////////////
// 道路匹配
////////////////////////////////////////////////////////////////
procedure TMainForm.cbMatchRoadClick(Sender: TObject);
begin
  ActiveGpsCtrl.GetRoad := Ord(cbMatchRoad.Checked);
end;

/////////////////////////////////////////////////////////////////
// 放大镜高度
////////////////////////////////////////////////////////////////
procedure TMainForm.edtMagnifierHChange(Sender: TObject);
begin
  try
    GpsManager.MagnifierHeight := StrToInt(edtMagnifierH.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 放大镜宽度
////////////////////////////////////////////////////////////////
procedure TMainForm.edtMagnifierWChange(Sender: TObject);
begin
  try
    GpsManager.MagnifierWidth := StrToInt(edtMagnifierW.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 放大镜倍数
////////////////////////////////////////////////////////////////
procedure TMainForm.edtMagnifierRatioChange(Sender: TObject);
begin
  try
    GpsManager.MagnifierTime := StrToInt(edtMagnifierRatio.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 轨迹点颜色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbPointColorChange(Sender: TObject);
begin
  GpsManager.TailLPointColor :=
      TColor(cbbPointColor.Items.Objects[cbbPointColor.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 轨迹线颜色
////////////////////////////////////////////////////////////////
procedure TMainForm.cbbLineColorChange(Sender: TObject);
begin
  GpsManager.TailLineColor :=
      TColor(cbbLineColor.Items.Objects[cbbLineColor.ItemIndex]);
end;

/////////////////////////////////////////////////////////////////
// 轨迹点半径
////////////////////////////////////////////////////////////////
procedure TMainForm.edtPointRadiusChange(Sender: TObject);
begin
  try
    GpsManager.TailPointSize := StrToInt(edtPointRadius.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 轨迹线宽度
////////////////////////////////////////////////////////////////
procedure TMainForm.edtLineWidthChange(Sender: TObject);
begin
  try
    GpsManager.TailLineWidth := StrToInt(edtLineWidth.Text);
  except
  end;
end;

/////////////////////////////////////////////////////////////////
// 显示轨迹线
////////////////////////////////////////////////////////////////
procedure TMainForm.cbShowTailLineClick(Sender: TObject);
begin
  GpsManager.ShowTailLine := Ord(cbShowTailLine.Checked);
end;

/////////////////////////////////////////////////////////////////
// 显示轨迹点
////////////////////////////////////////////////////////////////
procedure TMainForm.cbShowTailPointClick(Sender: TObject);
begin
  GpsManager.ShowTailPoint := Ord(cbShowTailPoint.Checked);
end;

/////////////////////////////////////////////////////////////////
// 模糊查询
////////////////////////////////////////////////////////////////
procedure TMainForm.btnQueryClick(Sender: TObject);
var
  I: Integer;
begin
  if edtQueryString.Text = '' then
    Exit;
  lbQueryResult.Items.Clear;

  (*********************************************************************************)
  (*               模糊查询                                                        *)
  PkgSelections := ActiveGpsCtrl.ControlInterface.QueryObscure(edtQueryString.Text);
  (*                                                                               *)
  (*********************************************************************************)

  //把查询结果加到列表框
  PkgSelections.Begin_;
  for I := 0 to PkgSelections.Count - 1 do
  begin
    lbQueryResult.Items.Add(PkgSelections.GetNext.Name);
  end;
end;

///////////////////////////////////////////////////////////////////////////////
// 查询结果显示
///////////////////////////////////////////////////////////////////////////////
procedure TMainForm.lbQueryResultClick(Sender: TObject);
var
  Selection: IRTPkgSelection;
begin
  if lbQueryResult.ItemIndex >= 0 then
  begin
    Selection := PkgSelections.GetSelectObject(lbQueryResult.ItemIndex);
    ActiveGpsCtrl.SelectPkgObj(Selection);
  end;

⌨️ 快捷键说明

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