elpik

Forum Replies Created

Viewing 20 posts - 101 through 120 (of 132 total)
  • Author
    Posts
  • in reply to: TsGroupBox.Enabled = False #45859
    elpik
    Participant
    'VahaC' wrote:

    В рантайт изменяю Enabled у TsGroupBox в котором лежат TsCheckBox-ы после этого они (TsCheckBox-ы) не срабатывают но цвет шрифта на серый не меняется. Если же проделать Enabled := False для каждого TsCheckBox-а поодельности то они стают серыми как и ожидалось

    Пробовали сделать тоже самое для стандартных компонентов? Результат будет такой-же. Альфы тут не причем.

    elpik
    Participant

    самое простое решение примерно такое:

    1) в твой проект добавляешь форму которую не надо скинить.

    2) на эту форму кладешь sSkinManager и sSkinProvider и настраиваешь скинпровайдер на скин менеджер этой формы.

    3) в sSkinManager свойство Active ставишь в False.

    Новая форма скиниться не будет 🙂

    in reply to: Пять кнопок в заголовке окон #45828
    elpik
    Participant
    'GuSoft' wrote:

    >> А чем не устраивает предложенный в скин провайдере способ?

    Тем, что кноку “убрать в трей” можно отнести к стандартным частоиспользуемым кнопкам, которой в скинах нет.

    Вот например на вашем скрине видно, что кнопки основные и дополнительные – отличаются, что не есть красиво.

    Если бы речь шла только об одном скине, вопросов небыло бы, но когда прога дает возможность выбрать пользователю

    скин (из текущих 71) то переделывать все скины вставляя эту кнопку – мне лично проблематично (или хранить 71 ресурс

    изображений кнопок под каждый скин – не удобно).

    Если бы она включалась как дополнительная кнопка (и в каждом скине была бы своя, сочетающаяся с другими кнопками по дизайну) было бы очень удобно.

    Вывод прост. Вас не устраивают компоненты. Не используйте. Компонентов со скинами для делфи много, используйте то что Вам подойдет.

    ЗЫ: не видел ни разу “стандартной” кнопки – “Свернуть в трей”. (ЕЕ нет ни в делфи ни у Микрософта в списке стандартных).

    ЗЗЫ: не устраивают скины? нарисуйте себе хотя бы 1 который Вас устроит, Вы пробовали? (Генератор скинов прилагается).

    ЗЗЗЫ: Ваши требования как то мало-убедительны. Подумайте над этим. “Не удобно” Вам, не надо говорить за всех.

    in reply to: Исчезновение sStatusBar #45824
    elpik
    Participant

    в 7.42 проделана огромная работа. Спасибо огромное Вам за это.

    Осталось подправить мелкие бажки. (Вертикальная полоса в комбобоксе у меня тоже появляется после сворачивания/восстановления окна)

    + подменяется иконка на кнопке “свернуть” на неправильную. (при включенном екстендед бордер подмена иконки не наблюдается)

    АС 7.42/Win 7×64/Delphi XE.

    in reply to: Пять кнопок в заголовке окон #45823
    elpik
    Participant

    А чем не устраивает предложенный в скин провайдере способ?

    in reply to: sComboBox в ячейке StringGrid #45664
    elpik
    Participant
    'evg' wrote:

    В Вашем примере это действительно так. По всей видимости Вы при компиляции проекта удалили файл ресурсов *.res и программа “откомпилировалась” по другому. Если же создавать проект с нуля то файл ресурсов будет отличен от файла создаваемого Delphi при отсутствии такового в каталоге исходников.

    1)Высылаю пример с размещенным в одной из ячеек TComboBox, а в другой TsComboBox (файл “SG and sCB2.rar”).

    2)В файле Prim.rar два примера.В папке Prim1 проект созданный с нуля в месте с файлом ресурсов. В папке Prim2 файл res был удален и создан заново при открытии проекта. Итог два разных результата. Благодарю за помощь!

    TsComboBox – на самом деле проблемный компонент. И он влияет на работу стандартного если включить его скинирование. В частности влияет на выпадающий список. (я об этом тоже писал).

    http://www.alphaskins.com/forum/index.php?showtopic=6157&view=findpost&p=34822

    in reply to: FrameBar #45551
    elpik
    Participant
    'Bar' wrote:

    печально 🙁 Спасибо за ответ! ( без скинов, как видно на последнем скрине, тоже не меняется цвет)

    Цвет не меняется даже у некоторых стандартных компонент. (например TButton, не поменяет цвет даже при смене цвета фонта). Однако есть и другой способ.

    есть события отрисовки (например OnDrawItem) в них можно рисовать прямо на конве все что угодно и как угодно. Попробуйте поэкспериментировать с ними.

    in reply to: ScrollPAnel добавление панелей #45542
    elpik
    Participant
    'jorik' wrote:

    Подскажите, пожалуйста, как программно добавить новую “вкладку”(панель) в ScrollPanel?

    Назовите точное название компонента, желательно с куском кода.

    in reply to: FrameBar #45541
    elpik
    Participant
    'Bar' wrote:

    Здравствуйте, собственно по теме, никак не могу изменить цвет заголовков элементов FrameBar. Все остальные параметры меняются ( жирность, размер, сам шрифт, а вот цвет – никак 😐 )

    Нужно получить белый шрифт, как показано на рисунке 1 Справа. Слева моя программа, как видите такой шрифт никуда не годится. Как это сделать ума не приложу =(

    При включенных скинах, цвет поменять нельзя. (в ДевЕкс – эту проблему решили вводом цветовых схем…) На данный момент решения скорее всего нет. (либо отключить скины :))

    elpik
    Participant

    Можно ли сделать многострочный вывод наименований айтемов (скажем перенос слов по ширене колонки)? или для этого компонента такое в принципе не возможно?

    (былобы интересно поглядеть на возможность подгонять высоту строк по величине такого многосторчного айтема).

    ЗЫ: в ListBox-e есть метод MeasureItem – позволяющий обсчитать высоту каждой строки. (однако сомневаюсь что можно будет прилипить такой метод для TListView).

    ЗЗЫ: в гриде реалезовано выводом непосредственно на конву в заранее определенную высоту/ширину ячейки (TRect) – помоему данный способ применим и тут.

    in reply to: проблема скинирования TJvDBGrid #45492
    elpik
    Participant

    по теме: нашел такую фичу. Если выставить свойство грида (ReduceFlicker = False), скинирование не слетает. 🙂

    in reply to: проблема скинирования TJvDBGrid #45477
    elpik
    Participant

    ап!

    in reply to: проблема скинирования TJvDBGrid #45420
    elpik
    Participant
    'Support' wrote:

    Жду демку 🙂

    еще есть проблема при автозаполнении sComboBox. Автовыпадающий список при перезаполнении раскрывается только на 1 сроку

    в то время как стандартный ComboBox ведет себя нормально при тех же условиях…

    в демку добавил два комбобокса (sComboBox и ComboBox) с одинаковыми настройками, попробуйте папечатать в них что нибудь чтобы список вывалился автоматически.

    И еще если добавить в скин менеджере (Third party controls…), скинирование StandartVCL (стандартные элементы), автовыпадение ComboBox – перестает работать.

    С уважением Elpik

    in reply to: проблема скинирования TJvDBGrid #45411
    elpik
    Participant
    'Support' wrote:

    Жду демку 🙂

    Извиняюсь за задержку. Вот демка. Клик на кнопке вкл/выкл датасет

    скинирование слетает при включенном дата сете и возвращается при выключенном

    in reply to: TsFrameBar #45303
    elpik
    Participant
    'Support' wrote:

    Не нужно, компонент сам его уничтожит.

    Можно вместо создания просто присвоить “Frame :=”. Чтобы фрейм не удалился автоматически при закрытии нужно в обработчике события OnFrameDestroy присвоить False параметру CanDestroy.

    Этот вопрос я не совсем понял. Какой Caption нужно изменить? Изменить caption формы при изменении поля ввода на фрейме?

    Спасибо за ответы. Я уже частично разобрался 🙂

    Выбрал вариант диначического создания… т.к. при выставлении CanDestroy в False – события OnFrameCreate и OnFrameDestroy – срабатывают только единожды… и при повторном раскрытии я уже не могу определить когда изменится состояние фрейма…

    по поводу 3-го вопроса я имелл ввиду кепшен контейнера с которым ассоциирован фрейм (т.е. определенный элемент (Item) фреймбара). – В данный момент я меняю его кепшен при уничтожении фрейма.

    А методы фрейма (например onChange) переписывать не хочется т.к. они определены в юните фрейма – следовательно они сработают в главной форме, но из них я не смогу достучаться до элементов главной формы, смогу лишь менять состояние элементов внутри фрейма…

    А вообще было бы неплохо иметь еще 2 события срабатывающие после раскрытия и перед сворачиванием элементов фреймбара (или их комбинация Before/After). А в свойствах добавить Поле FrameName:(с выпадающим списком доступных фреймов) и CanDestroy:(True/False). Тогда методы (OnCreateFrame и OnDestroyFrame) можно было бы перенести и в сам Юнит Фреймбара в защищенную область. Но это всего лишь мое ИМХО. 🙂

    elpik
    Participant

    Всем доброго времени 🙂

    я как-то пытался сделать инфо-окошко с анимированным гифом… в итоге плюнул и поместил обычную картинку.

    Ситуация с анимацией в делфи очень не простая… дело в том что даже много-поточные приложения в ней обрабатывают сообщения последовательно, что затормаживает анимацию при выполнении каких то других операций. так что проблем с этим много и лучше всего воспринимать делфи как одно-поточную систему IDE (имхо).

    elpik
    Participant

    возможно проблема из-за свойства ParentColor которое выставлено в False 🙂

    in reply to: Проблема с TsComboBox #43717
    elpik
    Participant

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

    все-таки правильнее уничтожать все объекты создаваемые динамически в рантайме…

    насколько я понял у топикастера проблема с перекрытием выделяемой памяти он уничтожает контролы с начиная 1-го, и на каком-то спотыкается…

    этого не произойдет если он будет чистить их начиная с последнего…

    С АльфаСкинами это врядли связано, ИМХО. 🙂

    in reply to: Проблема с TsComboBox #43713
    elpik
    Participant

    попробуй чистить список перед уничтожением,

    и старайся выделять память по количеству полей.

    Code:
    var edt : array of TsComboBox;
    DBGrid : TDBGridEh;
    kol : integer;

    procedure TForm2.FormShow(Sender: TObject);
    var i,x : integer;
    begin
    x:=0;
    //kol:=0;
    setlength(edt, Form1.DBGrid.FieldCount-1);
    for i:=0 to Form1.DBGrid.FieldCount-1 do
    begin
    //inc(kol);
    edt:=TsComboBox.Create(self);
    edt.Name:='EDT'+IntToStr(i);
    edt.Parent:=Form2;
    edt.Left:=135;
    edt.Top:=x;
    edt.Width:=200;
    edt.MaxLength:=255;
    edt.DropDownCount:=15;
    edt.Items:=Zapolnit(Form1.DBGrid.Fields.FieldName); //заполняю ComboBox-ы значениями (функция на выходе должна возвращать TStrings)
    //edt.Text:=edt.Items[0];
    if edt.Items.Count > 0 then edt.Itemindex:=0;
    inc(x,24);
    end;
    end;

    при чистке:

    Code:
    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    var i : integer;
    begin
    i:=Length(edt)-1;
    while i >= 0 do
    begin
    try
    edt.clear;
    edt.Free;
    except
    end;
    dec(i);
    end;
    setlength(edt, 0);
    end;

    код не проверял, лень в делфи загонять, но должно быть както так…

    in reply to: Слетает скинирование в Win 7 Aero #43701
    elpik
    Participant
    'TSTAR' wrote:

    WPF – Windows Presentation Foundation.

    Когда-то я любил Делфи, теперь ненавижу.

    Не, я как раз Делфи люблю, микрософт конечно развивается (поглощая компании и технологии как пылесос), и когда нибудь, вероятно, мы все пересядем на вижуал студию, но пока жива делфи я ее ни на что не променяю. в свою очередь могу сказать что я “ненавижу” С# потому что он ужасен, непонятен и сделан через задницу, одна библиотека классов чего стоит… чтобы написать простенькую программу нужно перелопатить тонны литературы и разобраться в десятке технологий, и ради чего? ради “Хело ворлд”?, нет спасибо это не для меня… Делфи тем и хороша что проста до безобразия :)…

    Но я полагаю это уже вопросы “религиозные”, так что это всего лишь ИМХО, не принимайте на веру, очень Вас всех прошу 🙂

    ЗЫ.: Уважаемый Torbins как Вы смотрите на идею написания “перекодировщика” для проектов на старых версиях? Например у DevExpress такая программулинка есть.

Viewing 20 posts - 101 through 120 (of 132 total)