WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Окно инструментов как в Photohop-е

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Окно инструментов как в Photohop-е
Sancho опубликован 24-05-2001 21:19 MSK   Click Here to See the Profile for Sancho   Click Here to Email Sancho  
Доброго всем времени суток!
Есть один вопросик: как я в своем приложении могу создать окно инструментов наподобии Фотошоповского окнаинструментов (ну то, в котором кисточки лассо и т. д.)
Очень надобно! Проект горит!!!
Ответы можно присылать по почте: 21sancho@mail.ru
Язык: C++ | VisualC++.
Заранее благодарен за ответы!
Demo_S опубликован 24-05-2001 22:58 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
а в чем собственно говоря трудность заключается?
Sancho опубликован 25-05-2001 08:39 MSK     Click Here to See the Profile for Sancho  Click Here to Email Sancho     
2 Demo_s!
Трудность вот в чем!
Создаю я окно с помощью CreateWindowEx, устанавливая при этом соответствующие стили и свойства окна (WS_EX_TOOLWINDOW, WS_CAPTION, WS_POPUP и некоторые другие).
Но! В момент запуска приложения окно инструментов активно, а главное окно - НЕАКТИВНО (т. е. его CAPTION перекрашивается в другой цвет). При передаче фокуса главному окну обратная картина: инструменты неактивны, а главное - активно.
Ео ведь в Шопе и главное окно и окно инструментов и другие плавающие окна с закладками ВСЕГДА АКТИВНЫ!!!
Как это сделать я не знаю!
Вот и прошу помощи!
Jimmy опубликован 25-05-2001 09:34 MSK     Click Here to See the Profile for Jimmy  Click Here to Email Jimmy     
А там по-моему бычный CWnd, нарисованный "под" окно. А перетаскивание и кнопки заголовком реализ. с пом. обработки соотв событий.
Jimmy опубликован 25-05-2001 09:37 MSK     Click Here to See the Profile for Jimmy  Click Here to Email Jimmy     
... и кнопки заголовкоВ...
I'm sorry
OlegN опубликован 25-05-2001 00:50 MSK     Click Here to See the Profile for OlegN  Click Here to Email OlegN     
В пакете VC++ 6.0 есть неплохая утилита
Spy++
Я ее часто использую когда нужно подшпионить
за удачными окнами в других программах.
Делаю приболизительно так.
Получаю все стили нужного окна и его
Parent-a, просматриваю сообщения,
и т.д.
Так что пошпионь за фотошопом, может что и
нашпионишь.
Sancho опубликован 27-05-2001 10:20 MSK     Click Here to See the Profile for Sancho  Click Here to Email Sancho     
2 OlegN!
Запробовал я эту утилитку (Spy++). Штуковина хорошая. Но! Применение стилей, показанных ею для окон фотошопа, такого результата не дало! :(( Тут что-то другое...

2 Jimmy!
Поясни, плз, что есть CWnd и с чем его едят.
(Перекопал помощь по АПИ - нашел очень мало информации и практически ничего не понял)

Спасибо всем за ответы!

Jimmy опубликован 27-05-2001 18:14 MSK     Click Here to See the Profile for Jimmy  Click Here to Email Jimmy     
http://www.msdn.microsoft.com/library/default.asp?ShowPane=false&URL=/library/devprods/vs6/visualc/vcmfc/_mfc_cwnd.htm

В двух словах: CWnd - класс, "стоящий у истоков" CFrameWnd, CView, CDialog и многих других мфсишных классов. Объектом данного класса является просто прямоугольный кусок экрана с контекстом. Т.е. можно рисовать. Ну и естественно отлавливать события разные (напр. "мышиные"). Таким образом средствами данного класса можно "нарисовать" фрейм самому и реализовать различные перетаскивания, сворачивания-разворачивания т.д. Возможно так заделано в фотошопе.
Вот.

kiborg опубликован 04-06-2001 05:47 MSK     Click Here to See the Profile for kiborg  Click Here to Email kiborg     
На самом деле нужно отслеживать сообщение WM_ACTIVATE и при любом флаге активности делать заголовок активным.

//------------------------------------------
case WM_ACTIVATE :
SendMessage(hwnd,WM_NCACTIVATE,(WPARAM)TRUE,0L);
return 0;

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.