打印本文 打印本文 关闭窗口 关闭窗口
MapX使用数据库数据添加专题图(系列之三)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1744  更新时间:2009/4/23 18:34:06  文章录入:mintao  责任编辑:mintao
;
    ds := mapMain.Datasets.Add(12,
                               aqThemes.Recordset,
                               str,
                               ''''ID'''',
                               EmptyParam,
                               oBLayer,
                               EmptyParam,
                               EmptyParam);
    {组织专题图现实的数据字段,存储在字符串数组中}
    SetLength(flds,aqThemes.Fields.Count - 3);
    for i:=3 to aqThemes.Fields.Count - 1 do
    begin
      flds[i - 3] := aqThemes.Fields.Fields[i].FieldName;
    end;
    {实际添加专题图的过程}
    thm := ds.Themes.Add(style,flds,DefaultName,EmptyParam);
    {设置专题图图例标题}
    thm.Legend.Title := TheName;
    {记录新添加的专题图名称}
    ThemesList.Add(str);
    {btnDeleteThemes是一个在本窗口上的按钮,用来删除专题图,
     添加专题图后就将他显示出来,如果删除了全部专题图就将他隐藏}
    btnDeleteThemes.Visible := true;
  except
    GiveMsg(''''创建专题图失败!'''');{自定义过程,给出出错提示}
  end;
end;
 
{
        删除专题图,我采用的方法是删除所有专题图
}
procedure TfrmMain.ToDeleteThemes;
var
  i : integer;  {循环变量}
begin
  for i:=0 to ThemesList.Count-1 do{循环所有添加了的专题图}
  begin
    {删除数据集}
    mapMain.Datasets.Remove(ThemesList.Strings[i]);
    {删除专题图}
    mapMain.Layers.Remove(ThemesList.Strings[i]);
    {如果只想删除某一个专题图,不用循环就行了}
  end;
  {此时已经没有专题图了,将删除专题图按钮隐藏}
  btnDeleteThemes.Visible := false;
  {清除专题图名称列表}
  ThemesList.Clear;
end;
 
//...
 
end.

 

杨雨田 blue_bat@126.com

二零零四年八月二日

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口