ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

30.09.2008, 18:30
|
|
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме: 800727
Репутация:
83
|
|
Вопрос по анимации
Всем привет!
В общем написал я анимацию, шарик летет и отталкивается от стенок формы, помогите плиз сделать, чтобы форму не было видно, и её как бы вообще не было, а шарик летал бы по раб.столу
Delрhi
Последний раз редактировалось Jes; 01.10.2008 в 00:17..
Причина: ;)
|
|
|

30.09.2008, 18:49
|
|
Banned
Регистрация: 04.06.2008
Сообщений: 402
Провел на форуме: 2267346
Репутация:
719
|
|
http://www.delphisources.ru/forum/showthread.php?t=5029 это если правильно понял
|
|
|

01.10.2008, 16:26
|
|
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме: 800727
Репутация:
83
|
|
в общем, я решил поэкспериментировать со свойствами формы, и пришёл к выводу, что нужно присвоить ей bsNone. Теперь интересует, как её саму убрать, а рабочий стол было бы видно? вместе с нариком-шариком)
|
|
|

01.10.2008, 17:34
|
|
Познающий
Регистрация: 30.10.2007
Сообщений: 63
Провел на форуме: 299216
Репутация:
59
|
|
Можно рисовать на любом устройстве/окне, получив его контекст функцией GetDC. Потому не имеет смысла делать форму прозрачной, когда проще рисовать прямо на окне.
К сожалению, на работе у меня образцов кода нет, но это всё вполне реализуемо.
|
|
|

02.10.2008, 16:00
|
|
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме: 800727
Репутация:
83
|
|
в общем вот исходник
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 сделать, а то искал исоднеки у меня не пашит((
|
|
|

04.10.2008, 17:04
|
|
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме: 299231
Репутация:
107
|
|
Изменяем вид формы полигонально. И все дела.
Пример на VB : http://www.codenet.ru/progr/vbasic/adv_windows.php
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|