Текущий архив: 2003.07.07;
Скачать: CL | DM;
Вниз
Вопрос про STATIC Найти похожие ветки
← →
Василий Петрович (2003-05-05 21:26) [0]Привет!
Я делал у статика прозрачный фон:
WM_CTLCOLORSTATIC : Begin
SetBkMode(Wparam,TRANSPARENT);
SetTextColor(wparam,rgb(255,255,255));
end;
все получилось. только если теперь назначать статику другой текст, СТАРЫЙ текст не стирается, т.е. новый текст пишется ПОВЕРХ старого. В чем проблема у меня?
← →
Василий Петрович (2003-05-06 19:56) [1]неужели никто не поможет?
← →
nikkie (2003-05-06 20:10) [2]WM_CTLCOLORSTATIC
If an application processes this message, the return value is a handle to a brush that the system uses to paint the background of the static control.
а что ты возвращаешь?
← →
Василий Петрович (2003-05-06 21:35) [3]WM_CTLCOLORSTATIC :
Begin
SetBkMode(Wparam,TRANSPARENT);
SetTextColor(wparam,rgb(255,255,255));
Result:=GetStockObject(Null_Brush);
end;
← →
nikkie (2003-05-06 21:46) [4]Selecting a NULL_PEN or NULL_BRUSH into the device context tells GDI not to modify the normally affected areas. In short, "NULL_" objects do not draw anything.
ок, понятно. NULL_BRUSH тебе нужен, чтобы не затереть фон. но это имеет побочный эффект - не стирается старый текст. попробуй сразу после изменения текста сделать RedrawWindow для parent window, указав в качестве второго параметра прямоугольник твоего STATIC.
← →
Василий Петрович (2003-05-06 22:54) [5]Хм... можно примерчик...
Мне вообще то можно и не делать прозрачным фон, можно просто другим цветом, если мне это поможет.
← →
nikkie (2003-05-06 23:03) [6]примерчики можно обсуждать, когда ты хелп прочтешь и попробуешь эту функцию хотя бы вызвать...
>Мне вообще то можно и не делать прозрачным фон, можно просто другим цветом
ну если тебе так немного надо...
Result:=GetStockObject(BLACK_BRUSH);
Страницы: 1 вся ветка
Текущий архив: 2003.07.07;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c