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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 20:42   #1
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию В делфи на форме не распознаётся цвет.

почему при закрашивании формы любым цветом, а именно
with Form1.Canvas do
begin
Pen.Color:=clgreen;
Brush.Color:=clgreen;
Rectangle (0,0,ClientWidth div 2,ClientHeight div 2);
end;
форма не воспринимает этот цвет?
Проверяю
if Form1.Canvas.Pixels[1,1] =ClGreen then Label1.Caption:='1'
else Label1.Caption:='0';
А делфа на форме, большшШШШШИИИим таким шрифтом,в Label1.Caption выводит "0"! 0_о
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 07.12.2009, 20:47   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
if Form1.Canvas.Pixels[1,1] =ClGreen then Label1.Caption:='1'
else Label1.Caption:='0';
Так попробуй:
Код:
if Form1.Canvas.Pixels[0,0] =ClGreen then Label1.Caption:='1'
else Label1.Caption:='0';
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 07.12.2009, 21:06   #3
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

а что это изменит? прямоуголник включает в себя точки в интервале [0..ClientWidth div 2] по Х и [0..ClientHeight div 2] по У.
ClientWidth div 2 равна 234.
ClientHeight div 2 равна 247.
так что дело не в координатах.(((
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 07.12.2009, 21:09   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Дык, а Вы уверены, что прямоугольник закрашенный?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 07.12.2009, 21:16   #5
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

форма создаётся. 1\4 формы закрашена зелёным цветом, но Label1.caption=0. Вот это-то меня и смушает)))). %)
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 07.12.2009, 21:18   #6
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

попробуй, проверь сам в делфе. это удивительно, но это факт.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 07.12.2009, 21:21   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Смотрим:

Код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
with Form1.Canvas do
begin
Pen.Color:=clgreen;
Brush.Color:=clgreen;
Rectangle (0,0,ClientWidth div 2,ClientHeight div 2);
end;
if Form1.Canvas.Pixels[1,1] =ClGreen then Label1.Caption:='1'
else Label1.Caption:='0';
end;
Факт? Какой факт?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 07.12.2009 в 21:24.
Alex Cones вне форума Ответить с цитированием
Старый 07.12.2009, 21:26   #8
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

у меня немного сложнее)))

procedure TForm1.FormPaint(Sender: TObject);
begin
{ Canvas.Brush.Color := clBlack;
Canvas.Rectangle(us.X, us.Y, us.X +20, us.Y+20);
c;}
with Form1.Canvas do
begin
Pen.Color:=clgreen;
Brush.Color:=clgreen;
Rectangle(0,0,ClientWidth div 2,ClientHeight div 2);
if Form1.Canvas.Pixels[1,1] =ClGreen then Label1.Caption:='1'
else Label1.Caption:='0';
end;
end;
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 07.12.2009, 21:41   #9
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

через кнопку он делает. Чтож это уже что-то.
Я просто игру пишу. у меня есть объект типа точка : us: TPoint;
с помощью этой точки создаю квадрат Canvas.Rectangle(us.X, us.Y, us.X +20, us.Y+20); , который управляется стрелочками.
надо , чтобы этот квадрат не заходил за границы. как раз зелёного цвета.
то есть if Form1.Canvas.Pixels[us.X+1,us.Y+1] =ClGreen then "вернуть точку на прежнее место, так как он залез за границы."
он за них проходил на ура. Вот и решил проверить, а форма то вообще цвет различает , и ввёл Label. В моём случае форма не различала цвета, т.к. label1. caption на форме был равен нулю.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 07.12.2009, 22:03   #10
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

спасибо тебе,Alex Cones! правда, так проблема и не решилась))), но вопрос иссяк.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Каким образом можно изменять цвет фона и цвет шрифта в Label? jungle Win Api 17 21.09.2009 00:38
Как изменить на форме цвет кнопки закрыть? VintProg Общие вопросы Delphi 1 10.07.2009 17:08
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 16:05
Как можно изменить цвет полосы меню компонента TMainmenu на форме? SkAndrew Общие вопросы Delphi 6 11.08.2008 17:35
!!! Делфи. Фон в форме! Abbatik Помощь студентам 7 03.12.2007 13:00