Всем привет! В общем написал я анимацию, шарик летет и отталкивается от стенок формы, помогите плиз сделать, чтобы форму не было видно, и её как бы вообще не было, а шарик летал бы по раб.столу Delрhi
в общем, я решил поэкспериментировать со свойствами формы, и пришёл к выводу, что нужно присвоить ей bsNone. Теперь интересует, как её саму убрать, а рабочий стол было бы видно? вместе с нариком-шариком)
Можно рисовать на любом устройстве/окне, получив его контекст функцией GetDC. Потому не имеет смысла делать форму прозрачной, когда проще рисовать прямо на окне. К сожалению, на работе у меня образцов кода нет, но это всё вполне реализуемо.
в общем вот исходник PHP: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type Tsharik = class(TForm) Shape1: TShape; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } procedure shar(); public { Public declarations } end; var sharik: Tsharik; PosX, Posy, VelX, Vely: single; implementation {$R *.dfm} procedure Tsharik.FormCreate(Sender: TObject); begin Posx:=3; PosY:=5; VelX:=2; VelY:=2; end; procedure Tsharik.shar; begin PosX:= PosX+VelX; PosY:= PosY+VelY; // Что бы шарик не вылетал за границы поля по ширине // Если X координата шарика больше ширины формы - ширины самого //шарика то if PosX > ClientWidth - Shape1.Width then begin //X координата шарика присвоит значение ширина формы - ширина //шарика PosX:= ClientWidth - Shape1.Width; // НАЗАД!!! VelX:= - VelX; end else if PosX < 0 then begin POsX:= 0; VelX:= - VelX; end; // работаем с Y координатой if PosY > ClientHeight - Shape1.Width then begin POsY:= ClientHeight - Shape1.Width; VelY:= - VelY; end else if PosY < 0 then begin POsY:= 0; VelY:= - VelY; end; // Перемещаем шарик в пространстве Shape1.Left:= Round(PosX); Shape1.Top:= Round(PosY); end; procedure Tsharik.Timer1Timer(Sender: TObject); begin shar; end; end. помогите с GetDC сделать, а то искал исоднеки у меня не пашит((
Изменяем вид формы полигонально. И все дела. Пример на VB : http://www.codenet.ru/progr/vbasic/adv_windows.php