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

Вниз

Как обновить TEdit   Найти похожие ветки 

 
leonidus ©   (2005-09-05 09:37) [0]

У меня такая проблема. Сделал форму "повех всех" путем перехвата WM_WINDOWPOSCHANGING:

procedure TForm2.WMWINDOWPOSCHANGING(var Msg: TWMWINDOWPOSCHANGING);
begin
  SetWindowPos(form2.Handle,HWND_TOPmost,form2.Left,form2.Top,form2.Width,form2.Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE );
end;

Перехватывая WM_ACTIVATE хочу обновлять все контролы:

procedure TForm2.WMACTIVATE(var Msg: TWMACTIVATE);
begin
form2.Refresh;
ListView1.Refresh;
FindWord.Refresh;  //TEdit
end;

На форме помимо других контролов лежит еще и TEdit (FindWord), так вот если поверх мой формы положить другую форму тоже в режиме "поверх всех" например Диспетчер задач, а потом по Alt+Tab перключиться на мою форму, то все контролы кроме TEdit`а перерисовываются, а на TEdit`е остаются "куски" лежащей поверх формы, причем стоит навести на него мышью как он корректно обновляется. Как мне его самому обновить без наведения мышью?


 
IceBeerg ©   (2005-09-05 13:25) [1]

Попробуй что либо из:
Edit1.Update
SendMessage(Edit1.Handle,WM_PAINT...
UpdateWindow(...


 
leonidus ©   (2005-09-05 14:50) [2]

Нет, не помогает этот блок ставил так:

procedure TForm2.WMACTIVATE(var Msg: TWMACTIVATE);
begin
form2.Refresh;
ListView1.Refresh;
FindWord.Update;
SendMessage(FindWord.Handle,WM_PAINT,0,0);
UpdateWindow(FindWord.Handle);
end;

procedure tform2.WMACTIVATEAPP(var Msg: TWMACTIVATEAPP);
begin
form2.Refresh;
FindWord.Update;
SendMessage(FindWord.Handle,WM_PAINT,0,0);
UpdateWindow(FindWord.Handle);
end;

всеравно не обновляется контрол. Мне только не понятно почему все контролы нормально орисовываются и TComboBox и TListView и TButton`ы а именно TEdit не хочет...
Кстати если чужим окном по моему провести то когда мое полность покажется все контролы прорисованы, а вот если мое окно лежит под чужим и немного выглядывает, а я по нему щелкаю, то оно вылазиет вперед но TEdit не прорисован...


 
KosilkA ©   (2005-09-05 15:04) [3]

может  InvalidateRect ?


 
IceBeerg ©   (2005-09-05 18:16) [4]

SendMessage(tform2.Handle,WM_PAINT,FindWord.Handle,0);?



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

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

Наверх




Память: 0.47 MB
Время: 0.056 c
14-1125580110
KilkennyCat
2005-09-01 17:08
2005.09.25
1 cентября. С Днем рождения!


4-1123025533
i-s-v
2005-08-03 03:32
2005.09.25
Несколько вопросов по WinAPI


6-1117644962
Dok
2005-06-01 20:56
2005.09.25
широковещательный connect


4-1122815038
Dust
2005-07-31 17:03
2005.09.25
висяк на Winsock.Socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);


6-1114492563
Макс Т.
2005-04-26 09:16
2005.09.25
TWebBrowser и курсор ввода