Forum Replies Created
-
AuthorPosts
-
stalker18Participant
Если выключена анимация формы (AnimEffects.FormShow.Active=False), то проблема остается.
stalker18ParticipantЕще вопрос, в демо есть кнопки на которых изображение отражается от основания (эфект зеркальной поверхности), это фотошоп или прикол компоненты?
Св-во Reflected у кнопок.И еще, демка создает ini файл, в котором сохраняются координаты положения главного окна. Я знаю, что есть такие компоненты, в данном случае это реализовано на компонентах AC или на сторонних?
Это реализовано вручную:CODEt := sStoreUtils.ReadIniInteger('Demo', 'Top', -1, IniName);
l := sStoreUtils.ReadIniInteger('Demo', 'Left', -1, IniName);
if t -1 then begin
Top := t;
Position := poDesigned;
end;
if l -1 then begin
Left := l;
Position := poDesigned;
end;stalker18ParticipantТоже замечал такое… но не считал это ошибкой <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
stalker18ParticipantЧтобы не добавлялся символ '&' в Caption итема, нужно установить свойство AutoHotkeys в maManual. Св-во это ищем у компонента PopupMenu или MainMenu.
Далее используем следуюший код:CODEprocedure TfrmMain.ItemClick(Sender: TObject);
begin
sSkinManager.SkinName := TMenuItem(Sender).Caption;
end;procedure TfrmMain.FillPopupSkins;
var
i: Integer;
strSkinList: TStrings;
itmTemp: TMenuItem;
begin
strSkinList := TStringList.Create;
try
popMenu.Items.Clear;
sSkinManager.GetSkinNames(strSkinList); // если нужно загрузить как внешние, так и внутренние скины
// smngMain.GetExternalSkinNames(strSkinList); // если нужно загрузить только внешние скины
for i := 0 to strSkinList.Count – 1 do begin
itmTemp := popMenu.CreateMenuItem;
itmTemp.Caption := strSkinList;
itmTemp.OnClick := ItemClick;
popMenu.Items.Add(itmTemp);
end;
finally
FreeAndNil(strSkinList);
end;
end;
Обработчик ItemClick общий для всех созданных в цикле Item's!stalker18ParticipantЖесть))… А нельзя было это в методы LoadFromFile() и SaveToFile() обернуть?.. Наверное в будущем будет <img src="style_emoticons//wink.gif” style=”vertical-align:middle” emoid=”;)” border=”0″ alt=”wink.gif” />
stalker18ParticipantЯ может чего-то не понимаю, но чем это плохо?…
Ну да, высота разная… но смотрится-то хорошо (там где ExtendedBprders=true)…
А вот когда он выключен, узкий заголовок формы на скринах смотрится в самом деле не очень..
Об этом речь идет?stalker18Participantвот, пожалуйста <img src="style_emoticons//wink.gif” style=”vertical-align:middle” emoid=”;)” border=”0″ alt=”wink.gif” />
[attachment=3322:Project1.rar]stalker18ParticipantДа, есть такое.
Системные кнопки появляются, когда подводишь курсор к границе окна – курсор меняется не стрелочки для ресайза.
Еще интересно, если вручную тыкать на кнопки 'Развернуть' и потом 'Восстановить', то глюк не наблюдается.stalker18ParticipantВ том-то и дело, что мне хочется использовать диалоги из пакета АС <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
Просто такой, вроде и не значительный, но все же косячок, немного огорчил.
Придется придумывать как его обойти.stalker18ParticipantНа скрине активным окном является Тотал, и следовательно проблемы перерисовки у него, а не у демки.
stalker18ParticipantПример того, как это можно использовать на практике).
[attachment=3256:1.png]stalker18ParticipantЗато, если некорректно, то еще не значит, что пусто.
stalker18ParticipantНасколько я помню нужно было проверить не корректность ввода, а пусто или нет.
stalker18ParticipantНу… можно в лоб:
CODEif sDateEdit1.Text = ' . . ' then {значит ничего не введено}
То, с чем сравнивать sDateEdit1.Text, зависит от того, как настроена маска ввода.
Например сколько знаков отводится под год (2 или 4). Какой символ используется как заполнитель.
Я привел пример для маски, у которой под год отведено 2 символа, и заполнитель – символ пробела.stalker18ParticipantЭто особенность цикла for.
CODEfor i := {начальное значение} to {конечное значение} do
{какой-то код}
{начальное значение} и {конечное значение} вычисляются только один раз при входе в цикл.
При переходе по циклу к следующие итерации {конечное значение} не пересчитывается!Рассмотрим пример:
CODEfor i := 0 to Items.Count – 1 do
Items.Delete(i);
Пусть Items.Count = 5. Элементы доступны по индексам: [0, 1, 2, 3, 4]
Соответственно цикл будет идти от 0 до 4.
Когда i = 0 – из Items удаляется элемент с индексом “0”. Items.Count=4 => оставшиеся элементы доступны по индексам: [0, 1, 2, 3]
Когда i = 1 – из Items удаляется элемент с индексом “1”. Items.Count=3 => оставшиеся элементы доступны по индексам: [0, 1, 2]
Когда i = 2 – из Items удаляется элемент с индексом “2”. Items.Count=2 => оставшиеся элементы доступны по индексам: [0, 1]
Когда i = 3 – мы пытаемся удалить элемент с индексом “3”, тогда как Items.Count = 2, и допустимые индексы: “0” и “1”.
Тут и появляется ошибка 'List index out of bounds (х)'.stalker18ParticipantКстати, на счет твоих компонентов.
На какую версию Delphi и AC они ставятся? Только на D7 что ли?
На D2009 не устанавливаются.stalker18ParticipantТак в ThirdParty вообще есть TDBGrid… Причем он скинится), так что не знаю в чем проблема.
Правда это заметно только на темных скинах, например, на “WMP 2008”.stalker18Participantда, демка не помешает <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
P.S. в самом деле у DBListBox еще есть сво-во DataField
stalker18Participant -
AuthorPosts