Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

Перерисовка окна   Найти похожие ветки 

 
Злодей ©   (2003-08-21 16:12) [0]

Здраствуйте. У меня трабл. Мне нужно поверх активного окна (не моё приложение) вывести текст (время). Но при выводе текст мерцает. Что-то подсказывает, что надо ловить onPaint этого окна, но пока силёнок маловато, а очень надобно. Помогите, плз...


 
KSergey ©   (2003-08-21 16:21) [1]

Ну сделать свое окно - и его на самый верх покласть. И ничего мерцать не будет (возможно, смотря как сделать ;).


 
MMF ©   (2003-08-21 16:47) [2]

Подмени оконную процедуру, что-то вроде:
OldProc:= Pointer(GetWindowLong(Wnd,GWL_WNDPROC));
SetWindowLong(WND, GWL_WNDPROC, Integer(@NewProc));
SendMessage(WND, WM_Paint, 0, 0);

function NewProc(Handle: hWND; Msg, wParam, lParam : LongInt): LongInt; stdcall;
begin
Result:=CallWindowProc(OldProc, Handle, Msg, wParam, lParam);
if Handle=StatusWnd Then
Case MSG of
WM_PAINT : RefreshText();
end;
end;

procedure RefreshText();
var
StatusRect, TextRect: TRect;
Text: string;
begin
Text="Гы-гы";
StatusDC:=GetDC(WND);
GetClientRect(WND, StatusRect);
SetTextColor(StatusDC, clBlue);
SetBkColor(StatusDC, clSilver);
DrawText(StatusDC, Pchar(Text), -1, TextRect, DT_RIGHT);
ReleaseDC(WND, StatusDC);
end;



Страницы: 1 вся ветка

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-10917
Pitay
2003-08-17 20:46
2003.09.04
Помогите пожалуйста слово на буквы разобрать(((


14-10969
Igor__
2003-08-15 15:27
2003.09.04
Вопрос Хмельничанам


14-10869
Soft
2003-08-18 16:26
2003.09.04
Освоить Linux ненамного труднее, чем Windows ХР???


1-10822
D_V_P
2003-08-21 17:02
2003.09.04
Интерфейсы


1-10775
pvb87
2003-08-23 19:03
2003.09.04
Linux