Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рисование [D6, WinXP]


dubolom ©   (2006-03-30 18:47:00) 

Как нарисовать что бы то ни было непосредственно на форме?
Код подобный этому ничего не рисует:
dc:=GetDC(Form1.Handle);
//Дальше рисование, например
Rectangle(dc,100,100,200,200);
ReleaseDC(Form1.Handle, dc);


Гаврила   (2006-03-30 23:30:00) [1]


>dc:=GetDC(Form1.Handle);
>//Дальше рисование, например
>Rectangle(dc,100,100,200,200);
> ReleaseDC(Form1.Handle, dc);


Это абсолютно рабочий пример, который все прекрасно рисует.
Если у тебя не рисует, то по каким-то другим причинам


Rial   (2006-03-30 23:18:00) [2]

Операции по прорисовке необходимо поместить в обработчик собития формы OnPaint.

Либо:


procedure TFrom1.Paint;
Var ps:TPaintStruct;
begin
Windows.BeginPaint(Handle,ps);

//Здесь рисуешь что- нибудь.
//С использование любых средств (но форме, чей Handle указал).

Windows.EndPaint(Handle,ps);
end;


dubolom   (2006-03-30 23:10:00) [3]

>Бр-р-р-р-р.... Ето зачем такой изврат??? :)
Подобное извращение нужно было для рисования собственных кнопок, которое производилось с помощью функции StretchBlt()

>У формы есть Canvas, на ней и рисуй! ;)
Возможно я чего-то не понимаю, но Canvas не помогает. Может быть пример?

>Логично, что ничего не рисует контекст содержит установки контекста >формы. Что будет если ты на белом фоне нарисуешь белый квадрат?
Предварительная загрузка в контекст ручки и кисти ничего не изменяла.


Чародей   (2006-03-30 20:07:00) [4]


> dc:=GetDC(Form1.Handle);

Логично, что ничего не рисует контекст содержит установки контекста формы. Что будет если ты на белом фоне нарисуешь белый квадрат?


Cash   (2006-03-30 18:55:00) [5]

Бр-р-р-р-р.... Ето зачем такой изврат??? :)
У формы есть Canvas, на ней и рисуй! ;)


Наверх

Титульная страница Поиск, карта сайта Написать письмо