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

antarey

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

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

  • Посещение

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

    2

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

  1. Есть TEdit   в нем записан какой-то путь

    При клике по имени каталога в любом месте пути необходимо получить имя самого каталога и левую часть пути.

    По аналогии , как в адресной строке проводника вынь 7 и выше - кликнул по имени каталога - получил список подкаталогов.

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

    Если нет - то как получить позицию каретки в TEdit?

     

  2. Brovin Yaroslav, об этом свойстве я уже знаю :) , проблема не в создании а в показе. Кнопка лежит на тулбаре - и мне надо показать окно под кнопкой. И , в не зависимости от положения главного окна попап всегда должно появляться ниже кнопки - на подобии TMS TAdvSmoothPopup

  3. Хочу реализовать что-то типа PopUp окна.

    Есть главная форма и на ней SpeedButton.

    Вторичная форма прозрачна и на нее положил CalloutPanel

    Как сделать чтобы при клике на  SpeedButton вторичная форма появлялась под  SpeedButton 

     

    frmFilter->Top=SpeedButton24->AbsoluteRect.Top;
    frmFilter->Left=SpeedButton24->AbsoluteRect.Left;
    frmFilter->Show();
    

    Что-то не дает результата

     

  4. Что-то я притупил.

    Может кому пригодится

     

    LinkControlToField1->Active=false;
    switch (frmMain->TabControl2->TabIndex)
    {
    case 1: 
    LinkControlToField1->DataSource=dm->ds_sprCklad;
    LinkControlToField1->FieldName="CkladName";
    break;
    case 4:  
    LinkControlToField1->DataSource=dm->ds_tGGRup;
    LinkControlToField1->FieldName="GrypaName";
    break;
    }
    LinkControlToField1->Active=true;
    
  5. Я пол дня лопатил справку гугля - Settings.Secure отвечает за настройки безопасности, но до имени владельца так и не добрался. Возможно оно от балды и никакой нагрузки не несет, мне надо имя пользователя, которое можно менять как в винде

  6. Согласно справки на андроиде надо вызывать ShowModal для формы с передачей процедуры.

    На основании Using FireMonkey Modal Dialog Boxes написал код

     

    //---------------------------------------------------------------------------
    class TEditTableCallback : public TCppInterfacedObject<TProc__1<TModalResult> >
    {
    public:
    int TableIndex;
      void __fastcall Invoke(TModalResult ModalResult) {
    if (ModalResult==1)
    {
      switch (TableIndex)
      {
      case 0: dm->tKaca->Post();dm->tKaca->Refresh();break;
      }
    }
    else
    {
      switch (TableIndex)
      {
      case 0: dm->tKaca->Cancel();break;
      }
    }
    
    
      }
    };
    //---------------------------------------------------------------------------
    
    void __fastcall TfrmMain::SpeedButton4Click(TObject *Sender)
    {
    TSpeedButton *button=dynamic_cast<TSpeedButton*>(Sender);
    TEditTableCallback* EditTableCallback = new TEditTableCallback();
    EditTableCallback->TableIndex=TabControl2->TabIndex;
    
    
    switch (TabControl2->TabIndex)
    {
    case 0: 
    TfrmNewKaca *frmNewKaca = new TfrmNewKaca(Application);
    if (button->Tag==0){dm->tKaca->Append();frmNewKaca->ShowModal(EditTableCallback);}
    if (button->Tag==1){dm->tKaca->Edit();frmNewKaca->ShowModal(EditTableCallback);}
    break;
    }
    
    
    }
    //---------------------------------------------------------------------------
    

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

    Насколько я понимаю в колбасных обрезках, по крайней мере так было в ВСЛ - при вызове ShowModal управление передавалось модальной форме и управлять главной формой нельзя было до закрытия модальной.

    frmNewKaca->ShowModal();

    работает как надо. Или 

    frmNewKaca->ShowModal(EditTableCallback);

    актуально только для андроид платформы?

     

  7. Brovin Yaroslav, спасибо помогло за одним нюансом - для того комбобокса из которого я выбираю размер шрифта если DropDownKind = Native  меняется только шрифт выбранного итема, если TDropDownKind.Custom то ничего не меняется, но ето уже мелочи.

  8. Нет. Я пока вообще хочу не затрагивать стили.

    Программно делаю так

    //---------------------------------------------------------------------------
    class TSetTextSettings : public TCppInterfacedObject<TFunc__2<TControl*,TEnumControlsResult> >
    {
    public:
    
    
    TEnumControlsResult __fastcall Invoke(TControl* Control)
    {
    _di_ITextSettings Settings;
    if(Control->GetInterface(Settings))
    {
    Settings->TextSettings->Font->Size = StrToInt(Form2->ComboBoxFontSize->ListItems[Form2->ComboBoxFontSize->ItemIndex]->Text);
    Settings->StyledSettings=Settings->StyledSettings>>TStyledSetting::ssSize;
    }
    return TEnumControlsResult::Continue;
    
    
    }
    };
    //---------------------------------------------------------------------------
    
    
    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
    TControl* Control;
    for(int i = 0; i < ComponentCount; i++)
    {
     Control=dynamic_cast<TControl*>(Components[i]);
     if (Control!=NULL)Control->EnumControls(new TSetTextSettings);
    }
    }
    //---------------------------------------------------------------------------

    Не меняется шрифт в ComdoBox & Memo & Grid

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