Перейти к содержанию
Fire Monkey от А до Я

OnePeople

Пользователи
  • Постов

    342
  • Зарегистрирован

  • Посещение

  • Победитель дней

    58

Весь контент OnePeople

  1. OnePeople

    Отключить прокрутку

    Платформа: Windows Delphi: Seatle Есть листбокс прокручивается клавишами с клавиатуры. В XE8 был баг и прокрутки своей небыло, делал так scb:=VideoList.FindStyleResource('vscrollbar') as TScrollBar; posIt:= (VideoList.ItemIndex div vidcolumn) * VideoList.ItemHeight; posVer:=scb.Value; posNiz:=scb.Value+VideoList.Height; if posIt>posNiz-VideoList.ItemHeight then begin TAnimator.AnimateFloat(scb,'Value',(VideoList.ItemIndex div 5) * VideoList.ItemHeight-VideoList.Height+VideoList.ItemHeight,0.25); end; if posIt<posVer then begin TAnimator.AnimateFloat(scb,'Value',(VideoList.ItemIndex div 5) * VideoList.ItemHeight,0.25); end; Сейчас прокрутка есть но не плавная, подскажите пожалуйста как сделать плавную или вообще её отключить! P.S. когда не было прокрутки, меня мой вариант устраивал
  2. OnePeople

    Контрол внутри ListBox

    Хотел сделать эффект что бы при наведении Item увеличивался, с Item манимуляции ни к чему не привели так как он оказывается за другими Itemами, сделал создание в ListBox контрола. Все работает но как позиция моего контрола становиться большее 1500 контрол исчезает(( procedure TForm1.VideoListChange(Sender: TObject); var scb:TScrollBar; posVer,posIt,posNiz:Single; po:Real; bmp:TBitmap; begin po:= (VideoList.ItemIndex div vidcolumn)* VideoList.ItemHeight; FocusItem.Position.X:=(((VideoList.ItemIndex mod vidcolumn)* VideoList.ItemWidth))*mashX+9; FocusItem.Position.Y:=(po)*mashY+9; if VideoList.Items.Count-1>=predit then VideoList.ItemByIndex(predit).Opacity:=1; scb:=VideoList.FindStyleResource('vscrollbar') as TScrollBar; posIt:= (VideoList.ItemIndex div vidcolumn) * VideoList.ItemHeight; posVer:=scb.Value; posNiz:=scb.Value+VideoList.Height; if posIt>posNiz-VideoList.ItemHeight then begin TAnimator.AnimateFloat(scb,'Value',(VideoList.ItemIndex div 5) * VideoList.ItemHeight-VideoList.Height+VideoList.ItemHeight,0.15); end; if posIt<posVer then begin TAnimator.AnimateFloat(scb,'Value',(VideoList.ItemIndex div 5) * VideoList.ItemHeight,0.15); end; VideoList.ItemByIndex(VideoList.ItemIndex).StylesData['Rectangle2.Fill.Color']:=$CF0C0C0C; VideoList.ItemByIndex(VideoList.ItemIndex).StylesData['Icon.Opacity']:=1; FocusItem.Align:=TAlignLayout.None; bmp:=TBitmap.Create; bmp.Assign(VideoList.ItemByIndex(VideoList.ItemIndex).ItemData.Bitmap); VideoList.ItemByIndex(VideoList.ItemIndex).Opacity:=0; po:= ( ((VideoList.ItemIndex div vidcolumn)* VideoList.ItemHeight)); FocusItem.Position.X:=(((VideoList.ItemIndex mod vidcolumn)* VideoList.ItemWidth))*mashX+9; FocusItem.Position.Y:=(po)*mashY+9; predit:=VideoList.ItemIndex; ItemIcon.Fill.Bitmap.Bitmap:=Bmp; ItemText.Text:=VideoList.ItemByIndex(VideoList.ItemIndex).ItemData.Text; FocusItem.Width:=VideoList.ItemWidth-18; FocusItem.Height:=VideoList.ItemHeight-18; FocusItem.Visible:=true; FocusItem.Opacity:=1; FocusItem.BringToFront; TAnimator.AnimateFloat(FocusItem,'Width',FocusItem.Width+(14*(FocusItem.Width/FocusItem.Height)),0.25); TAnimator.AnimateFloat(FocusItem,'Height',FocusItem.Height+14,0.25); Title.Text:=FloatToStr(FocusItem.Position.X)+''+FloatToStr(FocusItem.Position.y); TAnimator.AnimateFloat(FocusItem,'Position.X',FocusItem.Position.X-(7*(FocusItem.Width/FocusItem.Height)),0.25); TAnimator.AnimateFloat(FocusItem,'Position.Y',FocusItem.Position.Y-7,0.25); bmp.Free; end;
  3. OnePeople

    TetheringManager

    Нет ну это само сабой, просто я думал может есть какой нибудь ключ, для отправки вне основного потока. Почему для таких компонентов сразу так не делать?
  4. А можно пожалуйста хотя бы приблизительные сроки, очень хочется посмотреть на реализацию)
  5. OnePeople

    TetheringManager

    Отправляю список файлов по WiFi, программа стопориться до конца отправки, как этого избежать?( if AResource.Hint='GetPlayList' then begin try for p := 0 to TetheringManager1.RemoteProfiles.Count-1 do TetheringAppProfile1.SendString(TetheringManager1.RemoteProfiles[p],'MusicClear','1'); except end; for i := 0 to PlayList.Items.Count-1 do begin try for p := 0 to TetheringManager1.RemoteProfiles.Count-1 do TetheringAppProfile1.SendString(TetheringManager1.RemoteProfiles[p],'AddMusic',IntToStr(i)+'.'+PlayList.Items.Strings[i]); except end; end; end;
×
×
  • Создать...