powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Анимированная иконка
18 сообщений из 18, страница 1 из 1
Анимированная иконка
    #33145626
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я думаю все (ну если не все, то большинство :) ) работали или хотя бы видели почтовик TheBat! В последних версиях зебата при наличии непрочитанных сообщений можно увидеть анимированную иконку мыши. Анимированную иконку (.ani) - сделать не проблема, просмотреть в окошке или даже на форме авишку - тоже не вопрос. А вот как оживить форму при помощи анимированной иконки - не знаю. Вок как в фоксе можно прицепить на свою форму что-нить подобное? Может подскажет кто?
...
Рейтинг: 0 / 0
Анимированная иконка
    #33148166
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем Image из стандартных контроллов не подходит. Там есть свойство Picture. У меня работает .
...
Рейтинг: 0 / 0
Анимированная иконка
    #33150124
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверно имеется в виду - анимированная иконка в нижней панели, когда окно программы минимизировано и произошло какое-то событие.
Можно попробовать таймером поочередно менять иконки в свойстве Icon формы (или даже главного окна _Screen.Icon), но наверно все равно, как в The Bat не получится.
На foxclub.ru были похожие решения и обсуждения. Поищи по названиям: в решениях - "Работа с иконками в Tray (VFP7) в виде класса (VCX)." и на форуме - http://forum.foxclub.ru/read.php?f=29&i=7627&t=7250#reply_7627
...
Рейтинг: 0 / 0
Анимированная иконка
    #33156554
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Crispy

Да. Имелась ввиду иконка в минимизированном окне и в левом верхнем углу любой формы программы (про трэй я уже молчу :) ). Посмотрел я по ссылке - с мигающим окном разобрался, но с иконкой - тут немного другой вариант. В винде, насколько я знаю, нет стандартной функции (наподобии мигания окнами) для установки анимированной иконки или списка стандартных иконок и скорости их смены. Правде даже через API у меня не очень-то и получается просто сменить иконку на указанной форме :)

Пробовал поставить таймер на форму: нарисовал неск иконок, задал частоту их смены - все просто, но... это работает только если открыта хоть одна форма в проге. Осталется только основное окно и все - нет анимации :( Да еще при этом на любой форме курсор постоянно становится песочными часами (показывает что программа выполняет какое-то действие) и программа все-время читает, читает и читает - забивает память.
...
Рейтинг: 0 / 0
Анимированная иконка
    #33156695
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если поставить анимированный гиф?
...
Рейтинг: 0 / 0
Анимированная иконка
    #33156895
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 w3d

Куды ж его тулить? Как иконку в свойство формы? Так в свойство формы Icon можно только файлы .ico прилепить.
...
Рейтинг: 0 / 0
Анимированная иконка
    #33156930
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, если уж так хочется - отрежь голову форме и прилепи собственную - сделав ее, скажем, из контейнера. Приделай к ней метод на клик-захват, чтобы за нее тоже можно было таскать форму, сделай крестик, минимум-максиму, если надо, ну и положи к ней в угол - хоть gif-ку, хоть ani-шку.
...
Рейтинг: 0 / 0
Анимированная иконка
    #33156935
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я как-то делал - у меня вообще по всей шапке - звездочки бегали :) Прикольно
...
Рейтинг: 0 / 0
Анимированная иконка
    #33156999
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lo-pata2 w3d

Куды ж его тулить? Как иконку в свойство формы? Так в свойство формы Icon можно только файлы .ico прилепить.
А, точно!
А анимированные .ico случаем, не встречаются?
...
Рейтинг: 0 / 0
Анимированная иконка
    #33157320
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 w3d

Еще и как встречаются .ani файлики. Только фокс не отображает анимацию - показывает только первую картинку и все. Я вначале ж писал.


2 Crispy
)) А овчинка тогда выделки стоит? Столько мудохаться из-за анимированной иконки? Мне будет в лом, честно говрю.
...
Рейтинг: 0 / 0
Анимированная иконка
    #33157322
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 w3d

Еще и как встречаются .ani файлики. Только фокс не отображает анимацию - показывает только первую картинку и все. Я вначале ж писал.


2 Crispy
)) А овчинка тогда выделки стоит? Столько мудохаться из-за анимированной иконки? Мне будет в лом, честно говрю.
...
Рейтинг: 0 / 0
Анимированная иконка
    #33157380
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lo-pata 2 Crispy
)) А овчинка тогда выделки стоит? Столько мудохаться из-за анимированной иконки? Мне будет в лом, честно говрю.
Ну это уж тебе видней Хотя там делов-то - на пару минут (ну не пару, но полчаса максимум). А если прочитаешь это, то - как раз и на пару минут :).
Надо просто прописать кое-что в методах MouseDown, MouseUp, MouseMove. Но сначала делаешь переменную, которая будет меняться с .f. на .t. при дауне, там же запоминаешь координаты (конечно, тоже в переменные:), потом в MouseMove, если твоя переменная .t. и nButton=1, приращиваешь координаты формы на разность между запомненными и теми, что там получишь. А в MouseUp - снова сбрасываешь свою переменную в .f. И всего-то.
Только не забудь тоже самое прописать и на такие же методы у всего, что лежит на шапке. А то вдруг, по ним щелкнут.
...
Рейтинг: 0 / 0
Анимированная иконка
    #33157878
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Crispy!

> при дауне, там же запоминаешь координаты (конечно, тоже в переменные:), потом в MouseMove...

Вообще-то ТАК перетаскивание за "свою" шапку формы не сделаешь...

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Анимированная иконка
    #33158724
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi, Igor Korolyov !

Ну почему же?... Возможно такие выводы были сделаны на основании чисто теоретических рассуждений? Тогда, вот - чтобы не слишком обременять с проверкой, могу привести уже готовый пример вполне работоспособного кода того, что было описано выше, думаю уж в этом-то - легко убедиться? (кнопку воткнул попроще, у меня она была с картинкой)
Control = CREATEOBJECT("MyForm")
Control.Show(0)
READ EVENTS
CLEAR EVENTS
**************************************************
DEFINE CLASS MyForm AS form
DoCreate = .T.
TitleBar = 0
Name = "MyForm"

ADD OBJECT container1 AS container WITH ;
Top = -1, ;
Left = -1, ;
Width = 379, ;
Height = 22, ;
BackColor = RGB(0,0,160), ;
Name = "Container1"

ADD OBJECT x AS commandbutton WITH ;
Top = 1, ;
Left = 355, ;
Width = 20, ;
Height = 20, ;
Name = "x"

PROCEDURE Init
PUBLIC Xold,Yold,fixCoord
STORE 0 to Xold,Yold
ENDPROC

PROCEDURE x.Click
thisform.Release()
CLEAR EVENTS
ENDPROC

PROCEDURE Container1.MouseDown
LPARAMETERS nButton, nShift, nXCoord, nYCoord
fixCoord = .T.
Xold = nXCoord
Yold = nYCoord
ENDPROC

PROCEDURE Container1.MouseMove
LPARAMETERS nButton, nShift, nXCoord, nYCoord
IF nButton = 1 AND fixCoord
thisform.Left = ThisForm.Left + (nXCoord - Xold)
thisform.Top = ThisForm.Top + (nYCoord - Yold)
endif
ENDPROC

PROCEDURE Container1.MouseUp
LPARAMETERS nButton, nShift, nXCoord, nYCoord
fixCoord = .F.
ENDPROC

ENDDEFINE

Это из моего первого проекта на vfp, когда я экспериментировал со свойствами контролов в плане возможностей графического интерфейса, надо же было попрактиковаться "на кошечках" :). Там, правда, было все понавороченней и чисто визуально (но ведь - без разницы, главное - идея). Прога называлась "Астропрогноз на дату и время". Контейнер был с градиентом, и по таймеру и ген.сл.чисел мерцала надпись, и вращаясь пролетали звездочки... :)) Так что, там - все это было к месту. Само собой, я понимаю, что в обычных задачах применять такое нет смысла. Возможно, что и сам код не оптимален, но поскольку и не возникало необходимости его усовершенствовать, я над этим как-то больше и не думал. ;)
Самое смешное, что, кажется, той программкой время от времени пользуются...
...
Рейтинг: 0 / 0
Анимированная иконка
    #33158748
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Crispy
Потяните свою форму за левый край ....
И потом так обычно не делаеться при перетягивании формы
Обычно пересовка делаеться не на каждое движение, а только когда прирост координат перерастет некоторое критическое значение. Это избавляет от дерганий экрана при перересовке.
...
Рейтинг: 0 / 0
Анимированная иконка
    #33159015
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2leaf :

Так это ж просто болванка - чтоб было покороче, для демонстрации всего лишь принципиальной возможности того, о чем я написал выше (причем тут resizing?) - ответ на то, что "ТАК перетаскивание за "свою" шапку формы не сделаешь".
А насчет оптимальности - я этого и не утверждал (наверное, можно все улучшить). Мне оно просто пока, вроде бы как, и не надо.
...
Рейтинг: 0 / 0
Анимированная иконка
    #33160393
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Crispy!

Да, работает... Странно, я думал что не должно... Я имел в виду такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
DECLARE ReleaseCapture IN "user32"
DECLARE LONG SendMessage IN "user32" LONG, LONG, LONG, LONG
LOCAL loForm
loForm = CREATEOBJECT("oForm")
loForm.Show( 1 )

DEFINE CLASS oForm AS FORM
TitleBar =  0 
PROCEDURE MOUSEDOWN(nButton, nShift, nXCoord, nYCoord)
  IF nButton =  1 
    ReleaseCapture()
    SendMessage(THIS.HWnd, 0x112, 0xF012, 0x0)
  ENDIF
ENDPROC
PROCEDURE RightClick
  ThisForm.Release()
ENDPROC
ENDDEFINE


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Анимированная иконка
    #33160583
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi, Igor Korolyov !

Да, занятная штучка! Но до такого, конечно, уже просто так не додумаешься, уже кое-что знать надо... А тогда - я просто использовал логику и немного хэлп... :)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Анимированная иконка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]