Socrates的专栏

-----C/VC/SQL SERVER学习

用户操作
[即时聊天] [发私信] [加为好友]
SocratesID:dyx1024
10569次访问,排名11028(-3),好友12人,关注者21人。
八零后程序员大军中的一无名小卒,求学于古城长安,迫于生计,南下深圳已一年有余,工作,学习之事偶记于此,是以学习,分享,交流之目的.
dyx1024的文章
原创 55 篇
翻译 0 篇
转载 27 篇
评论 8 篇
Socrates的公告
C/C++的新手
最近评论
zhaohw1985:为你辛苦劳动创造的大餐,我只能端起美酒与你共享啦!
zhaohongbo83:老三,我感觉这个程序里的东西有可以精简的部分
zhaohongbo83:技术全面的很!!
jjm:支持经典!
YJJ_XXML:收藏收藏~~~
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 IHTMLDocument2接口的简单操作收藏

    新一篇: 三种方法实现快捷键编程 | 旧一篇: VC 遍历指定目录下的文件

    这几天写的程序中要用到这方面的东西,写了个很简单的例子.
    1. //必须包含的头文件
    2. #include <atlbase.h>
    3. #include "atlconv.h"
    4. #include "Mshtml.h"
    5. /*********************************************************************
    6. * 函数名称:int CErrKbaseDHtmlView::MM_FAULTKBASE& refKBaseInfo
    7. * 说明:刷新HTMLVIEW页面内容
    8. * 入口参数:
    9. * 空
    10. * 返回值:
    11. * int -- 
    12. * 作者: socrates
    13. * 时间 : 2008-08-01 15:37:39
    14. * 备注 : 
    15. *********************************************************************/
    16. int CErrKbaseDHtmlView::RefreshPage(MM_FAULTKBASE& refKBaseInfo)
    17. {
    18.     USES_CONVERSION;
    19.     CComPtr<IHTMLDocument2>pDoc;
    20.     CComPtr<IDispatch>spDisp;
    21.     spDisp = GetHtmlDocument();
    22.     
    23.     CString strHtml= "<html><head><title>kcmm_errkbase</title>\
    24.         <style type= 'text/css'><!--\
    25.         body,td,th {font-size: 12px; color: #990000;} .style5 {color: #000099}\
    26.         --></style></head>\
    27.         <body><table width='732' height='490' border='1' bordercolor='#999999' bgcolor='#FFFFFF'>\
    28.         <tr><td width='73' height='28'><span class='style5'>故障名称:</td><td width='643'>";
    29.         strHtml += refKBaseInfo.strFaultName;
    30.         strHtml += "</td></tr><tr><td height='27'><span class='style5'>故障类型:</td><td>";
    31.         strHtml += refKBaseInfo.strFaultType;
    32.         strHtml += "</td></tr><tr><td height='31'><span class='style5'>故障级别:</td><td>严重级</td></tr>\
    33.         <tr><td height='31'><span class='style5'>影响范围:</td><td>";
    34.         strHtml += refKBaseInfo.strFaultIncidence;
    35.         strHtml += "</td></tr><tr><td height='62'><span class='style5'>故障来源:</td><td>1.运行复杂业务查询;2.病毒</td></tr>\
    36.         <tr><td height='68'><span class='style5'>产生原因:</td><td>";
    37.         strHtml += refKBaseInfo.strFaultReason;
    38.         strHtml += "</td></tr><tr><td height='68'><span class='style5'>处理流程:</td><td>关机->重启</td></tr>\
    39.         <tr><td height='80'><span class='style5'>处理方法:</td><td>";
    40.         strHtml += refKBaseInfo.strHandleMethod;
    41.         strHtml += "</td></tr><tr><td height='73'><span class='style5'>备注信息:</td><td>略</td></tr>\
    42.         </table><marquee direction='up' align='middle' scrolldelay='120'>此知识库仅提供参考信息,并非是最全威信息<br>\
    43.         如有其他问题,请联系金证工程师<br>联系方式:dyx1024@gmail.com</marquee></body></html>";
    44.         CRect rc;
    45.         GetClientRect(&rc); 
    46.         CString strIn;
    47.         strIn = strHtml;
    48.         
    49.         CComQIPtr<IPersistStreamInit> spPersistStream(spDisp);
    50.         if(spPersistStream==NULL)
    51.             return 0;
    52.         
    53.         LPTSTR lpMem = (LPTSTR)::GlobalAlloc(GPTR,strIn.GetLength()+1);
    54.         lstrcpy(lpMem,strIn.GetBuffer(strIn.GetLength()));
    55.         
    56.         CComPtr<IStream>spStream;
    57.         CreateStreamOnHGlobal( lpMem, TRUE, &spStream );
    58.         // 初始化后,装载显示
    59.         spPersistStream->InitNew();
    60.         spPersistStream->Load(spStream );
    61.         return 0;
    62. }
    63. /*********************************************************************
    64. * 函数名称:BOOL PreTranslateMessage(MSG* pMsg) 
    65. * 说明:屏蔽HTMLVIEW页面的右键功能
    66. * 入口参数:
    67. * 空
    68. * 返回值:
    69. * int -- 
    70. * 作者: socrates
    71. * 时间 : 2008-08-01 15:37:39
    72. * 备注 : 
    73. *********************************************************************/
    74. BOOL CErrKbaseDHtmlView::PreTranslateMessage(MSG* pMsg) 
    75. {
    76.     if(!m_bDisplay)//屏蔽与否的开关
    77.     {
    78.         switch(pMsg->message)
    79.         {
    80.         case WM_CONTEXTMENU:
    81.         case WM_RBUTTONUP:
    82.         case WM_RBUTTONDOWN:
    83.         case WM_RBUTTONDBLCLK:
    84.             if(IsWindow(pMsg->hwnd))
    85.             {
    86.                 if(pMsg->wParam == WM_RBUTTONUP)
    87.                 {
    88.                     GetParent()->SendMessage(WM_CONTEXTMENU, pMsg->wParam, pMsg->lParam);
    89.                 }
    90.                 return TRUE;
    91.             }
    92.         }
    93.     }
    94.     
    95.     return CHtmlView::PreTranslateMessage(pMsg);
    96. }

    发表于 @ 2008年08月02日 22:24:00|评论(loading...)|收藏

    新一篇: 三种方法实现快捷键编程 | 旧一篇: VC 遍历指定目录下的文件

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © Socrates