Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 954
от 15.10.2007, 06:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 461, Экспертов: 71
В номере:Вопросов: 3, Ответов: 3


Вопрос № 104796: Скажите почему Canvas.Refresh не работ? Скажем: with ACanvas do begin Pen.Color := clRed; Rectangle(10, 10, 20, 20); Refresh; // Якобы должно фсё сбросится Rectangle(10, 30, 20, 50); // Цвет кисти по-прежнему красный ?...
Вопрос № 104848: Здравствуйте! Скажите пожалуйста, как можно раздать имена компонентам(кнопкам например) из файла?...
Вопрос № 104857: Уважаемые эксперты создаю компонент визуальный, у него есть свойство property Filter:TStringList read FFilter write SetFilter; тип как вы заметили TStringList соответственно в Design mode в инспекторе свойств оно отобража...

Вопрос № 104.796
Скажите почему Canvas.Refresh не работ?
Скажем:
with ACanvas do
begin
Pen.Color := clRed;
Rectangle(10, 10, 20, 20);
Refresh; // Якобы должно фсё сбросится
Rectangle(10, 30, 20, 50); // Цвет кисти по-прежнему красный ???????
end;
Отправлен: 09.10.2007, 10:52
Вопрос задал: SMT
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Виктор Пырлик
Здравствуйте, SMT!

потому что
Call Refresh to return the HDC used by the canvas to a default state. Refresh does not change the values of the Font, Brush, or Pen properties. Calling any of the drawing methods of the canvas after calling Refresh will reselect the Font, Brush, or Pen into the HDC if it is used by the drawing method.

Другими словами, метод не восстанавливает определенные пользователем (вами) значения свойств - шрифт, цвет, кисть и т.д. Он только восстанавливает контекст устройства. Для того, что бы изменить свойство, вам надо непосредственно присвоить ему новое значение.
Метод Refresh – это не «обнуление» , не очистка и не уничтожение, это просто обновление.
---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Практикант)
Ответ отправлен: 09.10.2007, 11:21
Оценка за ответ: 5


Вопрос № 104.848
Здравствуйте!
Скажите пожалуйста, как можно раздать имена компонентам(кнопкам например) из файла?
Отправлен: 09.10.2007, 16:18
Вопрос задал: Skvitek (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Delph
Здравствуйте, Skvitek!

У каждого компонента есть свойство Name, которому можно присвоить какое-либо строковое значение. Но менять Name после компиляции не рекомендую. У многих компонентов есть ещё и Caption, которое является отжображаемым именем. Ему-то как раз можно давать любое название, например так:

Button1.Caption := "Кнопка 1";
Button2.Caption := str; { str - строковая переменная }
и т.д.
---------
Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph (статус: 10-ый класс)
Ответ отправлен: 09.10.2007, 17:01


Вопрос № 104.857
Уважаемые эксперты

создаю компонент визуальный, у него есть свойство

property Filter:TStringList read FFilter write SetFilter;

тип как вы заметили TStringList соответственно в Design mode в инспекторе свойств оно отображается как ... но при нажатии на эти ... выдается ошибка Cannot assign a nil to a TrichEditStrings
что за ошибка ? как избавится.

Возможно нужно как то прописать эдитор но как 7
Отправлен: 09.10.2007, 17:21
Вопрос задал: Кэр Лаэда (статус: Практикант)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Gladiator
Здравствуйте, Кэр Лаэда!
Скорей всего в конструкторе своего компонента необходимо прописать создание листа.

Например так:

constructor TMyComponent.Create(AOwner: TComponent);
begin
inherited;
FFilter := TStringList.Create;
end;
Ответ отправил: Gladiator (статус: Студент)
Ответ отправлен: 10.10.2007, 08:17
Оценка за ответ: 5
Комментарий оценки:
Именно так ))))


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.61.0 от 14.10.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное