ладно поясню что именно не получается, мне требуется смена картинки каждый промежуток времени, во время работы программу. По-этому решил сделать это в таймере, задать интервал и менять их. Но программа на winapi, а не VLC. Для смены картинки пытался переделать вот этот код, но на winapi:
Код:
var
PngIdx: Integer;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Picture.LoadFromFile(IntToStr(PngIdx)+'.png');
PngIdx:=(PngIdx+1) mod 8;
end;
вывод картинки вот так вот
Код:
var
bmpMain,bmpBut: hBitmap;
dc,ccdc: HDC;
function MesPro(Handle: HWND; Msg: UINT; WParam: Integer; lParam: Integer): Integer;stdcall;
var
ps: PAINTSTRUCT;
begin
Result:=0;
case msg of
WM_CREATE:
begin
dc:=GetDC(0);
ccdc:=CreateCompatibleDC(dc);
bmpBut:=LoadRes(hInstance,'button_next','PNG');//Загрузка *.RES
bmpBut:=SelectObject(ccdc,bmpBut);
end;
WM_PAINT:
begin
BeginPaint(Handle,ps);
BitBlt(ps.hdc,414,383,34,34,ccdc,0,0,SRCCOPY);
EndPaint(Handle,ps);
end;
WM_DESTROY:
begin
DeleteObject(SelectObject(ccdc,bmpBut));
DeleteDC(ccdc);
ReleaseDC(0,dc);
PostQuitMessage(0);
Exit;
end;
end;
Result:=DefWindowProc(Handle,Msg,WParam,LParam);
end;
LoadRes, самаписная процедура, загрузки файла из RES. А как сделать смену картинки на winapi, уже 3 дня пытаюсь, переделывать но у меня либо вобще картинка не отображается, либо только 1 кадр.
P.S. Картинки в RES подписаны так:
Код:
1 PNG 1.PNG
2 PNG 2.PNG
3 PNG 3.PNG
4 PNG 4.PNG
5 PNG 5.PNG
6 PNG 6.PNG
7 PNG 7.PNG
8 PNG 8.PNG