UITalkPersonalForm.pas 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. unit UITalkPersonalForm;
  2. interface
  3. uses
  4. TalkLayout, TalkPersonalToolsView, TalkMainView, TalkUserInfoSideView,
  5. TalkVideoSideView, Graphics, Classes, SysUtils, Controls, UITalkFormBase,
  6. Windows, InterfaceUI, cefvcl;
  7. type
  8. TUITalkPersonalForm = class(TUITalkFormBase)
  9. private
  10. FTalkLayout: TTalkLayoutForm;
  11. FTalkPersonalToolsView: TTalkPersonalToolsViewForm;
  12. FTalkMainView: TTalkMainViewForm;
  13. FTalkUserInfoSideView: TTalkUserInfoSideViewForm;
  14. FTalkVideoSideView: TTalkVideoSideViewForm;
  15. FReceiver: string;
  16. FLastSendInputtingMessageTicket: Cardinal;
  17. FUserView: TChromium;
  18. procedure Init;
  19. public
  20. procedure ChangeUIColor(AColor: TColor); override;
  21. procedure Show; override;
  22. procedure Hide; override;
  23. function GetFormID: string; override;
  24. procedure SendMessage(AMsg, AFont: string; AFaces: TStringList); override;
  25. procedure SendInputing(); override;
  26. constructor Create(AOwner: TComponent; AID: string); override;
  27. destructor Destroy; override;
  28. end;
  29. implementation
  30. uses
  31. HtmlService, MSHTML, RealICQColors;
  32. { TUITalkPersonalForm }
  33. procedure TUITalkPersonalForm.ChangeUIColor(AColor: TColor);
  34. begin
  35. FTalkLayout.ChangeUIColor(AColor);
  36. ConvertBitmapToColor(FTalkPersonalToolsView.imgToolbarBack.Picture.Bitmap, AColor);
  37. FTalkPersonalToolsView.imgToolbarBack.Invalidate;
  38. FTalkMainView.Splitter1.Color := AColor;
  39. FTalkMainView.btSend.ChangeUIColor(AColor);
  40. FTalkMainView.btCloseTalk.ChangeUIColor(AColor);
  41. FTalkMainView.btDownArrow.ChangeUIColor(AColor);
  42. ConvertBitmapToColor(FTalkMainView.ImgInputerTopMiddle.Picture.Bitmap, AColor);
  43. FTalkMainView.ImgInputerTopMiddle.Invalidate;
  44. // FTalkPersonalToolsView.
  45. end;
  46. constructor TUITalkPersonalForm.Create(AOwner: TComponent; AID: string);
  47. begin
  48. FCategory := tcNormal;
  49. FTalkLayout := TTalkLayoutForm.Create(AOwner);
  50. FTalkPersonalToolsView := TTalkPersonalToolsViewForm.Create(AOwner);
  51. FTalkMainView := TTalkMainViewForm.Create(AOwner);
  52. FTalkMainView.TalkFormBase := Self;
  53. FUserView := TChromium.Create(FTalkLayout.pnlSide);
  54. FUserView.Parent := FTalkLayout.pnlSide;
  55. FTalkVideoSideView := TTalkVideoSideViewForm.Create(AOwner);
  56. Init;
  57. inherited Create(AOwner, AID);
  58. end;
  59. destructor TUITalkPersonalForm.Destroy;
  60. begin
  61. FreeAndNil(FTalkLayout);
  62. FreeAndNil(FTalkPersonalToolsView);
  63. FreeAndNil(FTalkMainView);
  64. FreeAndNil(FUserView);
  65. FreeAndNil(FTalkVideoSideView);
  66. inherited;
  67. end;
  68. function TUITalkPersonalForm.GetFormID: string;
  69. begin
  70. Result := FReceiver;
  71. end;
  72. procedure TUITalkPersonalForm.Hide;
  73. begin
  74. FTalkLayout.Hide;
  75. end;
  76. procedure TUITalkPersonalForm.Init;
  77. begin
  78. FTalkPersonalToolsView.pnlPersonalToolsBar.Parent := FTalkLayout.pnlTools;
  79. FTalkPersonalToolsView.pnlPersonalToolsBar.Align := alClient;
  80. FTalkMainView.pnlTalkingArea.Parent := FTalkLayout.pnlMain;
  81. FTalkMainView.WebBrowser.Load(ExtractFilePath(paramstr(0))+ 'html/talkview/dest/chat.html');
  82. // THtmlService.GetService.SetDOMStyle(FTalkMainView.Webbrowser.Document as IHTMLDocument2, FTalkLayout.FormColor);
  83. // FUserView.Load(ExtractFilePath(ParamStr(0)) + 'html/talkview/user.html');
  84. // FTalkUserInfoSideView.chrmUserInfo.Parent := FTalkLayout.pnlSide;
  85. end;
  86. procedure TUITalkPersonalForm.SendInputing;
  87. begin
  88. if (GetTickCount - FLastSendInputtingMessageTicket > 5000) then
  89. FLastSendInputtingMessageTicket := GetTickCount;
  90. end;
  91. procedure TUITalkPersonalForm.SendMessage(AMsg, AFont: string; AFaces: TStringList);
  92. var
  93. ANilList: TStringList;
  94. begin
  95. // THtmlService.GetService.AddMessageToWebBrowser(
  96. // Me.LoginName,
  97. // Me.DisplayName,
  98. // AFont,
  99. // AMsg,
  100. // Now,
  101. // ANilList,
  102. // FTalkMainView.WebBrowser);
  103. // TRouterSocket.GetConnection.SendMessage(FReceiver, AMsg, AFont, AFaces)
  104. end;
  105. procedure TUITalkPersonalForm.Show;
  106. begin
  107. FTalkLayout.Show;
  108. // FTalkMainView.chrmDisplay.Load('file:///D:/DelphiProjects/IMClient-7_2-LQQ/ZWT/Views/chart/index.html');
  109. end;
  110. end.