Замена контрола Animation

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Замена контрола Animation

Сообщение GM » 17.05.2005 (Вт) 23:24

Вообщем есть такой контрол Animation(Microsoft Common Controls 6-2), он отображает примитивную анимацию типа копирования файла, удаления в корзину и т.п. в отдельном потоке.
Скиньте мне, пожалуйста, пример или код, чтобы юзать этот контрол без Microsoft Common Controls, и еще можна б было проигровать стандартные анимации без внешних AVI файлов.
Помню у меня был где-то такой пример, только не могу его найти.
Заранее благодарю.
الفيجوال بيسك الرابح

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 18.05.2005 (Ср) 0:53

Исходники AVI проигрывателя
Что же касается стандартных анимаций, то, наверное, их можно нарыть в ресурсах винды. (где-то как LoadResPicture)
Листинги не горят!

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 18.05.2005 (Ср) 7:16

Спасибо, но это чуточку не то. Там создавался с помощью CreateWindow объект класса SysAnimate32, предназначеный именно для проигрования таких роликов.
الفيجوال بيسك الرابح

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 18.05.2005 (Ср) 23:40

А хоть примерно как это сделать никто не знает. :?:
الفيجوال بيسك الرابح

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 19.05.2005 (Чт) 0:33

Да на здоровье! :)
Вот из одного моего проекта...

Код: Выделить всё
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Public Function ShowAVI(ByVal sFileName As String, pb As PictureBox) As Boolean
    Dim sMCICmd As String
    Dim sReturn As String * 128
    Dim nWidth As Long, nHeight As Long
    Dim lStart As Long, lPos As Long
    sMCICmd = "open " & sFileName & " type avivideo alias video parent " & pb.hwnd & " style child"
    Call mciSendString(sMCICmd, 0&, 0, 0)
    Call mciSendString("where video destination", ByVal sReturn, Len(sReturn) - 1, 0)
    lStart = InStr(1, sReturn, Chr$(32))
    lPos = InStr(lStart + 1, sReturn, Chr$(32))
    lStart = InStr(lPos + 1, sReturn, Chr$(32))
    nWidth = Mid$(sReturn, lPos, lStart - lPos) * Screen.TwipsPerPixelX
    nHeight = Mid$(sReturn, lStart + 1) * Screen.TwipsPerPixelY
    pb.Move 0, 0
    If nWidth < picWidth Then pb.Width = picWidth Else pb.Width = nWidth
    If nHeight < picHeight Then pb.Height = picHeight Else pb.Height = nHeight
    Call mciSendString("put video window at " & (pb.Width - nWidth) \ (2 * Screen.TwipsPerPixelX) & Chr$(32) & _
        (pb.Height - nHeight) \ (2 * Screen.TwipsPerPixelY) & Chr$(32) & nWidth \ Screen.TwipsPerPixelX & _
        Chr$(32) & nHeight \ Screen.TwipsPerPixelY, 0&, 0, 0)
    Call mciSendString("play video repeat", 0&, 0, 0)
    ShowAVI = True
End Function


Ну а AVI грузи в ресурсы, потом LoadResData...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 19.05.2005 (Чт) 7:01

Вы меня не понимаете, я знаю как проигровать AVI, но я б хотел юзать SysAnimate32, т.к. он работает в отдельном потоке, и поддерживает стандартные анимации. Ну ладно если никто не знает, буду сам чо-то пробовать.
الفيجوال بيسك الرابح


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 163

    TopList