Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вставить картинку в окно Win32Api 
:(
    Опции темы
boobie
Дата 13.11.2011, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 16.9.2011

Репутация: нет
Всего: нет



Начал изучение WinApi на С++. Научился создавать окно, иконку .ехе-шника, использовать разные курсоры... И застопорился на выводе картинки в окне... Как это сделать? С помощью winapi? Можно ли обойтись без него (есть ли альтернатива?)?

Желательно рабочий пример  smile  , нормальная литература (я искал по winapi - ничего дельного не нашел... может плохо искал...) с примерами тоже нужна!

П.С. Блин, почему все так не любят Паскаль  smile ? Там вывод картинки делался парой строчек с указанием ее адреса smile ....
PM   Вверх
borisbn
Дата 13.11.2011, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



http://lmgtfy.com/?q=winapi+draw+image&l=1

Цитата(boobie @  13.11.2011,  13:36 Найти цитируемый пост)
Блин, почему все так не любят Паскаль   ? Там вывод картинки делался парой строчек с указанием ее адреса  

1) Ты, скорее всего, имел в виду не Паскаль, а VCL. VCL доступен и в С++ Builder'е
2) Кто тебе сказал, что народ не любит паскаль ? Посмотри, на чём сделаны Skype, Total Commander, QIP, etc.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Dem_max
Дата 13.11.2011, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 4
Всего: 39



Цитата

Посмотри, на чём сделаны Skype, Total Commander, QIP, etc.

И много много других популярных программ, лишь бы руки из правильного места росли.
Но в данном случае, Builder обделен, и извращен. 


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
vol4ek
Дата 13.11.2011, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 1.5.2011
Где: Минск

Репутация: нет
Всего: 0



чем это Вас С++ не устраивает.

Вот делал под MFC

Код


void CbitDlg::OnPaint()
{
    PAINTSTRUCT pn;
    CDC * pDC;
    pDC = CbitDlg::BeginPaint(&pn);
    CBitmap bit;
    CDC cd;
    bit.LoadBitmapW(IDB_BITMAP1);
    cd.CreateCompatibleDC(pDC);
    cd.SelectObject(&bit);
    pDC->BitBlt(0,0,1900,1080,&cd,0,0,SRCCOPY);  // позиция X, Y, разрешение ширина, высота
    CbitDlg::BeginPaint(&pn);



    ........




}


Добавлено через 8 минут и 12 секунд
Рихтер Дж.  Windows для профессионалов создание эффективных Win32-приложений
Работа с файлами в Win32 API
Проектирование интерфейса пользователя средствами WIN32 API
Ганеев. Проектирование интерфейса пользователя средствами WIN32 API
Азбука программирования в Win32 API
Windows для профессионалов. Создание эффективных Win32 приложений [Джеффри Рихтер]
Win32. Основы программирования[К.Г. Финогенов]
Win32 API. Эффективная разработка приложений
Visual C++ Разработка Windows-приложен помощью MFC и API-функций В.Давыдов 

названия книг. гугл в помощь


PM MAIL ICQ   Вверх
bsa
Дата 13.11.2011, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(boobie @  13.11.2011,  14:36 Найти цитируемый пост)
Там вывод картинки делался парой строчек с указанием ее адреса

Как-то так:
Код
QLabel *img=new QLabel(QLatin1String("<img src=\"file://myimage.jpg\"/>"));

PM   Вверх
boobie
Дата 14.11.2011, 04:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 16.9.2011

Репутация: нет
Всего: нет



Спасибо!

А про Паскаль... Не, мне нравится PascalABC.Net. Там это делалось так:
Цитата

uses GraphABC,ABCObjects;
var x:pictureabc;
***
x:=pictureabc.create(x,y,'***\***.bmp');
***

PM   Вверх
borisbn
Дата 14.11.2011, 07:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



А с каких пор GraphABC,ABCObjects и pictureabc входят в язык Паскаль ? 

Это сообщение отредактировал(а) borisbn - 14.11.2011, 07:11


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Alexeis
Дата 14.11.2011, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Цитата(boobie @  13.11.2011,  14:36 Найти цитируемый пост)
Научился создавать окно, иконку .ехе-шника, использовать разные курсоры... И застопорился на выводе картинки в окне... Как это сделать?

  Обрабатываем сообщение WM_PAINT для нужного нам окна и вызываем BitBlt/StretchBlt и т.д. для отрисовки битмапа на hDC окна. Кстати hDC не забываем получить перед отрисовкой и вернуть системе после отрисовки (BeginPaint/EndPaint или GetDC/ReleaseDC)


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.