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++
  Помогите кто чем может!

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

Автор Тема:   Помогите кто чем может!
SUnteXx опубликован 17-10-2001 10:40 MSK   Click Here to See the Profile for SUnteXx   Click Here to Email SUnteXx  

1) Как узнать в какой кодировке находится текст в Clipboard'e?

2) Как без помощи MFC проскинировать окно и диалог?

3) Как без помощи MFC добавить свои кнопки в заголовок окна (рядом с Minimize...)?

4) Как в меню без помощи MFC загрузить картинку 16х16 или больше, да чтоб еще белый
цвет не означал прозрачность?

5) Как сделать плоский Toolbar с плоскими кнопками. При наведении на кнопку мышкой, кнопка выпирает... В MFC это стиль CBRS_... А без использования MFC как это сделать?

Flex Ferrum опубликован 17-10-2001 11:10 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
Могу сказать так:
1. Из клипбоарда берешь данные в формате CF_UNICODETEXT, после чего преобразовываешь функцией WideCharToMultiByte преобразовываешь к нужной тебе кодовой странице.
2. - 5. Самый лучший способ - заглянуть в исходники MFC и MSDN - там все написано :))), а если по пунктам, то
2. Что ты понимаешь под словом "проска(и)нировать"?
3. Обрабатывать сообщения WM_NCPAINT, WM_NCHITTEST и иже с ними
4.-5. См. MSDN
m_fox опубликован 17-10-2001 17:00 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
Проскинировать - это наложить скин наверное.

Тебе понадобятся функции:
Функции работы с картинками
Функции работы с регионами
SetWindowRegion
Представление о том, как обрабатывать WM_PAINT
Знание работы ф-ции BitBlt

1. Каким-нибудь образом открываешь картинку.
2. Создаешь регион в памяти
3. Сканируешь картинку и убираешь из региона прозрачные пикселы.
4. Используешь SetWindowRegion
Не удаляй регион!!! он удалится сам, после уничтожения окна!!
5. Обрабатываешь WM_PAINT и рисуешь в своем окне картинку.

SUnteXx опубликован 17-10-2001 19:25 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
Я под словом проскинировать имел ввиду создать скин для окна (для всего окна, включая дочерние окна!).
Всем спасибо, конечно же, но я не понимаю как можно проскинировать заголовок окна, тулбар, статусбар, все дочерние окна, меню, ... и т.д и т.п.
А функция создания региона из картинки у меня есть и даже проверена - работает!
m_fox опубликован 18-10-2001 11:35 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
Создавай окно без загаловка и без кнопок закрытия, системного меню.
Рисуй их сам и реагируй соответственно.
Flex Ferrum опубликован 18-10-2001 00:08 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
Для этого тебе придется пергрузить оконные функции всех твоих окон (иначе говоря, сделать subclass'инг) - и обрабатывать приходящие к ним сообщения WM_ERASEBKGND, WM_PAINT, WM_NCPAINT и т. п.
Flex Ferrum опубликован 18-10-2001 00:17 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
По поводу меню - я думаю, что практически невозможно. Покапай в направлении Owner Draw Menu Items, но это не на все случаи жизни.
Demo_S опубликован 19-10-2001 00:49 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
1)почитай в MSDN там где про клипборд написано. тама вроде есть функши для определения формата данных в клипборде, причем текст в вин1251 и дос кодировке считается вроде разными. если я ничего не перепутал... в общем, читай ммсдн.

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


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.