Forum Replies Created
-
AuthorPosts
-
AntonioPermskiyParticipant
В итоге нашлось лечение в виде вызова метода sWebLabel.Loaded(); после изменения свойств шрифта(sWebLabel.Font).
Всем спасибо.
AntonioPermskiyParticipantПробую на Delphi XE8 Version 22.0.19027.8951
Попробую на Берлин махнуть.
AntonioPermskiyParticipant'Support' wrote:Спасибо за разъяснения.
Завершу тему своим решением, может кому-нить пригодится. Для работы с sDateEdit-ом создал методы:
Корректным интервалом считаю 31.12.1899-31.12.9999
Code:function TForm.sDateEditCorrect(Sender: TObject): Boolean;
var
lsDateEdit: TsDateEdit;
lDateTime: TDateTime;
begin
lsDateEdit := TsDateEdit(Sender);
Result := TryStrToDate(lsDateEdit.Text, lDateTime, FFormatSettings);
if Result then
Result := (lDateTime > 0) and (lDateTime <= MaxDateTime);
end;FFormatSettings.ShortDateFormat := 'dd.mm.yyyy';
FFormatSettings.DateSeparator := '.';
У каждого sDateEdit обрабатываю OnExit
Code:procedure TForm.sDateEditExit(Sender: TObject);
var
lText: String;
begin
if sDateEditCorrect(Sender) then
Exit;
sDateEditValidateError(Sender, lText);
end;У каждого sDateEdit обрабатываю OnValidateError
Code:procedure TForm.sDateEditValidateError(Sender: TObject; var Text: String);
var
lsDateEdit: TsDateEdit;
begin
ShowError(rsErrorDateIncorrect);lsDateEdit := TsDateEdit(Sender);
if lsDateEdit.CanFocus then
begin
if lsDateEdit.Text = ' . . ' then
lsDateEdit.Date := Now;
lsDateEdit.SetFocus();
end
else
lsDateEdit.Date := Now;
end;AntonioPermskiyParticipantДобрый день.
Извиняюсь за долгое молчание.
Насчет фокуса. Фокус стоит в sDateEdit. В sDateEdit-е корректная дата. Пользователь вводит ерунду, уходит на другой контрол. Срабатывает событие sDateEditValidateError. Обрабатываю его, возвращая фокус в sDateEdit. А хочется восстанавливать предыдущую корректную дату.
Также замечено, что у компонента нельзя поменять св-во CheckOnExit, во всяком случай в DesignTime. Не уверен, правда, что правильно понимаю цель этого св-ва.
Событие sDateEdit1AcceptDate тоже почему то не вызывается.
Еще, если в sDateEdit ввести “сакраментальную” дату 30.12.1899, то текст сбрасывается на ' . . '.
Может быть можно как-то задать маску так, чтобы можно было вбивать только цифры? В том числе, исключая ввод пробела.
Остается в силе вопрос про var-параметр Text.
С уважением, Тоха.
AntonioPermskiyParticipant'egorea1999' wrote:все работает:
нужно ещё указать свойство text alignment
[attachment=7690:2016-05-03_230125.png]
Супергуд
Спасибо большое
-
AuthorPosts