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

antarey

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

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

  • Посещение

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

    2

Сообщения, опубликованные antarey

  1. К сожалению только один код

     

    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    TTextLayoutClass textLayoutClass;
    TTextLayout *FTextLyout;
    
    
    textLayoutClass = TTextLayoutManager::DefaultTextLayout;
    FTextLyout = TTextLayoutManager::TextLayoutForClass(textLayoutClass);
    
    
    }
    //---------------------------------------------------------------------------
    

    все остальное заремил вызывает ошибку 

     

     

    post-49-0-37332800-1395913264_thumb.png

    post-49-0-46336800-1395913266_thumb.png

  2. Руководствуясь темой (Как сделать автоматическое изменение высоты TListBoxItem под содержимое текста?) переделал код на C++Builder.

     

    Unit1.h

    public: // User declarations
      TTextLayoutClass *FTextLyoutClass;
      TTextLayout* FTextLyout;
    Unit1.cpp
    //---------------------------------------------------------------------------
    void TForm1::CalculateItemHeight(TObject *Sender)
    {
        TListBoxItem *ListItem=dynamic_cast<TListBoxItem*>(Sender);
        if (ListItem!=NULL)
        {
            FTextLyout->BeginUpdate();
            try {
                FTextLyout->Text = ListItem->Text;
                FTextLyout->MaxSize = TPointF(ListItem->Width, 1000);
                FTextLyout->WordWrap = ListItem->WordWrap;
                FTextLyout->Font = ListItem->Font;
                FTextLyout->HorizontalAlign = ListItem->TextAlign;
                FTextLyout->VerticalAlign = ListItem->VertTextAlign;
                ListItem->Height = FTextLyout->Height;
            } __finally {
                FTextLyout->EndUpdate();
            }
        }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
        FTextLyout = (TTextLayout*)(new TTextLayoutClass(TTextLayoutManager::DefaultTextLayout));
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
    {
        FreeAndNil(FTextLyout);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ListBoxItem3ApplyStyleLookup(TObject *Sender)
    {
        CalculateItemHeight(Sender);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ListBoxItem3Resize(TObject *Sender)
    {
        CalculateItemHeight(Sender);
    }
    //---------------------------------------------------------------------------
    

    И получаю ошибку:

    post-49-0-64464500-1395846247_thumb.png

     

    Это я не правильно переделал код или же глюк студии?

    На офф. форуме тоже подымался етот вопрос - но к сожалению без ответов

  3. Согласно темы  как сделать автоматическое изменение высоты TListBoxItem под содержимое текста если источник итемов база данных?

     

    П.С. Очень извиняюсь за нарушение правил

  4. Можно ли реализовать эффект перелистывания листов книги при смене табов в табконтрол?

    Пробовал реализовать в 3D приложении.

    На Layer3D кидал табконтрол и свойство Layer3D->RotationAngle->Y привязывал к FloatAnimation->StopValue=360

    Но получается не красиво - делается два оборота,- может есть возможность полностью перевернуть табконтрол на 360о , в идеале табитем,за один поворот 180о ?

    Если кто смотрел на андроиде NextLauncher, в нем можно поставить эффект перелистывания рабочих столов Ткань, что-то типа такого я хочу реализовать

    post-49-0-37183500-1395771458.thumb.png.post-49-0-69663400-1395771498.thumb.png.post-49-0-94064200-1395771477.thumb.png.

    Вот, только ето сильно крутой эффект, меня устроит и простое прямоугольное перелистывание , желательно итемов табконтрола но устроит и вариант смена итема и переворот всего табконтрола

    RotationAngle->Y  подходит, но из за того что происходит двойной переворот табконтрола и визуально ето не красиво, а реализовать переворот на 360 в одном перевороте пока не выходит

    Заранее спасибо

  5. В принципе согласен со 2-м пунктом.

    Если Вы не против - давайте создадим тему типа положение элементов и их назначение в стилях, начало уже есть - перенести картинки из етой темы, надеюсь совместными усилиями разгребем шаблон

    Спасибо за ответы.Закрывайте тему

  6. отлично, спасибо за ну очень подробное описание.

    Не хочу нарушать правила, но вопрос на прямую связан с етим, и не хочется плодить кучу тем - а есть описание что где в какой позиции храниться ? некоторые элементы понятны, за что отвечают большинство квадратиков

    методом втыка очень долго будешь определять

    Опять же в продолжение темы - как убрать границы итемов, чтобы был один текст без рамок?

    Я конечно очень сильно нарушаю правила, может стоит ету тему как-то переименовать, так как я думаю у общества ещо будут вопросы и очень много нюансов касательно стилей. А толковой инфы я не нашел, есть статьи что есть такой инструмент как Bitmap Style Designer, да и в принципе через ИДЕ можно что-то подшаманить - но конкретики нет. Да и не совсем удобны ети инструменты - если мне к примеру надо чтобы был один стиль и его клон с мелкими модификациями, то ето только руками, или мне повылазило, но в ИДЕ я не нашел возможности елементарно клонировать елемент стиля для дальнейшей модификации

    Еще раз спасибо за подробный ответ

  7. Подскажите, есть где-то, и где если есть, подробная документация по редактированию и созданию новых стилей средствами IDE и BitmapStyle Designer

  8. Есть задача преобразовать строку 

    Thu, 20 Mar 2014 09:00:07 +0200

    до нормального вида 

    20.03.2014 09:00:07

    Вот код 

    //---------------------------------------------------------------------------
    String TForm1::GetDt(UnicodeString str)
    {
    UnicodeString month[12]={"Jan", "Feb", L"Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov","Dec"};
    UnicodeString dd,mm,yy,ch;
    
    
    str=str.Delete(1,str.Pos(","));
    str=str.Trim();
    str=str.Delete(str.Pos("+"),str.Length());
    str=str.Trim();
    dd=str.SubString(1,str.Pos(" ")).Trim();
    str.Delete(1,str.Pos(" ")).Trim();
    mm=str.SubString(1,str.Pos(" ")).Trim();
    str.Delete(1,str.Pos(" ")).Trim();
    for (int i = 0; i < 12; i++)if (month[i]==mm)mm=i+1;
    yy=str.SubString(1,str.Pos(" ")).Trim();
    str.Delete(1,str.Pos(" ")).Trim();
    ch=str.Trim();
    
    
    if(dd.Length()==1)dd="0"+dd;
    if(mm.Length()==1)mm="0"+mm;
    
    
    return dd+"."+mm+"."+yy+" "+ch;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Memo1->Lines->Add("---------------------------------");
    Memo1->Lines->Add(GetDt("Thu, 20 Mar 2014 09:00:07 +0200"));
    Memo1->Lines->Add("---------------------------------");
    
    
    }
    //---------------------------------------------------------------------------
    
    Для винды возвращается 20.03.2014 09:00:07 а для андроида 20.Mar T2014 09:00:07
    В чем прикол? андроид что не так со строками работает???
  9. После создания мастером файл с потоками TThread, сборка проекта заканчивается ошибкой:

     

    "project..." uses unit "vcl" from the "VCL" framework which is not compatible with the project. Adding it may result in compilation errors or unexpected behavior. Continue?

     

    post-1-0-89582400-1395910733_thumb.png

    post-1-0-39076400-1395910735_thumb.png

    post-1-0-88820600-1395910734_thumb.png

    post-1-0-40136000-1395910734_thumb.png

  10. При создании нового стиля через BitmapStyleDesigner его нельзя открыть в StyleBook получаем ошибку Identifier expected on line 26224

    Я написал в QC - 123210.

    Вообще в 6 бете намутили не по детски - проблема с генератором событий , проблема с TabControl , единственное , имхо, скорость сборки под андроид увеличилась

  11. Для начала приложение под андроид, и в ХЕ6 нету редактирование стиля по умолчанию, или  вообще не будет,бета пока. Я хотел пока не использовать стили, я на ютубе видел демку как для лайв биндинга обрабатывали события заполнения листбокса - но сейчас в упор не могу его найти :(

  12. Brovin Yaroslav

    я ж уточнял, что итемы создаются не в дизайнере а привязаны к таблице sqlite, делать в цикле изменения  стиля после открытия таблицы не прикольно, должен быть способ изменить через свойства Live Binding LinkToField

  13. Как установить свойство  WordWrap в ListBoxItem, когда итемы грузятся из базы через Live Binding?

     

    В цикле после открытия таблицы sqlite не прикольно, есть еще варианты?

×
×
  • Создать...