Страница 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()...
пробовал не получилось, я и текст менял и перерисовывал окно, скролы стали работать как быдто текст имеет перенос строк, а сам текст по прежнему отражался по старинке, а если я создаю окно с этим же стилем, то все нормально