Hi all I am trying to make a scrolling text, but I cannot get it to scroll smoothly after the characters start to disappear.
this is my code:
if (outString.Length == 0) { for (int l = 0; l < m_horizontalText.Length; l++) { outString += m_horizontalText[l].ToString(); } stringStart = 0; fontSize = (m_horizontalText.Length) * m_font.Size; startPosition = this.ClientSize.Width; fo = new Font(m_font.FontFamily.Name, m_font.Size, GraphicsUnit.Pixel); g = this.CreateGraphics(); iWidth = g.MeasureString(m_horizontalText[stringStart].ToString(), fo).Width; // == 11 }
Point pt = new Point(startPosition, (this.ClientSize.Height / 2)); // Adds visible lines to path.
if (((pt.X + (int)iWidth) > (outString.Length * -1))) { if (startPosition <= ((int)iWidth * -1)) { if (stringStart == m_horizontalText.Length) { stringStart = 0; } stringStart++; outString = ""; startPosition += (int)iWidth; //fo = new Font(m_font.FontFamily.Name, m_font.Size, GraphicsUnit.Pixel); //g = this.CreateGraphics(); iWidth = g.MeasureString(m_horizontalText[stringStart].ToString(), fo).Width; // == 11 for (int l = stringStart; l < m_horizontalText.Length; l++) { outString += m_horizontalText[l].ToString(); } } path.AddString(outString, m_font.FontFamily, (int)m_font.Style, m_font.Size, pt, StringFormat.GenericTypographic); } startPosition--;
// For repeat scrolling. if ((startPosition <= (startPosition * -1)) && (m_scrollingOffset < 0)) { m_scrollingOffset = (int)(this.Font.SizeInPoints * outString.Length); }
// Draws wrapped path. e.Graphics.FillPath(new SolidBrush(this.ForeColor), path); path.Dispose();
the reason for using this method is that I need a transparent background and this is the only way I have found to achive this.
Thanks in advance,
Lee