Forum Replies Created
-
AuthorPosts
-
warcanParticipant'Support' wrote:
Возможно причина в том, что появилось свойство KeepThumbAspectRatio, попробуйте его изменить.
Да спасибо, помогло.
warcanParticipantДоброго времени суток.
Версия альфаскин 12.22.
Delphi 7.
Windws 7*32.
Только сейчас появилась повторная необходимость в использовании жирного шрифта в sTreeView.
При использовании обнаружил не совсем корректное поведение при выделении ноды.
[attachment=8573:2017-12-27_16-23-54.png]
Если шрифт ноды жирный, то выделение обрезает часть текста. Я так понимаю, что расчёт выделения происходит как для обычного шрифта, поэтому часть обрезается.
warcanParticipant'Support' wrote:Здравствуйте
Для управления состоянием нодов используются функции GetChecked and SetChecked
Свойства и функции искал у (Sender as TTreeView).Items оказалось не там 🙂
Подскажите ещё один момент.
Использую процедуру выделения Node
procedure SetNodeState(node :TTreeNode; Flags: Integer);
var
tvi: TTVItem;
begin
FillChar(tvi, Sizeof(tvi), 0);
tvi.hItem := node.ItemID;
tvi.mask := TVIF_STATE;
tvi.stateMask := TVIS_BOLD or TVIS_CUT;
tvi.state := Flags;
TreeView_SetItem(node.Handle, tvi);
end;
В обычном TreeView работает. А с sTreeView и sTreeViewEx эффекта нет.
Каким образом можно к примеру выделить жирным текстом выбранную Node в sTreeView и sTreeViewEx ?
March 18, 2016 at 10:41 pm in reply to: Странное поведение при изменении высоты формы через Heigth #54863warcanParticipantПроблема в виндовсе и темах к ним.
Реальный размер формы совсем не тот что вы думаете.
procedure TForm1.btnClick(Sender: TObject);
begin
showmessage(inttostr(Height))
end;
warcanParticipantДобавьте требуемые объекты. По умолчанию скины накладываются на форму и кнопки.
[attachment=7639:Untitled.jpg]
warcanParticipantдобавьте на форму sSkinProvider
March 18, 2016 at 6:02 am in reply to: Странное поведение при изменении высоты формы через Heigth #54859warcanParticipant'Kat1e' wrote:Использую Delphi 7.
Если на форме располагаются элементы, которые не помещаются в размеры формы, то при изменении высоты формы через Height добавляется дополнительная высота.
Если таких элементов нет, то высота изменяется правильно.
Мало понимаю смысл что именно у вас не так, но исходный размер по высоте вашей формы не 100, а 88.
warcanParticipant'Support' wrote:Там продолжает приходить сообщение о перерисовке, поэтому долго.
Нужно завернуть дополнительно в
Code:sCheckListBox1.SkinData.BeginUpdate;
…
sCheckListBox1.SkinData.EndUpdate(True);Благодарю за разъяснение. Я оставил только вашу конструкцию.
sCheckListBox1.Items.BeginUpdate – sCheckListBox1.Items.EndUpdate убрал.
Так как на скорость и само отображение оно теперь не влияет.
warcanParticipant'TCount' wrote:Скорость да, оставляет желать лучшего. Мне кажется, что sChecklistBox при КАЖДОМ изменении бокса перерисовывает ВЕСЬ компонент, отсюда и такая скорость. Хотя по идее сначала должны измениться все боксы, а потом уже перерисоваться компонент 🙂
Я думаю что проблема в том что (Begin/End)Update не распространяется на перепрорисовку CheckBox-а. Ну или как то так …
warcanParticipant'TCount' wrote:Как вариант предлагаю вот это:
Вариант решает визуальную составляющую. Но если сделать список что бы там помещалось допустим 50 записей, то будет видна существенная разница в скорости. В целом меня не напрягает наличие данной особенности. Просто (Begin/End)Update в данном случае, на мой взгляд, некорректно работает. И спасибо за предложенное решение визуальной составляющей. 🙂
warcanParticipantБлагодарю за рассмотрение вопроса.
p.s. Если кто столкнулся с такого рода проблемой. Простой выход из ситуации.
procedure ChForm.FormDeactivate(Sender: TObject);
begin
if (not MForm.Enabled)
then ChForm.SetFocus;
end;
-
AuthorPosts