Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание Status Bar, проблема 
:(
    Опции темы
586
Дата 12.8.2008, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Цитата(MenSem @  11.8.2008,  14:00 Найти цитируемый пост)
А можно сделать так, что бы автоматом в строке состояние отображался текст, при наведении курсора на пункт меню, заданный в свойстве меню promt , как в MFC?

Это придётся делать вручную, обрабатывая сообщение WM_MENUSELECT.
Цитата(MenSem @  12.8.2008,  10:04 Найти цитируемый пост)
И еще вопрос: почему при изменении размеров главного окна status bar остается на прежнем месте? (на сообщение WM_SIZE не реагирует) 

При изменении размера окна отправь statusbar'у сообщение:
Код
SendMessage(hStatusBar, WM_SIZE, 0, 0);


PM   Вверх
MenSem
Дата 12.8.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 10.7.2008

Репутация: нет
Всего: нет



del

Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:07
--------------------
PM MAIL   Вверх
586
Дата 12.8.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Цитата(MenSem @  12.8.2008,  11:42 Найти цитируемый пост)
Можно чуть по подробней?

http://msdn.microsoft.com/en-us/library/ms646352(VS.85).aspx
Как работает это сообщение можешь в Spy++ посмотреть.


Цитата(MenSem @  12.8.2008,  11:42 Найти цитируемый пост)
hWndSbar - дескриптор status bar

Дескриптор верный? Проверял в отладчике значение переменной hWndSbar? Какая ОС?
PM   Вверх
MenSem
Дата 12.8.2008, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 10.7.2008

Репутация: нет
Всего: нет



del

Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:07
--------------------
PM MAIL   Вверх
586
Дата 12.8.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



В MSDN сказано, что такое сообщение можно посылать статусбару.
Цитата(http://msdn.microsoft.com/en-us/library/bb760728(VS.85).aspx)
The window procedure automatically adjusts the size of the status bar whenever it receives a WM_SIZE message. Typically, when the size of the parent window changes, the parent sends a WM_SIZE message to the status bar.

У меня всё работает. Имхо, у тебя где-то проблема.
PM   Вверх
MenSem
Дата 12.8.2008, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 10.7.2008

Репутация: нет
Всего: нет



del

Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:08
--------------------
PM MAIL   Вверх
MenSem
Дата 12.8.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 10.7.2008

Репутация: нет
Всего: нет



del

Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:08
--------------------
PM MAIL   Вверх
586
Дата 12.8.2008, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Цитата(MenSem @  12.8.2008,  13:45 Найти цитируемый пост)
Вообщем дошло в чем ошибка.

И в чём же была ошибка?
PM   Вверх
MenSem
Дата 12.8.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 10.7.2008

Репутация: нет
Всего: нет



del

Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:08
--------------------
PM MAIL   Вверх
MenSem
Дата 13.8.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 10.7.2008

Репутация: нет
Всего: нет



del

Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:08
--------------------
PM MAIL   Вверх
MenSem
Дата 14.8.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 10.7.2008

Репутация: нет
Всего: нет



del

Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:09
--------------------
PM MAIL   Вверх
mekhanikus
Дата 15.8.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вольноопределяющийся
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 16.6.2008
Где: Спасск-Дальний

Репутация: 1
Всего: 1



Цитата(MenSem @ 13.8.2008,  14:35)
Я так понимаю нужно ограничивать размеры MDICLIENT  что бы дочернии форы не залазили сверху на статус бар и сворачивались выше сатус бара?

Попробовал, действительно косяк, у меня тоже чилдрены закрывают статус бар или прячутся за него.
Как это побороть пока не знаю.
Может отлавливать момент сворачивания-разворачивания чилдов и направлять их в нужное русло?
PM MAIL   Вверх
GremlinProg
Дата 15.8.2008, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(MenSem @  13.8.2008,  16:35 Найти цитируемый пост)
Я так понимаю нужно ограничивать размеры MDICLIENT  что бы дочернии форы не залазили сверху на статус бар и сворачивались выше сатус бара?

попробуй создать статус не на клиенте, а на фрейме,
но при этом, на WM_SIZE фрейма необходимо позиционировать клиент вручную

Добавлено через 1 минуту и 32 секунды
лучше вообще все контролы вручную позичионировать


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Dem_max
Дата 15.8.2008, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Для ограничения размеров окна MDI попробуй вот это, хотя я ниразу для MDI не пользовался
Цитата

The WM_GETMINMAXINFO message is sent to a window when the size or position of the window is about to change. An application can use this message to override the window's default maximized size and position, or its default minimum or maximum tracking size. 

WM_GETMINMAXINFO  
lpmmi = (LPMINMAXINFO) lParam; // address of structure 


типа так:
  LPMINMAXINFO mmi;
   mmi->ptMinTrackSize.x=380;
   mmi->ptMinTrackSize.y=400;



--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
MenSem
Дата 15.8.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 10.7.2008

Репутация: нет
Всего: нет



del

Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:09
--------------------
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1173 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.