Re[6]: Глюк VScroll в CEdit
От: AlexLux  
Дата: 18.11.04 14:18
Оценка:
AL>>А ты попробуй

AL>>
AL>>CString m_sInfoBox = "12345\r\n54321\r\n";
    
AL>>    int selFirst = 0, selLast = 0;
    
AL>>    m_InfoBox1.SendMessage(EM_GETSEL, (WPARAM)&selFirst, (LPARAM)&selLast);
    
AL>>    if (selFirst == selLast)
AL>>    {
AL>>        selFirst = selLast = m_InfoBox1.GetWindowTextLength();
AL>>    }        
AL>>    m_InfoBox1.SendMessage(EM_SETSEL, selFirst, selLast);
AL>>    m_InfoBox1.SendMessage(EM_REPLACESEL, TRUE, (LONG)(LPCSTR)m_sInfoBox);

AL>>


_>Попробовал, работает.


_>Может, Вам лучше привести более обширный кусок кода?


Вот такой код наабивает EditBox ОТЛИЧАЮЩИМИСЯ строками. После этого у меня прокрутка текста скроллбаром вызывает его смазывание.
CString m_sInfoBox = "12345\r\n54321\r\n";
int selFirst = 0, selLast = 0;

for (UINT i=0; i<100; i++)    
{  
  m_InfoBox1.SendMessage(EM_GETSEL, (WPARAM)&selFirst, (LPARAM)&selLast);
  if (selFirst == selLast)
  {
     selFirst = selLast = m_InfoBox1.GetWindowTextLength();
  }         
  m_InfoBox1.SendMessage(EM_SETSEL, selFirst, selLast);
  m_InfoBox1.SendMessage(EM_REPLACESEL, TRUE, (LONG)(LPCSTR)m_sInfoBox);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.