Показать сообщение отдельно
  #3  
Старый 28.01.2015, 13:53
helper999999 helper999999 вне форума
Прохожий
 
Регистрация: 30.09.2014
Сообщения: 32
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию

ладно поясню что именно не получается, мне требуется смена картинки каждый промежуток времени, во время работы программу. По-этому решил сделать это в таймере, задать интервал и менять их. Но программа на 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
Ответить с цитированием