Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

Как обновить 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.04 c
2-1124105228
alex-drob
2005-08-15 15:27
2005.09.25
Как завершать поток


2-1124172779
Гость22
2005-08-16 10:12
2005.09.25
Здравствуйте!


1-1125756087
MAVr
2005-09-03 18:01
2005.09.25
Удалить файлы с определенными атрибутами...


14-1124117877
_dimka
2005-08-15 18:57
2005.09.25
День траура рок музыки


2-1124197843
PIF
2005-08-16 17:10
2005.09.25
Разделитель между целой и дробной частью числа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский