Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2007, 00:00   #1
JetAPI
Пользователь
 
Регистрация: 21.07.2007
Сообщений: 13
По умолчанию TPaintBox; Сменить цвет...

Вопрос по TPaintBox до простого смешной!..
Не получается сменить цвет на белый. Подскажите, если не затруднит: как это делается?
В Инспекторе объектов меняю Color, но PaintBox1 остается быть прежним.
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
PaintBox1.Color := clWindow;
end;
JetAPI вне форума Ответить с цитированием
Старый 16.10.2007, 01:07   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Дык clWindow - это не белый, белый, он clWhite...
mihali4 вне форума Ответить с цитированием
Старый 16.10.2007, 01:14   #3
JetAPI
Пользователь
 
Регистрация: 21.07.2007
Сообщений: 13
По умолчанию

Ничего не выходит... Только попробовал... PaintBox не изменил цвет...
Словом, не могу разобраться: как цвет белым сделать.

PaintBox1.Color := clWhite; не "белится".
JetAPI вне форума Ответить с цитированием
Старый 16.10.2007, 01:32   #4
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

И не изменится. PaintBox лишь содержит канву, на которой и происходит рисование. Канва сама по себе цвета не имеет. Есть лишь цвет карандаша и кисти. Поэтому "забелить" ее можно лишь нарисовав белый прямоугольник в размер PaintBox.
Баламут вне форума Ответить с цитированием
Старый 16.10.2007, 01:40   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

PaintBox1.Canvas.Brush.Color:=clWhi te;
PaintBox1.Canvas.FillRect(PaintBox1 .Canvas.ClipRect);
mihali4 вне форума Ответить с цитированием
Старый 16.10.2007, 10:37   #6
JetAPI
Пользователь
 
Регистрация: 21.07.2007
Сообщений: 13
По умолчанию

to mihali4
and Баламут
Спасибо! Спасибо!
Я о таком нюансе не знал... и даже не догадывался! Дня два, убил на то, чтобы в Инспекторе объектов изменить свойство Color на любой иной цвет!

Пока писал сообщение, попутно вопрос родился. Если не трудно будет опять, можете растолковать: для чего тогда в TPaintBox пнредусмотрено свойство Color? Как им пользуются? В Инспекторе, в частности... Ведь для чего-то оно там есть! Хотя бы в двух слбовах... можете пояснить?
Спасибо заранее
JetAPI вне форума Ответить с цитированием
Старый 16.10.2007, 11:38   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А вы откройте хелп дельфи по пэйнтбоксу и увидите, что у него одно (!!!) единственное ключевое свойство - канва, все остальные - унаследованы от TControl и т.д. вниз по иерархии.
У простого TButton аналогично есть свойство Color, также унаследованное от TControl, но оно у TButton не реализовано и поэтому не отображается в инспекторе.
Почему для TPaintBox не убрали из инспектора? А это не единственный ляп, который тянется еще с первой Дельфи.
А вы сходите на сайт Борланда и закатите им скандал... Можно и моральным вредом припугнуть...
Если, конечно, у вас Дельфи не пиратская...
mihali4 вне форума Ответить с цитированием
Старый 16.10.2007, 14:01   #8
JetAPI
Пользователь
 
Регистрация: 21.07.2007
Сообщений: 13
По умолчанию

to mihali4
Спасибо! Я как раз и обратил внимание на это....
Цитата:
что у него одно (!!!) единственное ключевое свойство - канва, все остальные - унаследованы от TControl и т.д. вниз по иерархии.
Я в этом вопросе не разобрался потому, что с английским не важно... на 2+.
Возможно, в Хелпе, про этот нюанс что-нибудь и пишут. Нужно просто читать...
Теперь, вот, знаю... Спасибо Вам за разъяснение. Я, сам, до этого бы открытия, не дошёл!

Я пользую не ператскую версию. Скачал на сайте официальную бесплатную Турбо Делфи. Так что, могу к ним на сайт заходить...
JetAPI вне форума Ответить с цитированием
Старый 26.10.2007, 12:48   #9
VVk
Пользователь
 
Регистрация: 26.10.2007
Сообщений: 27
Радость обновить

Спробуй його обновити (PaintBox1.refresh)
VVk вне форума Ответить с цитированием
Старый 27.10.2007, 23:39   #10
JetAPI
Пользователь
 
Регистрация: 21.07.2007
Сообщений: 13
По умолчанию

to VVk
Ничего с Рефпешом не получилось....И оставил то, что было предложено выше:

procedure TMyForm1.PaintBox1Paint(Sender: TObject);
begin
PaintBox1.Canvas.Brush.Color := clWindow;
PaintBox1.Canvas.FillRect(PaintBox1 .Canvas.ClipRect);
end;

Работает....

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

ИМХО: по моему, с Рефрешом ничего не получится... не закрасит...
JetAPI вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сменить язык в Паскаль 7.0 ??? раньше работало, сейчас не работает! koir Помощь студентам 2 19.06.2008 21:32
сменить цвет линии в компоненте TChart Blondinka Общие вопросы Delphi 1 24.12.2007 15:52
Сменить значок программы BETONOMESHALKA Общие вопросы Delphi 8 14.11.2007 21:22
Как сменить регистр текста в TMemo? Алексей_C Общие вопросы Delphi 3 30.10.2007 15:29
Как программно сменить icc-профиль SJMS Общие вопросы Delphi 0 28.02.2007 19:53