![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| coach |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Есть кнопка, созданная через CreateWindow()
как можно наложить на эту кнопку BITMAP |
|||
|
||||
| chozen |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 14.8.2006 Репутация: нет Всего: нет |
Ну, что ж:
- получаем DC кнопеля - создаем tagPAINTSTRUCT - создаем CreateCompatibleDC к DC кнопки, CreateCompatibleBitmap к DC кнопеля - заполняем структуру BITMAPINFO - далее SetDIBits и SelectObject к компатибл dc Кароч, щас не могу найти так быстро исходник... Надо, напиши, поИСЧУ! |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| RDN_ResidentS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.12.2006 Репутация: нет Всего: нет |
Пожалуйста найди исходник и выложи... ОК? Очень нужен!!! И еще кто знает как наложить BITMAP на кнопку, пожалуйста опишите алгоритм создания. Р.S. пожалуйста напишите алгоритм нормальным языком без фени... и прочих выражений, на языке С++. |
|||
|
||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 10 Всего: 12 |
В смысле background сделать для кнопки? Или рисовать всю кнопку самому? -------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| RDN_ResidentS |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.12.2006 Репутация: нет Всего: нет |
Напиши и как background сделать для кнопки, и как рисовать всю кнопку самому. Пожалуйста, очень надо! |
||||
|
|||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 10 Всего: 12 |
Ну если самому рисовать то OWNERDRAW примерно так
создаешь кнопку (кнопка это тоже окно) hwndButton1 = CreateWindow("BUTTON","", WS_CHILD | BS_OWNERDRAW, 5, rcRebar.bottom+3, 55, 8, hWnd, (HMENU) ID_BUTTON1, hInst, NULL); загружаешь для нее битмапы (нажатая, отпущена) hbmClose = LoadBitmap( hInst, MAKEINTRESOURCE(IDB_BITMAP19)); hbmCloseA = LoadBitmap( hInst, MAKEINTRESOURCE(IDB_BITMAP20)); обрабатываешь сообщения WM_DRAWITEM
Ну еще приходится сабклассить кнопки чтобы обрабатывать переключение фокуса и табуляции, у штатных это все включено. Кроме того стили XP не поддерживаются. В общем мороки много Насчет бакграунда проще но не могу сейчас писать, может завтра. -------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| RDN_ResidentS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.12.2006 Репутация: нет Всего: нет |
Спасибо огромное Aleksandor!!!!
|
|||
|
||||
| Kornev |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.12.2006 Репутация: нет Всего: нет |
Александр, громаднейшее спасибо!!!!!
только по моему в CreateWindow нужно ещё добавить | WS_VISIBLE По крайней мере у меня без єтого работать не стало. А остальное - СУПЕР Добавлено через 3 минуты и 5 секунд Подскажи пожалуйста, а как можно сделать чтоб кнопка ещё меняла свой вид, когда на неё наводишь курсор? |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |