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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не знаю как сделать... Помогите please!!! 
:(
    Опции темы
Vell
  Дата 4.9.2004, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня есть в форме фотка (picture1), и есть кнопка (Command1). Как сделать, чтобы при нажатии кнопки менялась картинка на следующию (всего тридцать)? Помогите пожалуйсто!!! qstn.gif
PM MAIL   Вверх
Kurt
Дата 5.9.2004, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


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

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



..
Немного не понял проблемы..
Заводишь глобальную переменную, к-я хранит номер картинки. По нажатию кнопки показываешь картинку, к-я соответствует значению переменной и, если значение переменной меньше 30, увеличиваешь переменную на 1.
Или ты о чем-то другом спрашивал?


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Staruha
Дата 5.9.2004, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код мультика
Dim a As Integer

Private Sub Command1_Click()
Timer1.Enabled = True
a = 19
Command1.Visible = False
End Sub

Private Sub Timer1_Timer()
a = a - 1

If a = 19 Then
Image1.Picture = img1.Picture
End If
If a = 18 Then
Image1.Picture = Img2.Picture
End If
If a = 17 Then
Image1.Picture = Img3.Picture
End If
If a = 16 Then
Image1.Picture = Img4.Picture
End If
If a = 15 Then
Image1.Picture = Img5.Picture
End If
If a = 14 Then
Image1.Picture = Img6.Picture
End If
If a = 13 Then
Image1.Picture = Img7.Picture
End If
If a = 12 Then
Image1.Picture = Img8.Picture
End If
If a = 11 Then
Image1.Picture = img9.Picture
End If
If a = 10 Then
Image1.Picture = img10.Picture
End If
If a = 9 Then
Image1.Picture = img11.Picture
End If
If a = 8 Then
Image1.Picture = img12.Picture
End If
If a = 7 Then
Image1.Picture = img13.Picture
End If
If a = 6 Then
Image1.Picture = img14.Picture
End If
If a = 5 Then
Image1.Picture = img15.Picture
End If
If a = 4 Then
Image1.Picture = img16.Picture
End If
If a = 3 Then
Image1.Picture = img17.Picture
End If
If a = 2 Then
Image1.Picture = img18.Picture
End If
If a = 1 Then
Image1.Picture = img19.Picture
End If
If a = 1 Then
a = 19
End If
End Sub



--------------------
Возмездие настигнет
PM MAIL   Вверх
boevik
Дата 5.9.2004, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

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



Можно расположить все картинки на форме, одну под другой.
Менять свойство Visible у картинок.
Видемой картинке выставить Visible = True, все остальные - False.
Код примерно такой:
Код

Private Sub ChangePic(By Val visPic as Integer)
dim i as integer
  for i = 0 to 29
     if i = visPic Then
       Pic(i).Visible = True
     else
       Pic(i).Visible = False
     end if
   next
end sub




--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
-Mikle-
Дата 5.9.2004, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



Можно и так:

Код
dim PicList() as string
dim PicInd as long

private sub Form_load()
ReadList "C:\list.dat"
picind=-1
end sub

private sub Command1_click() 'След. картинка
picind=picind+1
if picind>ubound(piclist) then picind=ubound(piclist)
ShowPic PicInd
end sub

private sub Command2_click() 'Пред. картинка
picind=picind-1
if picind<0 then picind=0
ShowPic PicInd
end sub

'Загружает картинку из файла, путь и
'имя которого записано в массиве
sub ShowPic(Ind as long)
if ubound(piclist)=-1 then exit sub 'выход, если массив пустой
Picture1.Picture=LoadPicture(PicList(Ind))
end sub

'Читает файл с именами файлов в массив PicList
Sub ReadList(FileName as string)
dim lfn as long
dim tmp as string

open FileName for binary access read as #lfn
 tmp=space(lof(lfn))
 get #lfn,1,tmp
close #lfn
PicList=split(tmp,vbcrlf)
end sub


В файле записаны полные пути и имена файлов к картинкам. В каждой строке одна ссылка.
Например:
c:\folder1\pics\qwery.bmp
d:\mmm\room.gif
c:\dodo\rere\sasa\lolo\photos\we are.bmp


Удачи!!!


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Staruha
Дата 5.9.2004, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Мне кажется самое простое использовать счетчик.Сколько раз нажал такая картинка и открывается.


--------------------
Возмездие настигнет
PM MAIL   Вверх
Staruha
Дата 5.9.2004, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вот такая фенька получилась
Код
Private Sub Form_Load()
Text1.Visible = False
Text2.Visible = False
End Sub
Private Sub Command1_Click()
Text1.Text = Text1.Text + 1
Text2.Text = "C:\анима\" & Val(Text1.Text) & ".jpg"
End Sub

Private Sub Command2_Click()
Picture1.Picture = LoadPicture("C:\анима\1.jpg")
End Sub


Private Sub Text2_Change()
Dim v As String
v = Text2.Text
Picture1.Picture = LoadPicture(v)
End Sub

Добавлено @ 21:42
Это не нужно забыла стереть
Код
Private Sub Command2_Click()
Picture1.Picture = LoadPicture("C:\анима\1.jpg")
End Sub



--------------------
Возмездие настигнет
PM MAIL   Вверх
Akina
Дата 6.9.2004, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Сделай не img1...img19, а массив img(1...19)

тогда

Код
Private Sub Timer1_Timer()
a = a - 1
if a<LBound(img) Then a=UBound(img)
Image1.Picture = img(20-a).Picture
End Sub


Этот код медленнее по исполнению, нежели размещение всех картинок и игра видимостью, но зато жрет меньше памяти на программу (ценой памяти системного кэша). Для видимости же

Код
Private Sub Timer1_Timer()
Image(a).Visible=False
a = a - 1
if a<LBound(Image) Then a=UBound(Image)
Image(a).Visible=True
End Sub




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Staruha
Дата 6.9.2004, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Я так поняла ему кнопкой изменять картинки надо - Раз картинка два - другая


--------------------
Возмездие настигнет
PM MAIL   Вверх
Edd
Дата 7.9.2004, 03:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Господа, а где вы берёте control (объект) Таймер (Timer1)?
  Вверх
Akina
Дата 7.9.2004, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Edd
Цитата
где вы берёте control (объект) Таймер (Timer1)?

Ты будешь смеяться, но на панели объектов. Включив предварительно референс на соотв. ActiveX есссно.


Это сообщение отредактировал(а) Akina - 7.9.2004, 08:34


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Guest
Дата 7.9.2004, 08:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Akina, я в шокеsmile.gif) Скажу больше - в ужасеsmile.gif)) А какой референс на него ведёт?
  Вверх
Edd
Дата 7.9.2004, 08:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В шоке - это я. Akina, а что в "Референсах" подключать надо?
  Вверх
boevik
Дата 7.9.2004, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

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



Для таймера ни какого "Референса" подключать не надо.
Открыть toolbox и найти иконку часиков, это и есть таймер.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Edd
Дата 7.9.2004, 09:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Либо я забыл как выглядят часы, либо одно из двух... Нет, нету иконки.
  Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


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

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


 




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


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

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