unit TalkPersonalView; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, RealICQButton, RxRichEd, BaseIDView, RealICQRichEdit, cefvcl, RealICQSpeedButton, RealICQSkinFrm, InterfaceUI, ceflib; type TTalkPersonalForm = class(TBaseIDViewForm) pnlTools: TPanel; pnlMain: TPanel; pnlSide: TPanel; PnlShowHideUserInfo: TPanel; ImgHideShowUserInformation: TImage; btnQR: TRealICQSpeedButton; imgToolbarBack: TImage; spbAbout: TRealICQSpeedButton; spbAudio: TRealICQSpeedButton; spbPostSMS: TRealICQSpeedButton; spbRemoteControl: TRealICQSpeedButton; spbSendFile: TRealICQSpeedButton; spbSendFolder: TRealICQSpeedButton; spbSet: TRealICQSpeedButton; spbUploadFile: TRealICQSpeedButton; spbUserInfo: TRealICQSpeedButton; spbVideo: TRealICQSpeedButton; chrmUserInfo: TChromium; pnlDisplayer: TPanel; pnlForWebBrowser: TPanel; WebBrowser: TChromium; pnlInputer: TPanel; pnlInputeBack: TPanel; Panel1: TPanel; RichEdInputer: TRealICQRichEdit; Panel2: TPanel; lblState: TLabel; btDownArrow: TRealICQButton; btSend: TRealICQButton; btCloseTalk: TRealICQButton; pnlBar: TPanel; ImgInputerTopMiddle: TImage; spbFont: TRealICQSpeedButton; spbSelUIColor: TRealICQSpeedButton; spbBackground: TRealICQSpeedButton; spbFace: TRealICQSpeedButton; spbSendImage: TRealICQSpeedButton; spbShakeWindow: TRealICQSpeedButton; spbCopyScreen: TRealICQSpeedButton; spbNormalMsg: TRealICQSpeedButton; spbHistroyMessage: TRealICQSpeedButton; Splitter1: TSplitter; procedure FormShow(Sender: TObject); procedure WebBrowserKeyEvent(Sender: TObject; const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg; out Result: Boolean); private { Private declarations } protected procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING; public end; var TalkPersonalForm: TTalkPersonalForm; implementation uses ConditionConfig, ViewManager, DevToolChromeFrm; {$R *.dfm} { TTalkPersonalForm } procedure TTalkPersonalForm.FormShow(Sender: TObject); begin inherited; WebBrowser.Options.WebSecurity := STATE_DISABLED; WebBrowser.Options.FileAccessFromFileUrls := STATE_DISABLED; if TConditionConfig.GetConfig.RemoteUI then WebBrowser.Load(TConditionConfig.GetConfig.RemoteUIHost + '\talkview\index.html'); end; procedure TTalkPersonalForm.WebBrowserKeyEvent(Sender: TObject; const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg; out Result: Boolean); begin if TConditionConfig.GetConfig.Dev and (event^.windows_key_code = VK_F12) then ShowDevTool(Self, Sender as TChromium); end; procedure TTalkPersonalForm.WMWindowPosChanging( var Message: TWMWindowPosChanging); begin if WebBrowser.Browser <> nil then begin WebBrowser.Browser.Host.NotifyMoveOrResizeStarted; if chrmUserInfo.Browser <> nil then chrmUserInfo.Browser.Host.NotifyMoveOrResizeStarted; end; inherited; end; initialization TViewManager.Current.RegisterClass(TTalkPersonalForm); end.