MacroTrace.cs
上传用户:szltgg
上传日期:2019-05-16
资源大小:604k
文件大小:3k
源码类别:

Telnet服务器

开发平台:

C#

  1. /*
  2. * Copyright (c) 2005 Poderosa Project, All Rights Reserved.
  3. * $Id: MacroTrace.cs,v 1.2 2005/04/20 08:45:45 okajima Exp $
  4. */
  5. using System;
  6. using System.Drawing;
  7. using System.Collections;
  8. using System.ComponentModel;
  9. using System.Windows.Forms;
  10. namespace Poderosa.MacroEnv
  11. {
  12. /// <summary>
  13. /// MacroTrace 偺奣梫偺愢柧偱偡丅
  14. /// </summary>
  15. internal class MacroTraceWindow : System.Windows.Forms.Form
  16. {
  17. internal static int  _instanceCount;
  18. internal static Size _lastWindowSize = new Size();
  19. private System.Windows.Forms.TextBox _textBox;
  20. /// <summary>
  21. /// 昁梫側僨僓僀僫曄悢偱偡丅
  22. /// </summary>
  23. private System.ComponentModel.Container components = null;
  24. public MacroTraceWindow()
  25. {
  26. //
  27. // Windows 僼僅乕儉 僨僓僀僫 僒億乕僩偵昁梫偱偡丅
  28. //
  29. InitializeComponent();
  30. //
  31. // TODO: InitializeComponent 屇傃弌偟偺屻偵丄僐儞僗僩儔僋僞 僐乕僪傪捛壛偟偰偔偩偝偄丅
  32. //
  33. this.Icon = GApp.Options.GuevaraMode? GIcons.GetOldGuevaraIcon() : GIcons.GetAppIcon();
  34. //埵抲偲僒僀僘偺挷惍
  35. int n = _instanceCount % 5;
  36. this.Location = new Point(GApp.Frame.Left + 30+20*n, GApp.Frame.Top  + 30+20*n);
  37. if(_instanceCount>0) this.Size = _lastWindowSize;
  38. _instanceCount++;
  39. }
  40. /// <summary>
  41. /// 巊梡偝傟偰偄傞儕僜乕僗偵屻張棟傪幚峴偟傑偡丅
  42. /// </summary>
  43. protected override void Dispose( bool disposing )
  44. {
  45. if( disposing )
  46. {
  47. if(components != null)
  48. {
  49. components.Dispose();
  50. }
  51. }
  52. base.Dispose( disposing );
  53. }
  54. #region Windows Form Designer generated code
  55. /// <summary>
  56. /// 僨僓僀僫 僒億乕僩偵昁梫側儊僜僢僪偱偡丅偙偺儊僜僢僪偺撪梕傪
  57. /// 僐乕僪 僄僨傿僞偱曄峏偟側偄偱偔偩偝偄丅
  58. /// </summary>
  59. private void InitializeComponent()
  60. {
  61. this._textBox = new System.Windows.Forms.TextBox();
  62. this.SuspendLayout();
  63. // 
  64. // _textBox
  65. // 
  66. this._textBox.Dock = System.Windows.Forms.DockStyle.Fill;
  67. this._textBox.Multiline = true;
  68. this._textBox.Name = "_textBox";
  69. this._textBox.ReadOnly = true;
  70. this._textBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
  71. this._textBox.Size = new System.Drawing.Size(352, 237);
  72. this._textBox.TabIndex = 0;
  73. this._textBox.Text = "";
  74. this._textBox.BackColor = Color.FromKnownColor(KnownColor.Window);
  75. // 
  76. // MacroTrace
  77. // 
  78. this.StartPosition = FormStartPosition.Manual;
  79. this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
  80. this.ClientSize = new System.Drawing.Size(352, 237);
  81. this.Controls.AddRange(new System.Windows.Forms.Control[] {
  82.   this._textBox});
  83. this.Name = "MacroTrace";
  84. this.ShowInTaskbar = false;
  85. this.ResumeLayout(false);
  86. }
  87. #endregion
  88. public void AdjustTitle(MacroModule mod) {
  89. this.Text = GApp.Strings.GetString("Caption.MacroTrace.Title") + mod.Title;
  90. }
  91. private string _lineToAdd;
  92. public void AddLine(string t) {
  93. //偙傟偼儅僋儘僗儗僢僪偐傜屇偽傟傞偺偱SendMessage傪巊偆昁梫偑偁傞
  94. if(_textBox.TextLength!=0) t = "rn"+t;
  95. _lineToAdd = t;
  96. Win32.SendMessage(this.Handle, GConst.WMG_MACRO_TRACE, IntPtr.Zero, IntPtr.Zero);
  97. }
  98. protected override void OnClosed(EventArgs args) {
  99. base.OnClosed(args);
  100. _lastWindowSize = this.Size;
  101. }
  102. protected override void WndProc(ref Message msg) {
  103. base.WndProc(ref msg);
  104. if(msg.Msg==GConst.WMG_MACRO_TRACE) {
  105. _textBox.AppendText(_lineToAdd);
  106. }
  107. }
  108. }
  109. }