Re[7]: Глюк VScroll в CEdit
От: visual_wind  
Дата: 18.11.04 14:28
Оценка:
Здравствуйте, AlexLux, Вы писали:

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>>>


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


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


AL>Вот такой код наабивает EditBox ОТЛИЧАЮЩИМИСЯ строками. После этого у меня прокрутка текста скроллбаром вызывает его смазывание.

AL>
AL>CString m_sInfoBox = "12345\r\n54321\r\n";
AL>int selFirst = 0, selLast = 0;

AL>for (UINT i=0; i<100; i++)    
AL>{  
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>}

AL>


У меня все работает нормально.
Может, приведете подробности создания едита и место, в котором вызывается функция, в которой Вы заполняете едит?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.