Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ToolBar в Visual С++  (Прочитано 17744 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Newbie
Гость
« : 09-10-2006 09:43 » 

Здравствуйте!
Я новичок и программирую на Visual C++
Если вам не трудно объясните мне, как поставить ToolBar на диалоговое(!) окно.
Объясните все пошагово, как ставить, что делать ...
Хотелось бы иметь такой же тулбар как у FireFox(back,forward,home, etc. ), на диалоговом окне.
Заранее благодарен!
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 09-10-2006 10:06 » 

Какая версия Студии? MSDN есть? Там всё подробно с примером расписано.

Тема называется

DLGCBR32 Sample: Demonstrates Adding a Status Bar and Toolbar to Dialog Boxes

зы А какова необходимость Тулбара на диалоге? Это вообще-то не очень типично. Конечно бывают исключения, но раз новичок, то может быть проблемы с концепцией?
« Последнее редактирование: 09-10-2006 10:11 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 09-10-2006 10:21 » 

Вот посмотри прикрипленный файл.

* ToolBar.zip (122.63 Кб - загружено 1281 раз.)
Записан
Newbie
Гость
« Ответ #3 : 09-10-2006 19:58 » 

Serg79, Джон  spasibo!
 Но там не совсем то что я хотел. Хочу узнать, как сделать тулбар с помощью ресурса ToolBar (v Resource yest Add ToolBar, zachem ono ? Быть такого не может) которая не ограничена в размерах и чтоб ее можно поставить в любую часть окна, а не только сверху.
Kstate, MSDN yeshe ne posmotrel, mojet chto i viydet... 
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #4 : 09-10-2006 22:16 » 

Newbie, то что ты хочешь сделать определяется свойством под названием Docking. Ещё раз - использование Тулбара в диалоге - извращение. Может ты скажешь, что именно ты хочешь сделать? Тогда будет легче тебе помочь.
Диалог - скажем так - наименьшее оконное приложение, обычно используется в качестве контейнера элементов управления - не больше и не меньше. Скажем тебе нужен Edit или ListBox ну ещё пару кнопок. Просто так в воздухе ты их не подвесишь. Для этого и служит диалог. Поэтому он не обрабатывает стандартно кучу сообщений.
Тулбар - по природе своей служит ускоренным доступом к элементам меню. Поэтому мне не понятно твоё желание разместить Тулбар именно на Диалоге. Может разъяснишь?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Newbie
Гость
« Ответ #5 : 09-10-2006 22:49 » 

Ну, в прогах типо FlashGet,CCleaner toolbar использован вместо кнопок,раскладок итд...И смотрится это очень красиво.
А мне хотелось бы иметь, ну что-то типо этого.
Кстате,  я поставил иконку в CTreeCtrl а она отображается, но качество портится(смотреть страшно)16х16 изображение. ПОЧЕМУ так?
И можно ли не bmp изоброжение использавать как BITMAP?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 09-10-2006 23:09 » 

Newbie, во-первых с чего ты взял, что каждый знает проги "типо FlashGet и CCleaner". Мне это ни о чём не говорит. А во-вторых, кто тебе сказал, что FlashGet - это диалоговое приложение?

Про остальное - не надо валить всё в кучу. Если очень надо - открывай новую тему. Приведи код как ты это делаешь, короче подробней.

И ошибки в русском языке всё-таки исправляй. И уж тем более не мешай с транслитом. Уважай собеседника, если хочешь, чтобы тебе помогли.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Newbie
Гость
« Ответ #7 : 10-10-2006 19:33 » 

Ну, за ошибки сорри, привык я на форумах писать на «Албанском».
 Теперь о FlashGet, я думал, что это диалоговое приложение, так как такого интерфейса диалогом и  тулзами (дерево и листбоксы) добиться легче.
Насчет вопросов, я не хотел создавать отдельную тему по каждому вопросу, к которому не находил ответа в книге. А таких вопросов ооочень много...
Вернемся к тулбарам. Как мне нарисовать тулбар как в FlashGet?
 
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #8 : 10-10-2006 21:06 » 

Ок, албанский только в юмор, как говорится из песни слово не выбросишь.

Не бойся создавать разные темы - гораздо хуже когда всё в куче - не знаешь за что хвататься.

И ещё одно - на будущее - внимательно читай ответы других участников и отвечай на вопросы, которые задаются в твоих же интересах.

Какая версия Студии?

То что ты программируешь на Visual C++  итак ясно, этот раздел так и называется " WinAPI & Visual C++" так что инфа эта ничего не дала. А вот какая у тебя студия 6,7,7.1 или 8 - это уже важно, чтобы поточней ответить на вопрос. Пока этой инфы ты не дал - отвечу в общем, это будет справедливо для всех версий.

Итак, FireFox, FlashGet и им подобные относятся к типу приложений, который назывется SDI - Single Document Interface. Посмотри внимательно при выборе типа приложения (у каждой студии вид диалога немного отличается). Обычно ToolBar включен автоматически, если нет - проверь соответствующую опцию.
Ещё тебе понадобится такой контрол как разделитель. Самое простое для начала - выбрать стиль как у Explorer (все эти опции ты найдёшь на страничках свойств при создании проекта). После этого у тебя будет разделённое на две части окно и ToolBar.
Очевидно ты захочешь пойти дальше - в этом случае полезно будет посмотреть тему в MSDN по ключевому слову CDialogBar. Как правило стандартный ToolBar имеет очень слабую поддержку различных контролов - надо всё делать ручками. А CDialogBar - практически нормальный диалог, который можно использовать в качестве ToolBar.
Сделай поиск по форуму - это уже обсуждалось ИМХО.

А про дерево открой новую тему и обязательно приведи код, как делаешь. У меня есть одна идейка почему это у тебя не работает.

Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Newbie
Гость
« Ответ #9 : 10-10-2006 22:02 » 

Версия 7.0 (нормально ли это???)
Вот пример нужного тулбара(закреплен)!
У меня приложение Dialog Based ! Реально ли там нарисовать там такой тулбар?

* Capture.jpg (60.62 Кб - загружено 1157 раз.)
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #10 : 10-10-2006 22:30 » 

7.0 была не совсем удачная - поэтому выпустили сразу .NET 2003 лучше её поставь. Ну, а если о будущем думаешь, то однозначно ставь 2005ю - если есть возможность.

Теперь к контролу, который ты ToolBar-ом называешь. На самом деле - это нестандартный контрол, которого в винде нет. Это тн Outlook-контрол, микрософт применила его впервые в Аутлуке и Visio.
Такие контролы делаются ручками. В данном случае выбор Диалога совершенно оправдан. Примитивным эквивалентом ему может служить ListBox. Ещё лучшей алтернативой всму диалогу может служить PropertySheet, конечно в нестандартном исполнении.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Newbie
Гость
« Ответ #11 : 10-10-2006 23:03 » 

Жаль Новую версию придется изучать заново ?  У меня все книжки для 7.0 и 6.0

А контрол не оказался тулбаром Жаль Пойду УБЬЮСЬ АП СТЕНУ!!!!!!
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #12 : 10-10-2006 23:21 » 

Да нет, 7.1 такая же как и 7. В 2005 отличий побольше.

Иди, только сначала пойми и запомни, что всё что ты видишь в винде - это окна, которые можно нарисовать самому, так как тебе этого хочется. Надо только узнать как это делается.
Если череп окажется крепче стены, то после "ап стену" сходи на codeprject.com и посмотри там:
http://www.codeproject.com/miscctrl/

Например вот такое - http://www.codeproject.com/miscctrl/outbar2.asp
Может есть и точно такое как ты хочешь, у меня сейчас просто времени нет искать.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Newbie
Гость
« Ответ #13 : 11-10-2006 20:38 » 

Спасибо! Материала с codeproject.com мне хватит на долго…
Теперь можно и другие темы создавать Отлично
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines