unit UITalkPersonalForm; interface uses TalkLayout, TalkPersonalToolsView, TalkMainView, TalkUserInfoSideView, TalkVideoSideView, Graphics, Classes, SysUtils, Controls, UITalkFormBase, Windows, InterfaceUI, cefvcl; type TUITalkPersonalForm = class(TUITalkFormBase) private FTalkLayout: TTalkLayoutForm; FTalkPersonalToolsView: TTalkPersonalToolsViewForm; FTalkMainView: TTalkMainViewForm; FTalkUserInfoSideView: TTalkUserInfoSideViewForm; FTalkVideoSideView: TTalkVideoSideViewForm; FReceiver: string; FLastSendInputtingMessageTicket: Cardinal; FUserView: TChromium; procedure Init; public procedure ChangeUIColor(AColor: TColor); override; procedure Show; override; procedure Hide; override; function GetFormID: string; override; procedure SendMessage(AMsg, AFont: string; AFaces: TStringList); override; procedure SendInputing(); override; constructor Create(AOwner: TComponent; AID: string); override; destructor Destroy; override; end; implementation uses HtmlService, MSHTML, RealICQColors; { TUITalkPersonalForm } procedure TUITalkPersonalForm.ChangeUIColor(AColor: TColor); begin FTalkLayout.ChangeUIColor(AColor); ConvertBitmapToColor(FTalkPersonalToolsView.imgToolbarBack.Picture.Bitmap, AColor); FTalkPersonalToolsView.imgToolbarBack.Invalidate; FTalkMainView.Splitter1.Color := AColor; FTalkMainView.btSend.ChangeUIColor(AColor); FTalkMainView.btCloseTalk.ChangeUIColor(AColor); FTalkMainView.btDownArrow.ChangeUIColor(AColor); ConvertBitmapToColor(FTalkMainView.ImgInputerTopMiddle.Picture.Bitmap, AColor); FTalkMainView.ImgInputerTopMiddle.Invalidate; // FTalkPersonalToolsView. end; constructor TUITalkPersonalForm.Create(AOwner: TComponent; AID: string); begin FCategory := tcNormal; FTalkLayout := TTalkLayoutForm.Create(AOwner); FTalkPersonalToolsView := TTalkPersonalToolsViewForm.Create(AOwner); FTalkMainView := TTalkMainViewForm.Create(AOwner); FTalkMainView.TalkFormBase := Self; FUserView := TChromium.Create(FTalkLayout.pnlSide); FUserView.Parent := FTalkLayout.pnlSide; FTalkVideoSideView := TTalkVideoSideViewForm.Create(AOwner); Init; inherited Create(AOwner, AID); end; destructor TUITalkPersonalForm.Destroy; begin FreeAndNil(FTalkLayout); FreeAndNil(FTalkPersonalToolsView); FreeAndNil(FTalkMainView); FreeAndNil(FUserView); FreeAndNil(FTalkVideoSideView); inherited; end; function TUITalkPersonalForm.GetFormID: string; begin Result := FReceiver; end; procedure TUITalkPersonalForm.Hide; begin FTalkLayout.Hide; end; procedure TUITalkPersonalForm.Init; begin FTalkPersonalToolsView.pnlPersonalToolsBar.Parent := FTalkLayout.pnlTools; FTalkPersonalToolsView.pnlPersonalToolsBar.Align := alClient; FTalkMainView.pnlTalkingArea.Parent := FTalkLayout.pnlMain; FTalkMainView.WebBrowser.Load(ExtractFilePath(paramstr(0))+ 'html/talkview/dest/chat.html'); // THtmlService.GetService.SetDOMStyle(FTalkMainView.Webbrowser.Document as IHTMLDocument2, FTalkLayout.FormColor); // FUserView.Load(ExtractFilePath(ParamStr(0)) + 'html/talkview/user.html'); // FTalkUserInfoSideView.chrmUserInfo.Parent := FTalkLayout.pnlSide; end; procedure TUITalkPersonalForm.SendInputing; begin if (GetTickCount - FLastSendInputtingMessageTicket > 5000) then FLastSendInputtingMessageTicket := GetTickCount; end; procedure TUITalkPersonalForm.SendMessage(AMsg, AFont: string; AFaces: TStringList); var ANilList: TStringList; begin // THtmlService.GetService.AddMessageToWebBrowser( // Me.LoginName, // Me.DisplayName, // AFont, // AMsg, // Now, // ANilList, // FTalkMainView.WebBrowser); // TRouterSocket.GetConnection.SendMessage(FReceiver, AMsg, AFont, AFaces) end; procedure TUITalkPersonalForm.Show; begin FTalkLayout.Show; // FTalkMainView.chrmDisplay.Load('file:///D:/DelphiProjects/IMClient-7_2-LQQ/ZWT/Views/chart/index.html'); end; end.