| Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых) | 
| eXeL@B —› Программирование —› Как перерисовать окно? | 
| Посл.ответ | Сообщение | 
| 
 | 
Создано: 27 апреля 2006 16:43 · Поправил: nikitosk  · Личное сообщение · #1 делаю такое: SetWindowLong(hWnd,GWL_STYLE,style); SetWindowText(hWnd,'some text'); и пока я не сверну и не разверну родительское окно... окна над которыми я проделал данные действия перерисовываются неполностью или вообще не перерисовываются... как его программно обновить ? sendMessage(hWnd,Wm_paint) - не помогает UpdateWindow(hWnd,,) - тоже и RedrawWindow(hWnd,nil,nil,RDW_UPDATENOW); тоже не помогает ![]()  | 
| 
 | 
Создано: 27 апреля 2006 17:01  · Личное сообщение · #2  | 
| 
 | 
Создано: 27 апреля 2006 17:14 · Поправил: nikitosk  · Личное сообщение · #3 все равно не получается... изначально контрол выглядит так:  
я с ним делаю: SetWindowLong(hWnd,GWL_STYLE,style); SetWindowText(hWnd,TrimFirstSymbol(oldWindowText)); InvalidateRect(hWnd,0,true); я хочу чтоб контрол выглядел так:  
а после InvalidateRect он выглядит вот так:  
То есть изображение перерисовывается но поверх старого... Старое не стирается.... почему? ![]()  | 
| 
 | 
Создано: 27 апреля 2006 17:25  · Личное сообщение · #4  | 
| 
 | 
Создано: 27 апреля 2006 17:26  · Личное сообщение · #5  | 
| 
 | 
Создано: 27 апреля 2006 17:26  · Личное сообщение · #6 в делфях для vcl я так делал: procedure TFlatButton.CreateParams(var Params: TCreateParams);
или перекрывай CreateParams радиобаттона своего или сделай компоненту.. ----- Тут не могла быть ваша реклама ![]()  | 
| 
 | 
Создано: 27 апреля 2006 17:55  · Личное сообщение · #7  | 
| 
 | 
Создано: 27 апреля 2006 17:59  · Личное сообщение · #8  | 
| 
 | 
Создано: 27 апреля 2006 23:20 · Поправил: nikitosk  · Личное сообщение · #9  | 
| 
 | 
Создано: 28 апреля 2006 03:39  · Личное сообщение · #10  | 
| 
 | 
Создано: 28 апреля 2006 04:51  · Личное сообщение · #11 В хелпе пишут, что эта функция служит для инициализации параметров окна и вызывается из CreateWnd для инициализации параметров, передаваемых позже ф-ции CreateWindowHandle. Сам можешь вызывать её, если тебе надо из класса твоего окна убрать параметры CS_HREDRAW и CS_WREDRAW, чтобы перерисовывалась не вся область, а только указанная тобой часть. Типа, так быстрее. ![]()  | 
| eXeL@B —› Программирование —› Как перерисовать окно? | 






 Для печати