![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перерисовать Scroll у TRichEdit`а ? [D6, WinXP]
leonidus © (2007-05-25 10:07:00)Проблема вот в чем, после заполнения RichEdit данными, у меня не всегда корректно прорисовывается вертикальный ScrollBar, точнее сама полоса прокрутки нормально видна, а вот стрелки вверх и вниз не видны пока я на них не наведу курсор. Я подумал что можно найти ScrollBar через FindWindow и потом сделав sendmessage отправить ему сообщение WM_REPAINT. Но почему-то не получается найти хэндл ScrollBar RichEdit`а. Помогите пожалуйста разобраться.
clickmaker (2007-05-30 11:28:00) [1]
> [10] homm © (30.05.07 11:17)
ну в смысле, непонятно, если HideScrollbars = False, ScrollBars = ssVertical, то до заполнения они тоже без стрелок или нормальные?
Если HideScrollbars = True, то понятно, что нормально
homm (2007-05-30 11:17:00) [2]> а до заполнения?
А до заполнения и так же все нормально. Зачем перерисовывать то?
clickmaker (2007-05-30 10:59:00) [3]
> leonidus © (25.05.07 10:07)
> Проблема вот в чем, после заполнения RichEdit данными
а до заполнения? И как заполняешь?
странный глюк, вообще-то. Ни разу не наблюдал
clickmaker (2007-05-30 10:45:00) [4]
> [6] homm © (29.05.07 21:13)
> SendMessage(NC_PAINT, <далее по справке>);
RedrawWindow(form8.RichEdit.Handle, nil, 0, RDW_INVALIDATE or RDW_UPDATENOW or RDW_FRAME);
homm (2007-05-29 21:27:00) [5]Сори за дезинфу.
WM_NCPAINT
homm (2007-05-29 21:13:00) [6]
SendMessage(NC_PAINT, <далее по справке>);
capkoh (2007-05-29 20:50:00) [7]Естественно, что делаете это ПОСЛЕ заполнения данными? В самом конце? А вообще, можно посоветовать ещё вот такое попробовать:
SendMessage(RichEdit1.Handle, WM_NCPAINT, 1, 0);
leonidus (2007-05-29 16:15:00) [8]господа, подскажите еще какую нибудь идею...
leonidus (2007-05-28 11:05:00) [9]Ничего не помогает, перепробовал все, делаю так:
form8.RichEdit.Invalidate;
InvalidateRect(form8.RichEdit.Handle, nil, true);
RedrawWindow(form8.RichEdit.Handle, nil, 0, RDW_UPDATENOW);
в чем же засада?
leonidus (2007-05-25 13:56:00) [10]Сделал:
InvalidateRect(form8.RichEdit1.Handle, nil, true);
RedrawWindow(form8.RichEdit1, nil, 0, RDW_UPDATENOW);
толку ноль...
clickmaker (2007-05-25 12:48:00) [11]InvalidateRect(RichEdit.Handle, nil, true)?
RedrawWindow(RichEdit.Handle, ...)?
у ричэдита нету отдельных скролбаров с хэндлами - они рисуются