Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 23.03.2013, 11:43   #1
temik612
Пользователь
 
Регистрация: 01.07.2012
Сообщений: 21
Репутация: 10
По умолчанию Создание формы в винапи

создаю форму в вин апи и мне надо загрузить в форму картинку..
сколько попыток только 1 получилось и то он берёт из компьютера а не из своей памяти =(
пишу на висуал студии ...
Код:

WNDCLASSEX form = 
{
sizeof(WNDCLASSEX),
CS_CLASSDC,
FormMsg,
0L,
0L,
GetModuleHandle(NULL),
LoadIcon(0, MAKEINTRESOURCE(0)),//как тут загрузить свою иконку?
NULL,//курсор
CreateSolidBrush( RGB( 255,255,255 )),//фон формы
NULL,
"Nuked",
NULL			
		};


Последний раз редактировалось Stilet; 23.03.2013 в 12:32.
temik612 вне форума   Ответить с цитированием
Старый 23.03.2013, 13:17   #2
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Адрес: г. Алексин, Тульская обл. Россия
Сообщений: 378
Репутация: 27

icq: 576-319-398
skype: NeoProgrammer
По умолчанию

Для загрузки файла из компа вроде функция LoadImage. А выводить её в окно можно обрабатывая сообщение WM_PAINT
Код:

HDC hDC = GetDC(HWND окна)
HDC hMemDC = CreateCompatibleDC(hDC); // Создание совместимого контекста
SelectObject(hMemDC,Описатель картинки, полученный вызовом ф-ции LoadImage); // Помещение картинки в контекст
BitBlt(hDC,x,y,w,h,hMemDC,0,0,SRCCOPY); // Вывод содержимого совместимого контекста в основной
// x,у - координаты верхнего левого угла куда будет выводиться изображение
// w,h - размеры изображения
DeleteDC(hMemDC);
ReleaseDC(hWnd,hDC);

Если файл с расширением .iso, то вывести можно с помощью функции DrawIcon

Если картинка находится в ресурсах .exe, то
Код:

HBITMAP hBitmap = LoadBitmap(HINSTANCE модуля,MAKEINTRESOURCE(ID - ресурса));
HDC hDC = GetDC(HWND окна)
HDC hMemDC = CreateCompatibleDC(hDC);
SelectObject(hMemDC,hBitmap); 
BitBlt(hDC,x,y,w,h,hMemDC,0,0,SRCCOPY);
DeleteDC(hMemDC);
ReleaseDC(hWnd,hDC);

Если нужно загрузить иконку для отображения в левом верхнем углу приложения, то:
Код:

WNDCLASS wc;
....
wc.hIcon = LoadIcon(0,MAKEINTRESOURCE(ID ресурса));
...

__________________
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.

Последний раз редактировалось kineziz; 23.03.2013 в 13:21.
kineziz вне форума   Ответить с цитированием
Старый 23.03.2013, 14:21   #3
temik612
Пользователь
 
Регистрация: 01.07.2012
Сообщений: 21
Репутация: 10
По умолчанию

да я уже просмотрел весь гугл но как сделать для картинки ID не понял =(
можете ли вы показать пример как присвоить ID
temik612 вне форума   Ответить с цитированием
Старый 23.03.2013, 15:13   #4
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Адрес: г. Алексин, Тульская обл. Россия
Сообщений: 378
Репутация: 27

icq: 576-319-398
skype: NeoProgrammer
По умолчанию

...........................
ID задается автоматически, вы только задаете имя константы. Да и не забудьте включить .h файл ресурсов (#include <Имя файла>)
Изображения
Тип файла: jpg 1.jpg (44.5 Кб, 7 просмотров)
__________________
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.

Последний раз редактировалось kineziz; 23.03.2013 в 15:15.
kineziz вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Application.ExeName на винапи VVVadim Общие вопросы Delphi 17 14.06.2012 17:29
что значит - программировать на чистом винапи? ромик0 Свободное общение 38 25.05.2011 20:47
Создание карты на Винапи konstahntin Помощь студентам 0 19.05.2011 15:19
Создание формы в C# Vedmac1662 Помощь студентам 0 15.12.2009 18:41
Инфа по ВинАПИ mogul82 Win Api 6 28.10.2008 09:16


08:20.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru