亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainmapform.~pas

?? Mapx Delphi 用于地圖對象編輯的設置與開發
?? ~PAS
字號:
unit mainMapForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  OleCtrls, Menus, StdCtrls, ComObj, MapXLib_TLB;

type
  TMainMap = class(TForm)
    MainMenu1: TMainMenu;
    FileMenuItem: TMenuItem;
    exitMenuItem: TMenuItem;
    layersMenuItem: TMenuItem;
    layerControlMenuItem: TMenuItem;
    addNewLayerMenuItem: TMenuItem;
    toolsMenuItem: TMenuItem;
    panToolMenuItem: TMenuItem;
    zoomInToolMenuItem: TMenuItem;
    selectToolMenuItem: TMenuItem;
    editLyrCombo: TComboBox;
    editLayerLabel: TLabel;
    drawToolsMenuItem: TMenuItem;
    lineSubMenuItem: TMenuItem;
    pointSubMenuItem: TMenuItem;
    polygonSubMenuItem: TMenuItem;
    polylineSubMenuItem: TMenuItem;
    stylesMenuItem: TMenuItem;
    symbolStyleMenuItem: TMenuItem;
    lineStyleMenuItem: TMenuItem;
    regionStyleMenuItem: TMenuItem;
    infoMenuItem: TMenuItem;
    Objects1: TMenuItem;
    DeleteSelection1: TMenuItem;
    zoomOutToolMenuItem: TMenuItem;
    BufferSelection1: TMenuItem;
    ftrLayerCombo: TComboBox;
    lblFtrLayer: TLabel;
    CombineSelection1: TMenuItem;
    Map1: TMap;
    procedure layerControlMenuItemClick(Sender: TObject);
    procedure exitMenuItemClick(Sender: TObject);
    procedure addNewLayerMenuItemClick(Sender: TObject);
    procedure panToolMenuItemClick(Sender: TObject);
    procedure zoomInToolMenuItemClick(Sender: TObject);
    procedure selectToolMenuItemClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure editLyrComboChange(Sender: TObject);
    procedure pointSubMenuItemClick(Sender: TObject);
    procedure lineSubMenuItemClick(Sender: TObject);
    procedure polylineSubMenuItemClick(Sender: TObject);
    procedure polygonSubMenuItemClick(Sender: TObject);
    procedure symbolStyleMenuItemClick(Sender: TObject);
    procedure lineStyleMenuItemClick(Sender: TObject);
    procedure regionStyleMenuItemClick(Sender: TObject);
    procedure Map1ToolUsed(Sender: TObject; ToolNum: Smallint; X1, Y1, X2,
      Y2, Distance: Double; Shift, Ctrl: Wordbool;
      var EnableDefault: Wordbool);
    procedure infoMenuItemClick(Sender: TObject);
    procedure DeleteSelection1Click(Sender: TObject);
    procedure zoomOutToolMenuItemClick(Sender: TObject);
    procedure BufferSelection1Click(Sender: TObject);
    procedure ftrLayerComboChange(Sender: TObject);
    procedure CombineSelection1Click(Sender: TObject);
    procedure Map1PolyToolUsed(Sender: TObject; ToolNum: Smallint;
      Flags: Integer; Points: IDispatch; bShift, bCtrl: WordBool;
      var EnableDefault: WordBool);
  private
    { Private declarations }
    procedure upDate_EditCombo;
  public
    { Public declarations }
  end;

var
  MainMap: TMainMap;
  // Layer variable to hold current edit layer
  EditLayer : Variant;
  // Global value to hold selected feature for Info Tool
  infoFeature : Variant;
  // Layer variable to hold current feature layer
  ftrLayer : Variant;

Const
     // Custom Tool Constants
     CUSTOM_POINT_TOOL = 1;
     CUSTOM_LINE_TOOL = 2;
     CUSTOM_POLYGON_TOOL = 3;
     CUSTOM_POLYLINE_TOOL = 4;

     CUSTOM_INFO_TOOL = 9;
     CUSTOM_SELECT_TOOL = 10;

implementation

uses newLayerDialog, featureInfo;

{$R *.DFM}

procedure TMainMap.layerControlMenuItemClick(Sender: TObject);
var
   unusedParam: OleVariant;
begin
     TVarData(unusedParam).vType := varError;
     TVarData(unusedParam).vError := 2147614724; // DISP_E_PARAMNOTFOUND;
     // Display the Stock MapX Layer Control Dialog
     Map1.Layers.LayersDlg(unusedParam, unusedParam);
     upDate_EditCombo;
end;

procedure TMainMap.exitMenuItemClick(Sender: TObject);
begin
     Close;
end;

procedure TMainMap.addNewLayerMenuItemClick(Sender: TObject);
begin
     // Display form to add a new layer
     newLayerForm.ShowModal;
     upDate_EditCombo;
end;

procedure TMainMap.panToolMenuItemClick(Sender: TObject);
begin
     // Make Pan tool the current tool
     map1.currentTool := miPanTool;
end;

procedure TMainMap.zoomInToolMenuItemClick(Sender: TObject);
begin
     // Make Zoom In tool current Tool
     map1.currentTool := miZoomInTool;
end;

procedure TMainMap.selectToolMenuItemClick(Sender: TObject);
begin
     // Make Selection Tool the current tool
     map1.currentTool := miSelectTool;
end;

procedure TMainMap.FormActivate(Sender: TObject);
var empty: Variant;
begin
     // Create custom tools and update combo box control
     upDate_EditCombo;
     TVarData(empty).vType := varError;
     TVarData(empty).vError := 2147614724; // DISP_E_PARAMNOTFOUND;
     Map1.CreateCustomTool(CUSTOM_POINT_TOOL, miToolTypePoint, miSymbolCursor, miArrowCursor, miArrowCursor, empty);
     Map1.CreateCustomTool(CUSTOM_LINE_TOOL, miToolTypeLine, miCrossCursor, miArrowCursor, miArrowCursor, empty);
     Map1.CreateCustomTool(CUSTOM_POLYGON_TOOL, miToolTypePoly, miCrossCursor, miArrowCursor, miArrowCursor, empty);
     Map1.CreateCustomTool(CUSTOM_POLYLINE_TOOL, miToolTypePoly, miCrossCursor, miArrowCursor, miArrowCursor, empty);
     Map1.CreateCustomTool(CUSTOM_INFO_TOOL, miToolTypePoint, miCrossCursor, miArrowCursor, miArrowCursor, empty);
end;

procedure TMainMap.upDate_EditCombo;
var i : integer;
begin
     // Loop through all layers and put their names in the combo box
     // Set editing layer to be first layer in list
     editLyrCombo.Clear;
     ftrLayerCombo.Clear;
     for i := 1 to Map1.Layers.Count do
       begin
         editLyrCombo.Items.Add(Map1.Layers.Item[i].Name);
         ftrLayerCombo.Items.Add(Map1.Layers.Item[i].Name);
       end;
     EditLyrCombo.ItemIndex := 0;
     ftrLayerCombo.ItemIndex := 0;
     EditLayer := Map1.Layers.Item[editLyrCombo.Text];
     ftrLayer := Map1.Layers.Item[ftrLayerCombo.Text];
end;

procedure TMainMap.editLyrComboChange(Sender: TObject);
begin
     //Reset edit layer after change
     EditLayer := Map1.Layers.Item[editLyrCombo.Text];
end;

procedure TMainMap.pointSubMenuItemClick(Sender: TObject);
begin
     // Set current tool to be point tool
     Map1.CurrentTool := CUSTOM_POINT_TOOL;
end;

procedure TMainMap.lineSubMenuItemClick(Sender: TObject);
begin
     // Set current tool to be line tool
     Map1.CurrentTool := CUSTOM_LINE_TOOL;
end;

procedure TMainMap.polylineSubMenuItemClick(Sender: TObject);
begin
     // Set current tool to be polyLine tool
     Map1.CurrentTool := CUSTOM_POLYLINE_TOOL;
end;

procedure TMainMap.polygonSubMenuItemClick(Sender: TObject);
begin
     // Set current tool to be polygon tool
     Map1.CurrentTool := CUSTOM_POLYGON_TOOL;
end;

procedure TMainMap.symbolStyleMenuItemClick(Sender: TObject);
begin
     Map1.DefaultStyle.PickSymbol;
end;

procedure TMainMap.lineStyleMenuItemClick(Sender: TObject);
begin
     Map1.DefaultStyle.PickLine;
end;

procedure TMainMap.regionStyleMenuItemClick(Sender: TObject);
begin
     Map1.DefaultStyle.PickRegion;
end;

procedure TMainMap.Map1ToolUsed(Sender: TObject; ToolNum: Smallint; X1, Y1,
  X2, Y2, Distance: Double; Shift, Ctrl: Wordbool;
  var EnableDefault: Wordbool);

var
    newObj : Variant; // Used for storing new feature object
    pt : Variant;     // Used for storing point of click
    pts : Variant;    // Used for storing collection of points
    ftrs : Variant;   // Used for storing collection of features
begin
     Case ToolNum of
        CUSTOM_POINT_TOOL :
        // Set feature type to be a symbol, set its style & XY values.
        // Add it to editing layer
           begin
              pt := CreateOleObject('MapX.Point.5');
              pt.Set(X1, Y1);

              newObj := Map1.FeatureFactory.CreateSymbol(pt, Map1.DefaultStyle);
              EditLayer.AddFeature(newObj);
           end;
        CUSTOM_LINE_TOOL :
           begin
           // Create new point object and points collection object
              pts := CreateOleObject('MapX.Points.5');
           // set Point obect to click 1 and add it to collection
              pts.AddXY(X1, Y1);
           // set Point obect to click 2 and add it to collection
              pts.AddXY(X2, Y2);
           // Create the line & add feature to layer
              newObj := Map1.FeatureFactory.CreateLine(pts, Map1.DefaultStyle);
              EditLayer.AddFeature(newObj);
           // UnAssign Variant Variables
              VarClear(pts);
           end;
        CUSTOM_INFO_TOOL :
           begin
           // Create point object and set it to click XY
              pt := CreateOleObject('MapX.Point.5');
              pt.Set(X1,Y1);
           // Perform a search at click point
              Ftrs := EditLayer.SearchAtPoint(pt);
           // If one feature selected, assign it to infoFeature and call the
           // Information form
              if Ftrs.Count = 1 Then
                 begin
                    infoFeature := Ftrs.Item[1];
                    featureInfoForm.ShowModal;
                 end;
           // UnAssign Variant Variable
              VarClear(pt);
           end;
        CUSTOM_SELECT_TOOL :
           //Make selection on feature layer
             if (ctrl) then
               ftrLayer.Selection.SelectByPoint(X1, Y1, miSelectionAppend)
             else if (Shift) then
               ftrLayer.Selection.SelectByPoint(X1, Y1, miSelectionRemove)
             else
               ftrLayer.Selection.SelectByPoint(X1, Y1, miSelectionNew);
     end;//Case
     // UnAssign Variant Variable
     VarClear(newObj);
end;

procedure TMainMap.infoMenuItemClick(Sender: TObject);
begin
     // Set current tool to be Information Tool
     Map1.CurrentTool := CUSTOM_INFO_TOOL;
end;

procedure TMainMap.DeleteSelection1Click(Sender: TObject);
begin
     try
        if editLayer.selection.count = 1 then
           begin
              editLayer.deleteFeature(editLayer.selection.item[1]);
              editLayer.selection.clearSelection;
           end;
     Except on E:Exception do ShowMessage(E.message);
     end;
end;

procedure TMainMap.zoomOutToolMenuItemClick(Sender: TObject);
begin
     // Set active tool to be the zoom Out tool
     Map1.CurrentTool := miZoomOutTool;
end;

procedure TMainMap.BufferSelection1Click(Sender: TObject);
Var
   selItems : Variant;
   newFeature : Variant;
begin
     selItems := ftrLayer.Selection;
     case selItems.Count of
       0:  Exit;
       1:  newFeature := Map1.FeatureFactory.BufferFeatures(selItems.Item[1], 10, miUnitMile, 20);
       else
           newFeature := Map1.FeatureFactory.BufferFeatures(selItems, 10, miUnitMile, 20);
     end;
     editLayer.AddFeature(newFeature);
end;

procedure TMainMap.ftrLayerComboChange(Sender: TObject);
begin
     //Reset Feature layer after change
     ftrLayer := Map1.Layers.Item[ftrLayerCombo.Text];
end;

procedure TMainMap.CombineSelection1Click(Sender: TObject);
Var
   selItems : Variant;
   newFeature : Variant;
begin
     selItems := ftrLayer.Selection;
     if selItems.Count > 1 then
       begin
         newFeature := Map1.FeatureFactory.CombineFeatures(selItems.Item[1], selItems.Item[2]);
         editLayer.AddFeature(newFeature);
       end;
end;

procedure TMainMap.Map1PolyToolUsed(Sender: TObject; ToolNum: Smallint;
  Flags: Integer; Points: IDispatch; bShift, bCtrl: WordBool;
  var EnableDefault: WordBool);
var newObj : Variant;

begin
    {***********************************************
     Due to an apparent bug in Delphi 2.0, the double
     click event is not be sent properly to the OCX.
     The SpaceBar or Enter key can be used as a double
     click replacement
    ************************************************}
    If Not (editLayer.Type = miLayerTypeUserDraw) Then
       If Flags = miPolyToolBegin Then
          //Someone's beginning the use of a PolyTool...
       Else
          If Flags = miPolyToolEnd Then
             begin
                //The user finished using a PolyTool by double clicking
                Case ToolNum of
                   CUSTOM_POLYGON_TOOL :
                      begin
                         // Make a new
                         // region feature and add it to the first layer!
                         newObj := Map1.FeatureFactory.CreateRegion(points, Map1.DefaultStyle);
                         EditLayer.AddFeature(newObj);
                      end;
                   CUSTOM_POLYLINE_TOOL :
                      begin
                         // They used MY_POLYLINE_TOOL! Make a new
                         // line feature and add it to the first layer!
                         newObj := Map1.FeatureFactory.CreateLine(points, Map1.DefaultStyle);
                         EditLayer.AddFeature(newObj);
                      end;
                end;//Case
             end
          Else If Flags = miPolyToolEndEscaped then
               // The users hit 'Esc' or backspaced all the nodes
               // away... don't add anything in.

end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产中文字幕在线视频综合| 精品久久国产字幕高潮| 欧美日韩在线一区二区| 777奇米四色成人影色区| 精品国产乱码久久久久久牛牛| 国产婷婷色一区二区三区四区 | www.在线欧美| 欧美三片在线视频观看| 欧美不卡一区二区三区四区| 国产欧美日韩在线| 亚洲国产综合在线| 国产精品亚洲人在线观看| 一本久久综合亚洲鲁鲁五月天| 91精品国产综合久久精品图片| 久久亚洲影视婷婷| 一个色综合av| 国产综合久久久久久鬼色| 色综合久久中文字幕综合网| 日韩欧美国产午夜精品| 国产精品久线在线观看| 日韩精彩视频在线观看| 成人白浆超碰人人人人| 538在线一区二区精品国产| 欧美精彩视频一区二区三区| 午夜精品国产更新| 菠萝蜜视频在线观看一区| 欧美一级久久久| 亚洲另类在线制服丝袜| 国产成人一级电影| 欧美一区午夜精品| 亚洲男女一区二区三区| 国产美女主播视频一区| 91麻豆精品国产91| 亚洲日本在线视频观看| 国内精品国产成人国产三级粉色| 欧美亚洲国产bt| 国产精品三级av在线播放| 毛片不卡一区二区| 欧美视频三区在线播放| 国产精品白丝在线| 国产毛片精品视频| 91精品国产综合久久精品性色| 亚洲欧美电影院| 粉嫩嫩av羞羞动漫久久久| 欧美v亚洲v综合ⅴ国产v| 亚洲成年人网站在线观看| av男人天堂一区| 久久精品免视看| 久久99久久久久| 5566中文字幕一区二区电影| 亚洲图片一区二区| 91小宝寻花一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w| 五月婷婷综合网| 欧美日韩一区二区在线观看| 亚洲免费在线观看| av福利精品导航| 国产精品理伦片| 成人av网站在线观看免费| 久久久夜色精品亚洲| 精久久久久久久久久久| 日韩一区二区电影在线| 日韩中文字幕av电影| 欧美无人高清视频在线观看| 亚洲精品网站在线观看| 91网站最新地址| 中文字幕在线一区免费| 高清日韩电视剧大全免费| 久久精品视频网| 国产剧情一区二区| 久久久久成人黄色影片| 国产盗摄精品一区二区三区在线| 久久综合狠狠综合| 国产又粗又猛又爽又黄91精品| 精品成人a区在线观看| 看国产成人h片视频| 精品日韩一区二区三区免费视频| 免费成人在线观看视频| 精品动漫一区二区三区在线观看| 色综合一区二区三区| 中文字幕精品一区| jlzzjlzz亚洲女人18| |精品福利一区二区三区| 色婷婷av一区二区三区之一色屋| 亚洲老妇xxxxxx| 欧美亚洲日本国产| 日本不卡123| 亚洲精品在线观看视频| 国产精品123| 国产精品乱码人人做人人爱| 成人app下载| 一区二区在线观看免费| 欧美日韩国产123区| 蜜臀av一区二区| 国产视频不卡一区| 91丨porny丨国产| 亚洲国产成人porn| 日韩欧美一区二区免费| 成人视屏免费看| 亚洲日本在线天堂| 欧美一二三四区在线| 国产伦精品一区二区三区在线观看| 亚洲国产电影在线观看| 日本韩国欧美国产| 日本人妖一区二区| 国产婷婷色一区二区三区| 色综合久久88色综合天天免费| 亚洲成va人在线观看| 欧美大片一区二区| av激情综合网| 三级影片在线观看欧美日韩一区二区| 亚洲精品在线电影| 91小宝寻花一区二区三区| 暴力调教一区二区三区| 日本欧美大码aⅴ在线播放| 欧美精品一区二区三区在线| 成人午夜又粗又硬又大| 夜夜夜精品看看| 日韩精品一区二区三区在线播放| 粉嫩在线一区二区三区视频| 午夜精品福利一区二区三区蜜桃| 久久久无码精品亚洲日韩按摩| 色综合久久综合网97色综合| 蜜臀国产一区二区三区在线播放| 国产精品初高中害羞小美女文| 91.xcao| 99久久99久久久精品齐齐| 日韩精品色哟哟| 国产欧美一区二区三区在线看蜜臀| 欧美色国产精品| 国产iv一区二区三区| 日韩在线一区二区三区| 日韩理论片网站| 精品国产精品网麻豆系列| 欧美曰成人黄网| 国产成人午夜视频| 免费精品视频在线| 一区二区三区美女| 国产午夜精品在线观看| 6080yy午夜一二三区久久| 99vv1com这只有精品| 国内外精品视频| 日韩二区三区四区| 亚洲一线二线三线久久久| 中文在线免费一区三区高中清不卡| 欧美丰满嫩嫩电影| 色婷婷av一区二区三区gif| 国产很黄免费观看久久| 久久精品国产99国产精品| 亚洲风情在线资源站| 成人免费在线视频| 爽爽淫人综合网网站| 久久久精品国产免大香伊| 在线免费亚洲电影| 国产sm精品调教视频网站| 久久99久久精品| 日韩av不卡在线观看| 亚洲一区视频在线| 国产精品高潮久久久久无| 久久综合色婷婷| 欧美成人精品福利| 91精品欧美一区二区三区综合在 | 欧美精品一区二区三区蜜桃视频| 欧美亚一区二区| 91色九色蝌蚪| 成人黄色在线视频| 国产麻豆精品久久一二三| 欧美午夜电影在线播放| 91麻豆国产福利精品| 成人av午夜影院| 成人激情视频网站| 国产成人精品一区二区三区四区| 美美哒免费高清在线观看视频一区二区| 欧美xxxxxxxx| 日韩精品久久理论片| 国产亚洲短视频| 99久久精品免费看| 成人激情电影免费在线观看| 国产原创一区二区| 国产风韵犹存在线视精品| 国产在线精品视频| 国产精品一区二区三区乱码| 国产一区欧美二区| 国产成人av电影在线| 国产99精品在线观看| 波多野结衣亚洲一区| yourporn久久国产精品| 一本大道久久精品懂色aⅴ| 91论坛在线播放| 欧美在线播放高清精品| 欧美日韩国产色站一区二区三区| 欧美午夜不卡视频| 欧美一区午夜精品| 久久午夜免费电影| 国产精品天干天干在线综合| 中文字幕一区二区三区不卡| 亚洲三级电影全部在线观看高清| 亚洲麻豆国产自偷在线| 亚洲一区二区三区四区不卡| 日韩成人dvd|