Задача следующая:
пишу в SDI проекте эмулятор DOS
Проблема: вывожу ответы, надписи и т.д.
когда дохожу до края окна текст естественно внизу.
Вызываю ScrollWindow и - облом текста нет (тот что был виден скролиттся вверх) Тот что не был виден - виден не становится.
Попробовал сделать по-другому - скролить перед выводом текста - в дебаге вижу , что он скролит перед выводом текста (по значениям переменных вижу), а при исполнении видно , что текст проскакивает на заднем фоне и тут же затирается).
Что посоветуете ?
Scroll окна
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
В SAD - все в SAD.
Кто родитель класса дочернего СДИокна? СEditView?
Ты текст рисуешь на DC штоли? Опиши поподробнее что там у тебя...
Ты текст рисуешь на DC штоли? Опиши поподробнее что там у тебя...
Удачи... =)
CView.
получаю CDC
CDC* dc=AfxGetMainWnd()->GetActiveView->GetDC();
dc->TextOut();
Вот.
Скролю его следующим образом
if(maxY<y)
{
AfxGetMainWnd()->GetActiveView->ScrollWindow(0,-(y-maxY+15));
y-=(y-maxY+15);
}
Тот текст который был на экране нарисован скролится без проблем.
Тот который был за пределами экрана - не отображается.
(Такая ситуация возникала при выводе нескольких строк тектса).
Потом сделал так чтобы скролилось построчно, и получил следующую ситуацию - видно как текст на мгновение мерцает (тот который выводился за границы экрана) и опять его не видно.
получаю CDC
CDC* dc=AfxGetMainWnd()->GetActiveView->GetDC();
dc->TextOut();
Вот.
Скролю его следующим образом
if(maxY<y)
{
AfxGetMainWnd()->GetActiveView->ScrollWindow(0,-(y-maxY+15));
y-=(y-maxY+15);
}
Тот текст который был на экране нарисован скролится без проблем.
Тот который был за пределами экрана - не отображается.
(Такая ситуация возникала при выводе нескольких строк тектса).
Потом сделал так чтобы скролилось построчно, и получил следующую ситуацию - видно как текст на мгновение мерцает (тот который выводился за границы экрана) и опять его не видно.
В SAD - все в SAD.
Попробуй скроллить ScrollWindowEx(,,,,,, SW_INVALIDATE);
Если не получится будем смотреть ... но я как-то просто делал эту хрень ... =)
Если не получится будем смотреть ... но я как-то просто делал эту хрень ... =)
Удачи... =)