://解决CppWebBrowse的TextArea组件不能获取回车符的问题
来源:互联网 发布:中国域名总数 编辑:程序博客网 时间:2024/06/16 20:43
/******************************************************************************
*功能://解决CppWebBrowse的TextArea组件不能获取回车符的问题
*参数:
******************************************************************************/
typedef HRESULT (*LPFNOBJECTFROMLRESULT)(
LRESULT lResult,
REFIID riid,
WPARAM wParam,
void** ppvObject
);
LPFNOBJECTFROMLRESULT pfnObjectFromLRESULT = NULL;
void __fastcall TMainForm::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
try
{
if(Msg.message==WM_KEYDOWN && Msg.wParam==VK_RETURN ){
char buff[256];
GetClassName(Msg.hwnd,buff,256);
if(strcmp(buff,"Internet Explorer_Server") == 0){
if(!pfnObjectFromLRESULT){
static HINSTANCE hInst = ::LoadLibrary("OLEACC.DLL");
if(hInst){
pfnObjectFromLRESULT = (LPFNOBJECTFROMLRESULT)::GetProcAddress( hInst, "ObjectFromLresult" );
}
}
if (pfnObjectFromLRESULT ){
// 根据 HWND 获取 COM DOM 对象
IOleInPlaceActiveObject __RPC_FAR *iOIPAO = NULL;
LRESULT lRes;
UINT nMsg = ::RegisterWindowMessage("WM_HTML_GETOBJECT");
::SendMessageTimeout( Msg.hwnd, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&lRes );
HRESULT hr = pfnObjectFromLRESULT( lRes, __uuidof(IOleInPlaceActiveObject),0,(void**)&iOIPAO);
//Handled=(IsDialogMessage(Msg.hwnd,&Msg));
if ( SUCCEEDED(hr) && iOIPAO){
System::DelphiInterface<IHTMLDocument2> spDoc2;
System::DelphiInterface<IHTMLElement> spElement;
System::DelphiInterface<IHTMLTextAreaElement> spInputElement;
BSTR bstrInputElementName = NULL;
iOIPAO->QueryInterface(__uuidof(IHTMLDocument2), (void**)& spDoc2);
hr = spDoc2->get_activeElement(&spElement);
if(SUCCEEDED(hr) && spElement){
spElement->QueryInterface(IID_IHTMLTextAreaElement,(void**)&spInputElement);
if(spInputElement){
spInputElement->get_type(&bstrInputElementName);
iOIPAO->TranslateAccelerator(&Msg);
}
}
spDoc2.Release();
spElement.Release();
spInputElement.Release();
}
iOIPAO->Release();
}
}
}
}__finally
{}
}
- ://解决CppWebBrowse的TextArea组件不能获取回车符的问题
- textarea回车符问题
- 解决jsp中textarea 输入显示的问题( 包括回车、换行、空格 )
- 解决外部引用的js文件不能获取服务端组件的ClientID问题(c#)
- textarea回车的正常显示
- php获取textarea的值作为邮箱内容发出去不换行的问题处理,即回车换行的方法
- 解决无法获取组件大小的问题
- JQuery TextArea的取值与赋值问题---(textarea中回车清空,enter发送提交)
- 解决textarea不会自动换行的问题
- textarea保留空格和回车符的格式提交表单
- 解决 Ext tabPanel 下组件不能及时显示的问题
- 解决布局中组件不能放在底部的问题
- textarea里的回车和换行符与json里的回车和换行符
- TextArea是否自动加入回车的控制
- textarea保存原文的空格和回车
- php获取textarea的值并处理回车换行的方法
- 初学者常见问题----解决scanf接收多余回车符的问题
- php-解决回车换行符的转换问题-nl2…
- ClearQuest+ClearCase+Jazz+RTC宣讲会后的一些个人记录
- Spring 管理Struts2 Action
- session过期设置
- C# 操作word(转)
- Gridview,DataList,Repeater分别在什么情况下使用。
- ://解决CppWebBrowse的TextArea组件不能获取回车符的问题
- Open Inventor 简介
- 让tomcat在页面上重启
- WIN7 安装OFFICE2003 桌面右键新建没有WORD EXCEL PPT三样的解决方法
- 一个项目涉及到的50个Sql语句
- 24GHZ雷达传感器在交通测速领域的运用案例
- 【面试题】约瑟夫环 递归解决 n个人站一圈 真够无聊的~!
- str == null str.length == 0 "".equals(str)
- Google的鲜花绽放在互联网的天际 !