Страница 1 из 1
Изменение стилей окон
Добавлено: Вс мар 27, 2005 16:37
Parcan
вот понадобилось поменять стиль окна, сделал так
::SetWindowLong(MyHwnd, GWL_STYLE, MyNewStyle);
а как теперь сказать окну, что бы оно переделалось согласно новым параметрам? а то окно так и работает как будто у него старый стиль.
Добавлено: Вс мар 27, 2005 17:20
D1P
UpdateWindow (MyHwnd);
-
Добавлено позже: правда, в некоторых случаях это почему-то не срабатывает (хотя должно), тогда я посылаю команды максимизировать/восстановить окно, тогда оно 100% перерисоввывается (ессно, оно дёргается, но других способов я не нашёл).
Добавлено: Пн мар 28, 2005 08:51
Parcan
D1P
а мне вообще ни как не помогло сделал 2 стиля с одним создается
WS_CHILD | WS_VISIBLE | WS_BORDER |WS_HSCROLL | WS_VSCROLL | ES_READONLY | ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | WS_TABSTOP
вторым переписываю
WS_CHILD | WS_VISIBLE | WS_BORDER |WS_HSCROLL | WS_VSCROLL | ES_READONLY | ES_MULTILINE | WS_TABSTOP
со вторым стилем в окне должно быть word wrap... и ничего не изменяется, а если создаю окно с этим стилем, то все нормально, стиль переписывается верно, посмотрел число там получается мне нужное, голову не приложу, обновлял окно, ресайзил, обновлял в нем текст, а оно все по старому.
Добавлено: Вт мар 29, 2005 09:00
Parcan
Замучился, но так ничего и не вышло, полоска прокрутки по горизонтали отключилась, а переноса строк я так и не добился, вобщем так и пришлось убивать окно и создавать его заново.
Добавлено: Чт мар 31, 2005 19:44
hoopoe
попробуй текст снова подсунуть, типа GetWindowText();SetWindowText()...
Добавлено: Пт апр 01, 2005 14:28
Parcan
hoopoe
попробуй текст снова подсунуть, типа GetWindowText();SetWindowText()...
пробовал не получилось, я и текст менял и перерисовывал окно, скролы стали работать как быдто текст имеет перенос строк, а сам текст по прежнему отражался по старинке, а если я создаю окно с этим же стилем, то все нормально