提交当前本机整理版本
This commit is contained in:
@@ -124,4 +124,38 @@ namespace Lskj.Control.BrowserSetting
|
||||
{
|
||||
baseForm.Invoke(new Action(() =>
|
||||
{
|
||||
BsOpenModuleHandler.AddReturn
|
||||
BsOpenModuleHandler.AddReturnRow(arg0);
|
||||
if (isclose)
|
||||
{
|
||||
baseForm.DialogResult = DialogResult.OK;
|
||||
baseForm.Close();
|
||||
}
|
||||
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
BsOpenModuleHandler.AddReturnRow(arg0);
|
||||
if (isclose)
|
||||
{
|
||||
baseForm.DialogResult = DialogResult.OK;
|
||||
baseForm.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
return base.OnProcessMessageReceived(browser, frame, sourceProcess, message);
|
||||
}
|
||||
public void Created(CefBrowser cefBrowser)
|
||||
{
|
||||
if (OnCreated != null)
|
||||
{
|
||||
OnCreated(cefBrowser, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,4 +188,32 @@ namespace Lskj.Control.BrowserSetting
|
||||
//}
|
||||
}
|
||||
/// <summary>
|
||||
/// 通过 CefBrowser 获取所在��
|
||||
/// 通过 CefBrowser 获取所在的 WinForms 窗口
|
||||
/// </summary>
|
||||
public static Form GetParentForm(CefBrowser browser,out string ModuleCode)
|
||||
{
|
||||
ModuleCode = "";
|
||||
try
|
||||
{
|
||||
if (browser == null) return null;
|
||||
IntPtr browserHandle = browser.GetHost().GetWindowHandle();
|
||||
if (browserHandle == IntPtr.Zero) return null;
|
||||
IntPtr parentHandle = GetParent(browserHandle);
|
||||
if (parentHandle == IntPtr.Zero) return null;
|
||||
System.Windows.Forms.Control control = System.Windows.Forms.Control.FromHandle(parentHandle);
|
||||
|
||||
if (control != null && control.Parent != null && control.Parent.Parent != null)
|
||||
{
|
||||
ModuleCode = (control.Parent.Parent).Tag + "";
|
||||
}
|
||||
|
||||
return control as Form;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,4 +73,27 @@ namespace Lskj.Control.BrowserSetting
|
||||
}
|
||||
break;
|
||||
case 38://↑
|
||||
if (keyEvent.EventT
|
||||
if (keyEvent.EventType.Equals(CefKeyEventType.RawKeyDown))
|
||||
{
|
||||
bool ctrlDown = (keyEvent.Modifiers & CefEventFlags.ControlDown) != 0;
|
||||
if (ctrlDown && browser.GetHost().GetZoomLevel() < 3)
|
||||
{
|
||||
browser.GetHost().SetZoomLevel(browser.GetHost().GetZoomLevel() + 0.1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 40://↓
|
||||
if (keyEvent.EventType.Equals(CefKeyEventType.RawKeyDown))
|
||||
{
|
||||
bool ctrlDown = (keyEvent.Modifiers & CefEventFlags.ControlDown) != 0;
|
||||
if (ctrlDown && browser.GetHost().GetZoomLevel() > -3)
|
||||
{
|
||||
browser.GetHost().SetZoomLevel(browser.GetHost().GetZoomLevel() - 0.1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,4 +17,33 @@ namespace Lskj.Control.BrowserSetting
|
||||
}
|
||||
protected override void OnAfterCreated(Xilium.CefGlue.CefBrowser browser)
|
||||
{
|
||||
base.OnAfterCreated(browser
|
||||
base.OnAfterCreated(browser);
|
||||
BsClient.Created(browser);
|
||||
}
|
||||
protected override void OnBeforeClose(CefBrowser browser)
|
||||
{
|
||||
base.OnBeforeClose(browser);
|
||||
}
|
||||
|
||||
protected override bool OnBeforePopup(
|
||||
CefBrowser browser,
|
||||
CefFrame frame,
|
||||
string targetUrl,
|
||||
string targetFrameName,
|
||||
CefWindowOpenDisposition targetDisposition,
|
||||
bool userGesture,
|
||||
CefPopupFeatures popupFeatures,
|
||||
CefWindowInfo windowInfo,
|
||||
ref CefClient client,
|
||||
CefBrowserSettings settings,
|
||||
ref CefDictionaryValue extraInfo,
|
||||
ref bool noJavascriptAccess)
|
||||
{
|
||||
if (BsExternalProtocolHandler.TryHandle(targetUrl))
|
||||
return true;
|
||||
|
||||
return base.OnBeforePopup(browser, frame, targetUrl, targetFrameName, targetDisposition,
|
||||
userGesture, popupFeatures, windowInfo, ref client, settings, ref extraInfo, ref noJavascriptAccess);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,4 +323,35 @@ namespace Lskj.Control.BrowserSetting
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(rowdata) && StaticControl.RightMenuGridView != null)
|
||||
{
|
||||
JObject
|
||||
JObject rowObject = JsonConvert.DeserializeObject<JObject>(rowdata);
|
||||
JArray jArray = new JArray();
|
||||
jArray.Add(rowObject);
|
||||
DataTable dataTable = JsonConvert.DeserializeObject<DataTable>(JsonConvert.SerializeObject(jArray));
|
||||
|
||||
|
||||
DataTable gridTable = (StaticControl.RightMenuGridView.GridControl.DataSource as DataTable).TrimDeleteRows();
|
||||
if (gridTable == null) return;
|
||||
|
||||
GridColumnCollection gridColumns = StaticControl.RightMenuGridView.Columns;
|
||||
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(StaticControl.Comprefix) && dataTable.Columns.Contains("ProductId"))
|
||||
{
|
||||
dataTable.Columns["ProductId"].ColumnName = StaticControl.Comprefix+"ProductId"; // 将ProductId加上前缀
|
||||
}
|
||||
DataRow rowItem = dataTable.Rows[0];
|
||||
StaticControl.ReturnRowLisy.Add(rowItem);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,4 +23,30 @@ namespace Lskj.Control.BrowserSetting
|
||||
native function OpenModule();
|
||||
return OpenModule(menuId, menuName, dllName, modelFlag, urlParams);
|
||||
};
|
||||
boundObject.OpenOnRightClick = function(arrayItem, rightId,MenuN
|
||||
boundObject.OpenOnRightClick = function(arrayItem, rightId,MenuName,mMenuCode)
|
||||
{
|
||||
native function OpenOnRightClick();
|
||||
return OpenOnRightClick(arrayItem, rightId,MenuName,mMenuCode);
|
||||
};
|
||||
boundObject.CloseWin = function()
|
||||
{
|
||||
native function CloseWin();
|
||||
return CloseWin();
|
||||
};
|
||||
boundObject.SelectPro = function(rowdata,isclose)
|
||||
{
|
||||
native function SelectPro();
|
||||
return SelectPro(rowdata,isclose);
|
||||
};
|
||||
})();
|
||||
";
|
||||
CefRuntime.RegisterExtension("boundObject", extensionCode, bsOpenModuleHandler);
|
||||
base.OnWebKitInitialized();
|
||||
}
|
||||
protected override void OnContextCreated(CefBrowser browser, CefFrame frame, CefV8Context context)
|
||||
{
|
||||
bsOpenModuleHandler.V8Context = context;
|
||||
base.OnContextCreated(browser, frame, context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,4 +73,34 @@ namespace Lskj.Control.BrowserSetting
|
||||
System.Diagnostics.Process.Start(processStartInfo);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(
|
||||
"打开打印程序失败:" + ex.Message,
|
||||
"提示",
|
||||
System.Windows.Forms.MessageBoxButtons.OK,
|
||||
System.Windows.Forms.MessageBoxIcon.Warning);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class BsExternalProtocolResourceRequestHandler : CefResourceRequestHandler
|
||||
{
|
||||
protected override CefCookieAccessFilter GetCookieAccessFilter(CefBrowser browser, CefFrame frame, CefRequest request)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
protected override void OnProtocolExecution(CefBrowser browser, CefFrame frame, CefRequest request, ref bool allowOsExecution)
|
||||
{
|
||||
if (BsExternalProtocolHandler.IsPrintProtocol(request.Url))
|
||||
{
|
||||
allowOsExecution = true;
|
||||
return;
|
||||
}
|
||||
|
||||
base.OnProtocolExecution(browser, frame, request, ref allowOsExecution);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,4 +340,28 @@ namespace Lskj.Control.BrowserSetting
|
||||
byteRequest = Encoding.UTF8.GetBytes(builder.ToString());
|
||||
break;
|
||||
}
|
||||
|
||||
httpWebRequest.ContentLength = byteRequest.Length;
|
||||
}
|
||||
Stream stream = httpWebRequest.GetRequestStream();
|
||||
stream.Write(byteRequest, 0, byteRequest.Length);
|
||||
stream.Close();
|
||||
|
||||
httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
||||
Stream responseStream = httpWebResponse.GetResponseStream();
|
||||
StreamReader streamReader = new StreamReader(responseStream, Encoding.UTF8);
|
||||
result = streamReader.ReadToEnd();
|
||||
streamReader.Close();
|
||||
responseStream.Close();
|
||||
cookie = httpWebRequest.CookieContainer;
|
||||
cookieCollection = cookie.GetCookies(new Uri(url));
|
||||
return httpWebResponse;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
cookieCollection = null;
|
||||
result = ex.Message;
|
||||
return httpWebResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user