Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru


RusFAQ.ru: Win API

Выпуск № 034
от 11.12.2003, 12:20

Администратор:
Имя: Калашников О. А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 77
Отправлено ответов: 134
Активность: 174.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

BOLT
Статус: Профессиональный
Общий рейтинг: 171.21
URL: Начинающему программитсу: софт, примеры, документация, Assembler, C & C++.
Телефон: Три раза АУ!
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 106.32
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 74. Hi! Для начала хотелось бы поздравить всех с наступающим Новым годом! В приложении тестовая прога - ... (ответов: 1)
Вопрос № 75. Появилась проблема с использованием своих иконок для тулбара, я нашел два способа использования их и... (ответов: 2)

Вопросов: 2, ответов: 3


 Вопрос № 74

Hi! Для начала хотелось бы поздравить всех с наступающим Новым годом!
В приложении тестовая прога - никоим образом не хочет центроваться, хотя в описании стиля DS_CENTER сказано следующее:
;--- cut ---
DS_CENTER: Centers the dialog box in the working area -- the area not
obscured by the tray.
;--- end cut ---
Отсюда вопрос: окно-то не в трее, но не центруется. Перепробовал, по-моему, все комбинации стилей, но всегда получаю окно в левом верхнем углу. А как же тогда добиться центровки? Причем это работает (в чужих прогах), что же я сделал неправильно?


Приложение:


Вопрос отправлен: 07.12.2003, 03:17
Отправитель: germsoft (germsoft@krovatka.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает BOLT

Здравствуйте, germsoft!
Вроде бы все правильно, может быть загвоздка в комбинации флагов стилей. Попробуй такой стиль диалог бокса задать:
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
Может че получится.

Ответ отправлен: 09.12.2003, 21:47
Отправитель: BOLT


 Вопрос № 75

Появилась проблема с использованием своих иконок для тулбара, я нашел два способа использования их из bmp:
Тулбар создаю с помощу CreateWindowEx.
TBADDBITMAP tbab;
1. tbab.hInst = NULL;
tbab.nID = hBitmap; // хэндл bmp на 16x16x24b
В этом случае фон иконки становится прозрачным только если он совпадает с цветом тулбара (зависит от настроек в Экран -> Оформление).
2. tbab.hInst = hInst;
tbab.nID = IDB_BITMAP; // идентификатор bmp 16x16x16 из файла ресурсов.
Так с фоном все в порядке но можно использовать только 16 цветные bmp.
Как решить эту проблему?
C + WinAPI = lcc-win32, Win98 SE



Вопрос отправлен: 07.12.2003, 12:13
Отправитель: Vadim

[Следующий вопрос >>] [Список вопросов]

Отвечает BOLT

Доброе время суток, Vadim!
Я так посмотрел MSDN, вроде бы ограничений нет. Посмотри внимательнее, может битмап такой. Создай 32-bit bmp и посмотри. Совет: делай тулбары в ресурсах, так меньше будешь голову морочить.

Ответ отправлен: 09.12.2003, 21:48
Отправитель: BOLT


Отвечает Gibbel

Приветствую Вас, Vadim!
На C++ с MFC это выглядит примерно так:
// ToolBar control inactive images
m_ilToolBarNotActive=toolbar.GetImageList();
if (m_ilToolBarNotActive==NULL)
m_ilToolBarNotActive=new CImageList;
m_ilToolBarNotActive->DeleteImageList();
VERIFY (m_bmToolBarNotActive.LoadBitmap (IDB_BITMAP1));
VERIFY (m_bmToolBarNotActive.GetBitmap(&bmInfo));
m_ilToolBarNotActive->Create(16,bmInfo.bmHeight, bmInfo.bmBitsPixel | ILC_MASK, 0, 10);
m_ilToolBarNotActive->Add (&m_bmToolBarNotActive,RGB(255,0,255));
toolbar.SetImageList(m_ilToolBarNotActive);
// ToolBar control active images
m_ilToolBarActive=toolbar.GetHotImageList();
if (m_ilToolBarActive==NULL)
m_ilToolBarActive=new CImageList;
m_ilToolBarActive->DeleteImageList();
VERIFY (m_bmToolBarActive.LoadBitmap (IDB_BITMAP3));
VERIFY (m_bmToolBarActive.GetBitmap(&bmInfo));
m_ilToolBarActive->Create(16,bmInfo.bmHeight, bmInfo.bmBitsPixel | ILC_MASK, 0, 10);
m_ilToolBarActive->Add (&m_bmToolBarActive,RGB(255,0,255));
toolbar.SetHotImageList(m_ilToolBarActive);
// ToolBar control disabled images
m_ilToolBarDisabled=toolbar.GetDisabledImageList();
if (m_ilToolBarDisabled==NULL)
m_ilToolBarDisabled=new CImageList;
m_ilToolBarDisabled->DeleteImageList();
VERIFY (m_bmToolBarDisabled.LoadBitmap (IDB_BITMAP4));
VERIFY (m_bmToolBarDisabled.GetBitmap(&bmInfo));
m_ilToolBarDisabled->Create(16,bmInfo.bmHeight, bmInfo.bmBitsPixel | ILC_MASK, 0, 10);
m_ilToolBarDisabled->Add (&m_bmToolBarDisabled,RGB(255,0,255));
toolbar.SetDisabledImageList(m_ilToolBarDisabled);
Здесь, "прозрачный" цвет = RGB (255,0,255).
На WinAPI перевести, думаю, не сложно. Но я не стал этого делать, так как нет возможности проверить.

Ответ отправлен: 07.12.2003, 14:59
Отправитель: Gibbel



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (25)
C / C++ (21)
Perl (3)
Builder / Delphi (17)
Pascal (20)
Basic / VBA (4)
Java / JavaScript (8)
PHP (13)
Криптография (6)
WinAPI (11)
Пользователю
Windows 95/98/Me (39)
Windows NT/2000/XP (57)
"Железо" (30)
Поиск информации (17)
Администратору
Windows NT/2000/XP (31)
Linux / Unix (14)
Юристу
Гражданское право (10)
Семейное право (7)
Трудовое право (8)
КоАП (7)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное