http://q.cnblogs.com/q/32716/CSDN不能发图所以在博客园发布了问题。急。谢谢!

解决方案 »

  1.   

    可不可以通过WEBBROWSER来做呢?写一个DIV+CSS网页,里面加入JAVASCRIPT,修改只修改这个网页就好了,WEBBROWSER装入这个网页,DELPHI通过NAVGATE2来截取值,来网页的后缀改成其它应该也不会有什么问题,把WEBBROWSER改成DELPHI窗口样式,也看不出来
      

  2.   

    不过像那图上的效果,直接多建几个窗体就可以做出来了,当点击选择弹出选择窗口,双击选中返回值给EDIT
      

  3.   

    你这是BS的还是CS的?
    如果是CS的,可以通过计算控件的位置来实现!
      

  4.   


    就是点击选择弹出窗口然后选择地区。选择也是用的javascript。我做的理论上是对的但是执行到o.click就报错。 sInfo  := glExcel[giInfoID][strtoint(glModule[i].sCol)];
              strs := TStringList.Create;
              strs.Delimiter := '\';
              strs.DelimitedText := sInfo;
              for j := 0 to strs.Count - 1 do    // Iterate
              begin
                if j = 0 then
                begin
                  sValue := GetAreaName(strs[j]);
                  o := frm.all.item(glModule[i].sId + inttostr(j),0);
                  o.value := sValue;
                end
                else
                begin
                  v := web.OleObject.document.all.item('addSmsRegion',0);
                  v.Click;
                  sValue := GetAreaName(strs[j]);
                  o := frm.all.item(glModule[i].sId + inttostr(j),0);
                  o.value := sValue;
                end;
              end;上面是delphi代码。执行到v.click就不能继续执行了。
    addSmsRegion是选择按钮的id
      

  5.   

    ... all.item('');括号参数是name值,看看name是多少,ID可以用getElementByID
      

  6.   


    name和id的属性名是一样的。
      

  7.   

    name和id不一样。没有name这个属性。 只有id。如果要是获取id的话应该怎样呢?
      

  8.   

    记得是:web.OleObject.document.getElementByID('ID');
      

  9.   


    在网上查了下,web.oleobject.document.all.item('表單name或者ID').submit;
      或者:.web.oleobject.document.getelementbyid('對應的ID').click;
    是一样的吧?问题不在这里。