|
|
|
Нарисовать линию на RichEdit
|
|||
|---|---|---|---|
|
#18+
В CBuilder пытаюсь нарисовать линию, разделяющую страницы на RichEdit средствами WINAPI. Линия рисуется, но имею некорректное поведение при редактировании текста. Может кто-то что нибудь подскажет? void __fastcall TForm1::FormActivate(TObject *Sender){ WindowProc=NewWindowProc; // подменяем процедуру окна } //-------------------------- static int n=0; // счетчик проходов через WM_PAINT //-------------------- void __fastcall TForm1::NewWindowProc(Messages::TMessage &ms){ PAINTSTRUCT ps; void *h=ri->Handle; // ri - это TRichEdit HDC hdc; POINT f1; int y=28; switch(ms.Msg){ case WM_PAINT: n++; lbl->Caption=n; hdc=BeginPaint(h,&ps); MoveToEx(hdc,y,y,&f1); LineTo(hdc,200,y); EndPaint(h,&ps); break; } this->WndProc(ms); } //--------------------------------------------------------------------------- void __fastcall TForm1::riKeyPress(TObject *Sender, char &Key){ // при редактировании перерисовывать ri->Invalidate(); lbl->Invalidate(); Application->ProcessMessages(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 13:02 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=451&tid=2035147]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 344ms |

| 0 / 0 |
