社区
网络及通讯开发
帖子详情
求助:关于CppWebBrowser
Hm1ly
2003-09-08 02:10:36
有两个问题现需要解决:
1,如果捕捉CppWebBrowser的OnClick,OnDBClick等标准事件,并用我自已的代码来处理它?
2,我自已写一个PopupMenu,怎么让CppWebBrowser的右键菜单换成我的菜单?
谢谢。
...全文
74
2
打赏
收藏
求助:关于CppWebBrowser
有两个问题现需要解决: 1,如果捕捉CppWebBrowser的OnClick,OnDBClick等标准事件,并用我自已的代码来处理它? 2,我自已写一个PopupMenu,怎么让CppWebBrowser的右键菜单换成我的菜单? 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
叶子哟
2003-09-08
打赏
举报
回复
需要加TApplicaitonevent控件
自定义菜单也可以用以上方法,在右键事件中处理,以下为另一种方法:
在.h中声明一下。
void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled);
在.cpp中添加以下。
void __fastcall TForm1::FormCreate(TObject *Sender)
{
OleInitialize(NULL);
Application->OnMessage=AppMessage;
}
void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled)
{
POINT p;
if(IsChild(WB->Handle, Msg.hwnd)&&(Msg.message==WM_RBUTTONDOWN||Msg.message==WM_RBUTTONDBLCLK))
{
GetCursorPos(&p);
PopupMenu1->Popup(p.x,p.y); //弹出自己的右键菜单,或者干脆什么也没有都行。
Handled=True;
}
}
叶子哟
2003-09-08
打赏
举报
回复
void __fastcall TfmMyBroswerMain::ApplicationEvents1Message(
tagMSG &Msg, bool &Handled)
{
static const char *web_browser_classname = "Internet Explorer_Server";
static int classname_len = strlen(web_browser_classname);
static char classname[MAX_PATH];
if(m_IsCloseAllNow)return; // 正在退出,不作处理
if(0 == this->MDIChildCount)return;
// 检查是否本窗口
HWND hParent;
HWND hWnd = GetParent(Msg.hwnd); // Shell DocObject_View
while(hWnd != NULL)
{
hParent = hWnd;
hWnd = GetParent(hParent);
}
if(hParent != Handle)
{
return;
}
TfmChildwin *fBrowser = GetActiveBrowserWindow();
if(fBrowser )
{
if(TabWindow->Handle == Msg.hwnd && WM_LBUTTONDBLCLK == Msg.message)
{
// TabControl控件的双击事件,关闭当前页面
Handled = true;
delete fBrowser;
if(this->MDIChildCount==0)
{
CreateBrowserWindow("about:blank");
}
return;
}
if(GetClassName(Msg.hwnd,classname,MAX_PATH) == classname_len)
{
// 判断是否TCppWebBrowser控件
//还差一个ctrl+Enter的事件无法处理。
if(0 == StrCmp(web_browser_classname,classname) && WM_KEYDOWN == Msg.message)
{
if(Msg.wParam == VK_RETURN)
{
if(!ComboBoxAddress->Focused())
{
fBrowser->SendSubmitToDocument();
Handled = true;
return;
}
}else
if(Msg.wParam == VK_TAB)
{
if(this->MDIChildCount > 1)
{
int CtrlDown=GetKeyState(VK_CONTROL);
CtrlDown=CtrlDown&0x80;
if(CtrlDown)
{
int Indx = TabWindow->TabIndex + 1;
if (Indx >= TabWindow->Tabs->Count)
{
Indx = 0;
}
TabWindow->TabIndex = Indx;
Handled=true;
return;
}
}
}else
if(Msg.wParam == VK_ESCAPE)
{
if(ActionFullScreen->Checked)
{
ActionFullScreen->Checked = false;
SetFullScreen(false);
Handled=true;
return;
}
}else
if((Msg.wParam == 's') || (Msg.wParam == 'S'))
{
int CtrlDown=GetKeyState(VK_CONTROL);
CtrlDown=CtrlDown&0x80;
if(CtrlDown)
{
ActionFileSaveAsExecute(NULL);
Handled=true;
return;
}
}
/*else
if((Msg.wParam == 's') || (Msg.wParam == 'S'))
{
int CtrlDown=GetKeyState(VK_CONTROL);
CtrlDown=CtrlDown&0x80;
if(CtrlDown)
{
ActionFileSaveAsExecute(NULL);
Handled=true;
return;
}
}
*/
}
}
}
}
求助
:关于vs2017的“LNK156:必须定义入口点”的解决方法
求助
:关于vs2017使用时出现的“必须定义入口的错误”问题 下载的新版vs2017第一次使用出现了这样的问题,以前还没遇到过,尝试了许多方法未能解决????????郁闷 希望知道的人可以解答一下方法 ...
程序员
求助
:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。...程序员
求助
:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹 一名程序员发帖
求助
到。二面腾讯,其中一个算法题:64匹马,8个跑道,选出最快的...
求助
:关于淘宝商品详情数据的抓取问题
突然想用python写个爬虫玩玩,淘宝的数据真是中诱惑,,最近抓取淘宝中商品的详细描述的时候遇到了点问题: 想用爬虫采集淘宝的商品详情,淘宝并没有把这些信息放到页面中(这货是故意的,,,),而是采用ajax的...
求助
:ValueError: too many values to unpack (expected 3)
求助
:ValueError: too many values to unpack (expected 3) 代码如下: 报错: 其中的zy.tsv文件为:
关于信噪比的确切含义——Eb/No和SNR的区别
求助
:关于信噪比的确切含义——Eb/No和SNR的区别 在《现代通信系统——使用matlab》一书中,一些调制方式的Monte Carlo仿真性能曲线中,横轴是用Eb/No来表示的,而matlab代码是用的却是SNR,很多人都说这两个...
网络及通讯开发
1,316
社区成员
8,873
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章