好像胜天财务进销存一样,采用网页作为导航图,如何让上面的超链接成为按钮一样来执行事件?

解决方案 »

  1.   

    链接做在label上,加上下划线,鼠标一道上面就变形,在label的onclick事件添加代码,调用你想执行的程序
      

  2.   

    procedure TF_FORM1.Label1Click(Sender: TObject);
    begin
    winexec('calc.exe',SW_SHOWNORMAL);
    end;
      

  3.   

    给个思路,有个JScript的方法用于连接网页的各种事件和你程序的事件拦截:function ExecuteCmd(cmd)
    {
    var status=window.status;//备份原有状态栏文本
    window.status='#'+cmd;//触发OnStatusChanged事件
    window.status=status;//恢复原有状态栏文本
    }
    你在WebBrowser的OnStatusChanged事件里分析传入的Text,如果不是#开头的,则当作普通状态栏文本来刷新状态栏,否则则根据Text来做你要做的事情
    例如
    <a href="javascript:ExecuteCmd('link_OnClick')">点击这里</a>
    <input type="button" onclick="ExecuteCmd('button_OnClick')">
      

  4.   

    复杂但更好的方法是使用注册临时名字空间实现IInternetProtocol接口,
    并使用IInternetSession.RegisterNameSpace()注册.
      

  5.   

    //截获打开网页的事件,利用URL来区别处理(URL的格式可以自己扩充)~~
    procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
      const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
      Headers: OleVariant; var Cancel: WordBool);
    begin
      Cancel := True; //取消打开
      if URL = 'http://新建' then
      begin
        { TODO : 新建 }
      end else if URL = 'http://保存' then
      begin
        { TODO : 保存 }
      end else if URL = 'http://载入' then
      begin
        { TODO : 载入 }
      end else Cancel := False;
    end;