コード例 #1
0
        public void add(string user1, string user2)
        {
            DataTable dt = Common.retTalkHistory(user1, user2);

            CefSharp.IFrame ifm = browser.GetBrowser().MainFrame;
            this.comm.CallJS(browser, " clearAll()");
            // this.CallJS(browser, addFunctionStr);
            if (dt != null && dt.Rows.Count > 0)
            {
                string messageDate = string.Empty;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow        dr         = dt.Rows[i];
                    string         fromid     = dr["fromjid"].ToString();
                    string         toid       = dr["tojid"].ToString();
                    string         contentStr = dr["body"].ToString();
                    Int64          tmpval     = Convert.ToInt64(dr["SENTDATE"].ToString());
                    DateTime       d          = new DateTime(1970, 1, 1).ToLocalTime().AddMilliseconds(long.Parse(dr["SENTDATE"].ToString()));
                    string         dateTime   = d.ToString("yyyy-MM-dd HH:mm:ss");
                    ChatBoxContent content    = new ChatBoxContent();
                    content.Text = contentStr;
                    string messType = SysParams.retSysMessage(contentStr);
                    if (messageDate != d.ToString("yyyy-MM-dd"))
                    {
                        //添加间隔线和日期

                        messageDate = d.ToString("yyyy-MM-dd");
                        this.chatClass.AppendHistoryLine(this.browser, messageDate);
                    }
                    this.chatClass.AppendChatBoxContentAll(this.browser, messType, fromid, d, content,
                                                           this.mform.MineID, this.mform.FriendID, Color.SeaGreen, true, true);

                    //this.AppendChatBoxContentAll(messType, fromid, d, content, Color.SeaGreen, true, true);
                }
            }
        }
コード例 #2
0
ファイル: MenuHandler.cs プロジェクト: radtek/aria2gui
        void CefSharp.IContextMenuHandler.OnBeforeContextMenu(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model)
        {
            var flag = parameters.TypeFlags;

            if ((flag & CefSharp.ContextMenuType.Editable) == CefSharp.ContextMenuType.Editable)
            {
            }
            else if ((flag & CefSharp.ContextMenuType.Selection) == CefSharp.ContextMenuType.Selection)
            {
            }
            else
            {
                //model.Clear();
            }
        }
コード例 #3
0
ファイル: MenuHandler.cs プロジェクト: radtek/aria2gui
 void CefSharp.IContextMenuHandler.OnContextMenuDismissed(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame)
 {
 }
コード例 #4
0
ファイル: MenuHandler.cs プロジェクト: radtek/aria2gui
 bool CefSharp.IContextMenuHandler.OnContextMenuCommand(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.CefMenuCommand commandId, CefSharp.CefEventFlags eventFlags)
 {
     return(false);
 }
コード例 #5
0
 public void OnContextMenuDismissed(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame)
 {
 }
コード例 #6
0
        public bool OnBeforePopup(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, string targetUrl, string targetFrameName, CefSharp.WindowOpenDisposition targetDisposition, bool userGesture, CefSharp.IPopupFeatures popupFeatures, CefSharp.IWindowInfo windowInfo, CefSharp.IBrowserSettings browserSettings, ref bool noJavascriptAccess, out CefSharp.IWebBrowser newBrowser)
        {
            newBrowser = null;
            if (BeforePopupEvent == null)
            {
                return(false);
            }
            NewWindowEventArgs e = new NewWindowEventArgs(chromiumWebBrowser, browser, frame, targetUrl, targetFrameName, targetDisposition, windowInfo);

            BeforePopupEvent(this, e);
            if (e.newBrowser == null)
            {
                return(false);
            }
            //newBrowser = e.newBrowser;
            return(true);
        }
コード例 #7
0
 protected override bool OnResourceResponse(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IRequest request, CefSharp.IResponse response)
 {
     return(base.OnResourceResponse(chromiumWebBrowser, browser, frame, request, response));
 }
コード例 #8
0
 void CefSharp.IContextMenuHandler.OnContextMenuDismissed(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame)
 {
     //throw new NotImplementedException();
 }
コード例 #9
0
 protected override CefSharp.CefReturnValue OnBeforeResourceLoad(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IRequest request, CefSharp.IRequestCallback callback)
 {
     return(CefSharp.CefReturnValue.Continue);
 }
コード例 #10
0
 protected override CefSharp.IResponseFilter GetResourceResponseFilter(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IRequest request, CefSharp.IResponse response)
 {
     return(null);
 }
コード例 #11
0
        public bool OnContextMenuCommand(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.CefMenuCommand commandId, CefSharp.CefEventFlags eventFlags)
        {
            switch (commandId)
            {
            case CefSharp.CefMenuCommand.ViewSource:
                if (ViewSource != null)
                {
                    ViewSource(this, new EventArgs());
                }
                return(true);

            case (CefSharp.CefMenuCommand)OpenLink:
            case (CefSharp.CefMenuCommand)OpenLinkSource:
            {
                if (OpenLinkOrSource != null)
                {
                    OpenLinkOrSource(this, new OpenLinkOrSourceArgs(parameters.LinkUrl, commandId == (CefSharp.CefMenuCommand)OpenLinkSource));
                }
            }
                return(true);

            case (CefSharp.CefMenuCommand)CopyImage:
            {
                if (CopyImageToClipboard != null)
                {
                    CopyImageToClipboard(this, new CopyImageEventArgs(parameters.SourceUrl));
                }
            }
                return(true);

            case (CefSharp.CefMenuCommand)OpenDevTool:
            {
                if (ShowDevTool != null)
                {
                    ShowDevTool(this, new EventArgs());
                }
            }
                return(true);

            case (CefSharp.CefMenuCommand)CopyLink:
            {
                Clipboard.SetText(parameters.LinkUrl);
            }
                return(true);

            case (CefSharp.CefMenuCommand)OpenLoadScript:
            {
                if (LoadScript != null)
                {
                    LoadScript(this, new EventArgs());
                }
            }
                return(true);

            default:
                break;
            }
            return(false);
        }
コード例 #12
0
        private const int OpenLoadScript = (int)CefSharp.CefMenuCommand.UserFirst + 6; //加载脚本

        public void OnBeforeContextMenu(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model)
        {
            if (BeforeContextMenu != null)
            {
                BeforeContextMenu(this, new BeforeContextMenuEvenArgs(parameters, model));
            }
            model.AddSeparator();
            if (parameters.MediaType == CefSharp.ContextMenuMediaType.Image)
            {
                model.AddItem((CefSharp.CefMenuCommand)CopyImage, "复制图片(&I)");
            }
            if ((CefSharp.ContextMenuType)(parameters.TypeFlags & CefSharp.ContextMenuType.Link) == CefSharp.ContextMenuType.Link)
            {
                if (!string.IsNullOrWhiteSpace(parameters.LinkUrl) && !parameters.LinkUrl.StartsWith("about:black"))
                {
                    model.AddItem((CefSharp.CefMenuCommand)OpenLink, "打开链接(&L)");

                    model.AddItem((CefSharp.CefMenuCommand)OpenLinkSource, "打开链接源码(&S)");

                    model.AddItem((CefSharp.CefMenuCommand)CopyLink, "复制链接(&C)");
                }
            }
            model.AddItem((CefSharp.CefMenuCommand)OpenDevTool, "开发者工具 F12");
            model.AddItem((CefSharp.CefMenuCommand)OpenLoadScript, "加载脚本 F6");
        }
コード例 #13
0
 public bool RunContextMenu(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model, CefSharp.IRunContextMenuCallback callback)
 {
     return(false);
 }
コード例 #14
0
 void CefSharp.IContextMenuHandler.OnBeforeContextMenu(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model)
 {
     model.Clear();
 }
コード例 #15
0
 public CefSharp.IResourceRequestHandler GetResourceRequestHandler(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
 {
     if (request.ResourceType == CefSharp.ResourceType.Image)
     {
         return(new CefResourceRequestHandler());
     }
     return(null);
 }
コード例 #16
0
 bool CefSharp.IContextMenuHandler.OnContextMenuCommand(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.CefMenuCommand commandId, CefSharp.CefEventFlags eventFlags)
 {
     //throw new NotImplementedException();
     return(false);
 }
コード例 #17
0
 public NewWindowEventArgs(CefSharp.IWebBrowser chromiumWebBrowser, CefSharp.IBrowser browser, CefSharp.IFrame frame, string targetUrl, string targetFrameName, CefSharp.WindowOpenDisposition targetDisposition, CefSharp.IWindowInfo windowInfo)
 {
     this.chromiumWebBrowser = chromiumWebBrowser;
     this.browser            = browser;
     this.frame             = frame;
     this.targetUrl         = targetUrl;
     this.targetFrameName   = targetFrameName;
     this.targetDisposition = targetDisposition;
     this.windowInfo        = windowInfo;
 }
コード例 #18
0
 bool CefSharp.IContextMenuHandler.RunContextMenu(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model, CefSharp.IRunContextMenuCallback callback)
 {
     return(false);
 }
コード例 #19
0
 /// <summary>
 /// 通过CEF从窗口去调用当前页面中的JS方法
 /// </summary>
 /// <param name="jsname"></param>
 public void CallJS(ChromiumWebBrowser browser, string jsname)
 {
     CefSharp.IFrame mainFrame = browser.GetBrowser().MainFrame;
     mainFrame.ExecuteJavaScriptAsync(jsname);
 }