|
|
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
Свойства задания цвета рамки вроде такого нет... События перерисовки тоже нет, и канваса TEdit не имеет. Теряюсь в догадках, что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 01:10 |
|
||
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
WM_NCPAINT - событие отрисовки неклиентской части. В данном случае, как раз бордера. Получаешь DC и рисуешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 07:58 |
|
||
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
А можно немножко поподробнее, как этот мессадж использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 15:32 |
|
||
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
На самом деле все намного проще. У Edit-a набо сделать свойство BorderStyle = bsNone А в обработчике OnPaint формы написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Будет тебе красный бордюр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 20:05 |
|
||
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
Спасибо, конечно, но моя идея - создать кмпонентик, у которого можно задавать цвет бордера. Через форму это не получится, значит, надо закладывать в потомок TEdit, или это вообще потомок чего-то другого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 21:04 |
|
||
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
MSDNThe DefWindowProc function paints the window frame. An application can intercept the WM_NCPAINT message and paint its own custom window frame. The clipping region for a window is always rectangular, even if the shape of the frame is altered. The wParam value can be passed to GetDCEx as in the following example. Код: plaintext 1. 2. 3. 4. 5. 6. То бишь, что получается: ты получаешь точный прямоугольный DC неклиентской части ЕдитБоха, в котором можешь рисовать, при этом ты должен создать регион для клиппинга, который будет покрывать клиентскую часть окна (сам ЕдитБох) и не перерисовывать её на этой месаге(WM_NCPAINT). Как создавать и использовать регионы, смотри функцию SetWindowRgn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 07:34 |
|
||
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
А дескриптор не из BeginPaint() получать разве? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 00:13 |
|
||
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
BeginPaint готовит DC для клиентской части. А нам нужна неклиентская. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 08:06 |
|
||
|
Хочу TEdit с цветной рамкой
|
|||
|---|---|---|---|
|
#18+
А нельзя все-таки реальный пример из жизни, а не из MSDN-a, непонятно, как все эти дексрипторы получать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2004, 01:05 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32547757&tid=2034816]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 320ms |

| 0 / 0 |
