![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рисование [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, на ней и рисуй! ;)