線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1795
推到 Plurk!
推到 Facebook!

如何讓在 webbrowser 中按右鍵不要有作用

答題得分者是:hagar
smallma
一般會員


發表:8
回覆:11
積分:3
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-03 02:48:08 IP:211.75.xxx.xxx 未訂閱
小弟寫了一個程式中內有 webbrowser,寫好之後發現在裡面按右鍵,會像一般的 ie 一樣出現 ie 的 popupmenu,可是這樣使用者如果按下"內容",就會知道那個webbrowser的網址了,為保密起見,請問要如何讓ie的popupmenu不要出現,或是換成我們自已用的popupmenu,或是msgbox
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-03 08:30:24 IP:202.39.xxx.xxx 未訂閱
http://www.d-tnt.co.uk/readArticle.asp?id=3691&pg=2&cat=Internet&page=/delphitips.asp
unit  Unit1;    interface    uses
  Windows,  Messages,  SysUtils,  Classes,  Graphics,  Controls,  Forms,  Dialogs,  StdCtrls,  OleCtrls,  SHDocVw_TLB;    type
  TForm1  =  class(TForm)
    WebBrowser1:  TWebBrowser;
    procedure  MessageLoop(var  Msg:TMsg;var  Handled:Boolean);
    procedure  FormCreate(Sender:  TObject);      private
      {  Private  declarations  }
  public
      {  Public  declarations  }
  end;    var
  Form1:  TForm1;    implementation    {$R  *.DFM}
procedure  TForm1.MessageLoop(var  Msg:  TMsg;  var  Handled:  Boolean);
begin
if  (Msg.Message  =  WM_RBUTTONDOWN)  or  (Msg.Message  =  WM_RBUTTONUP)  then
handled:=True
    else  Handled  :=  False
end;
end;    procedure  TForm1.FormCreate(Sender:  TObject);
begin
Application.OnMessage  :=  MessageLoop;
end;
end.    //Send  by  Dennis
--- 屬於那自己生命的歌 不管是什麼顏色
smallma
一般會員


發表:8
回覆:11
積分:3
註冊:2003-03-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-03 10:16:48 IP:211.75.xxx.xxx 未訂閱
完全正確,太感謝了
smallma
一般會員


發表:8
回覆:11
積分:3
註冊:2003-03-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-03 11:23:13 IP:211.75.xxx.xxx 未訂閱
又出問題了: 在這樣做之後,發現不止twebbrowser,整個程式中其他的popupmenu都不動作了,要怎麼辦呢???
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-03 11:33:36 IP:202.39.xxx.xxx 未訂閱
http://www.swissdelphicenter.ch/en/showcode.php?id=571
var 
  HookID: THandle;     function MouseProc(nCode: Integer; wParam, lParam: Longint): Longint; stdcall; 
var 
  szClassName: array[0..255] of Char; 
const 
  ie_name = 'Internet Explorer_Server'; 
begin 
  case nCode < 0 of 
    True: 
      Result := CallNextHookEx(HookID, nCode, wParam, lParam) 
      else 
        case wParam of 
          WM_RBUTTONDOWN, 
          WM_RBUTTONUP: 
            begin 
              GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND, szClassName, SizeOf(szClassName)); 
              if lstrcmp(@szClassName[0], @ie_name[1]) = 0 then 
                Result := HC_SKIP 
              else 
                Result := CallNextHookEx(HookID, nCode, wParam, lParam); 
            end 
            else 
              Result := CallNextHookEx(HookID, nCode, wParam, lParam); 
        end; 
  end; 
end;     procedure TForm1.FormCreate(Sender: TObject); 
begin 
  HookID := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId()); 
end;     procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  if HookID <> 0 then 
    UnHookWindowsHookEx(HookID); 
end;     procedure TForm1.Button1Click(Sender: TObject); 
begin 
  Webbrowser1.Navigate('http://www.google.com'); 
end;     
--- 屬於那自己生命的歌 不管是什麼顏色
系統時間:2024-05-13 8:21:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!