|
|
|
Нарисовать линию на 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?desktop=1&fid=57&tid=2035147]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 309ms |

| 0 / 0 |
