Сейчас на форуме: bartolomeo, hgdagon (+7 невидимых)

 eXeL@B —› Программирование —› патч в Delphi на API или как вклеить имагу
Посл.ответ Сообщение


Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 02 апреля 2006 04:59
· Личное сообщение · #1

пишу патч на дельфе без VCL(на API)
вообщем у меня на апи создается обыкновенное окно, вообщем взял я гдето полезный модуль
но хотелось бы что бы в патче хоть какая картинка была ,а ни один лабел и 4 баттана, но такое западло в этом модуле нету компаненты типа Image => чё делать как вклеить картинку.
А если кому не лень подскажите как мне ещё какой нить саундтрэк запустить на время работы патча.




Ранг: 221.8 (наставник)
Активность: 0.150
Статус: Участник

Создано: 02 апреля 2006 06:16
· Личное сообщение · #2

NicknamES
тебе сюда ;)
www.biocyborg.narod.ru/



Ранг: 62.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 02 апреля 2006 07:35
· Личное сообщение · #3

NicknamES
Так ты через .rc или .res файлы создавай окно, поищи какой-нибудь хороший редактор ресурсов.
А вообще рисование картинки (динамическое) обычно делают во время обработки WM_PAINT.



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 02 апреля 2006 17:48
· Личное сообщение · #4

через api можно загрузить: bmp, gif, jpeg




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 02 апреля 2006 18:45
· Личное сообщение · #5

пасибо щас гляну www.biocyborg.narod.ru/
и ещё Av0id подскажи насчёт bmp и jpeg




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 02 апреля 2006 18:50
· Личное сообщение · #6

накачал каких-то исходников ща буду разбираться



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 02 апреля 2006 19:06
· Личное сообщение · #7

я дельфи не юзаю (си, асм только), поэтому рассказываю примерно

bmp: просто добавляем в секцию Bitmap наше изображение, потом на WM_CREATE грузим ресурс через LoadBitmap, на WM_PAINT рисуем наш загруженный bitmap и на WM_CLOSE удаляем DeleteObject

jpeg: через CreateStreamOnHGlobal и OleLoadPicture



Ранг: 62.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 02 апреля 2006 19:09
· Личное сообщение · #8

Av0id
в секцию? Это раздел в секции ресурсов, а не сама секция. Это собственно и есть первый метод, он наиболее простой и надёжный. Напомни только, какую функцию надо вызвать для прорисовки bitmap'а в WM_PAINT.




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 02 апреля 2006 19:31
· Личное сообщение · #9

н-да исходники на асме,а я в нём пока ничего не понимаю



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 02 апреля 2006 21:18
· Личное сообщение · #10

я это и имел в виду, к вопросу о WM_PAINT (си)


void _paint(HWND hWnd,HBITMAP hBmp)
{
HDC hDC,hMemDC,hOldDC;
PAINTSTRUCT ps;
BITMAP bmp;

if(!hBmp) return;

GetObject(hBmp,sizeof(BITMAP),&bmp);

hDC=BeginPaint(hWnd,&ps);
hMemDC=CreateCompatibleDC(hDC);
hOldDC=(HDC)SelectObject(hMemDC,hBmp);
BitBlt(hDC,NULL,NULL,bmp.bmWidth,bmp.bmHeight,hMemDC,NULL,NULL,SRCCOPY);
SelectObject(hMemDC,hOldDC);
DeleteDC(hMemDC);
EndPaint(hWnd,&ps);
}





Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 03 апреля 2006 18:35
· Личное сообщение · #11

спасибо тебе!
может с чем и разберусь, но вот ещё что-то подобное на Delphi,
а так я хочу дельфу знать на нормальном уровне , а потом браться за другие языка программирования
а и ещё такая фишка в 2005 дельфе случайно не разрешено вставлять куски си и с++?! - это к дельфёрам




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 03 апреля 2006 18:36
· Личное сообщение · #12

и если кому не влом помогите пожалуйста.




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 13 апреля 2006 02:36
· Личное сообщение · #13

хм...


 eXeL@B —› Программирование —› патч в Delphi на API или как вклеить имагу
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати