Изменение стилей окон

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
Аватара пользователя
Parcan
Сообщения: 399
Зарегистрирован: Ср дек 15, 2004 16:39
Откуда: Russian

Изменение стилей окон

Сообщение Parcan »

вот понадобилось поменять стиль окна, сделал так

::SetWindowLong(MyHwnd, GWL_STYLE, MyNewStyle);

а как теперь сказать окну, что бы оно переделалось согласно новым параметрам? а то окно так и работает как будто у него старый стиль.
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

UpdateWindow (MyHwnd);
-
Добавлено позже: правда, в некоторых случаях это почему-то не срабатывает (хотя должно), тогда я посылаю команды максимизировать/восстановить окно, тогда оно 100% перерисоввывается (ессно, оно дёргается, но других способов я не нашёл).
Аватара пользователя
Parcan
Сообщения: 399
Зарегистрирован: Ср дек 15, 2004 16:39
Откуда: Russian

Сообщение 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... и ничего не изменяется, а если создаю окно с этим стилем, то все нормально, стиль переписывается верно, посмотрел число там получается мне нужное, голову не приложу, обновлял окно, ресайзил, обновлял в нем текст, а оно все по старому.
Аватара пользователя
Parcan
Сообщения: 399
Зарегистрирован: Ср дек 15, 2004 16:39
Откуда: Russian

Сообщение Parcan »

Замучился, но так ничего и не вышло, полоска прокрутки по горизонтали отключилась, а переноса строк я так и не добился, вобщем так и пришлось убивать окно и создавать его заново.
hoopoe
Сообщения: 22
Зарегистрирован: Ср дек 15, 2004 09:50

Сообщение hoopoe »

попробуй текст снова подсунуть, типа GetWindowText();SetWindowText()...
Аватара пользователя
Parcan
Сообщения: 399
Зарегистрирован: Ср дек 15, 2004 16:39
Откуда: Russian

Сообщение Parcan »

hoopoe
попробуй текст снова подсунуть, типа GetWindowText();SetWindowText()...
пробовал не получилось, я и текст менял и перерисовывал окно, скролы стали работать как быдто текст имеет перенос строк, а сам текст по прежнему отражался по старинке, а если я создаю окно с этим же стилем, то все нормально
Ответить