FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9268
Вход
TransForm - нестандартные виды форм

Создание форм в виде кругов, эллипсов, квадратов, прямоугольников, многоугольников, прозрачных форм.


 
Прислал: (c) Universalthread   Категория: Интерфейс


TransForm - нестандартные виды форм

Некоторое разнообразие интерфейса VFP ... позволяет изменять форму уже СУЩЕСТВУЮЩЕЙ формы на выбранную вами. Т.е. вы создаете обычную форму и в событие Init вставляете код конвертации формы.

Создание формы в виде эллипса

SetFormElliptic (toFormRef, tnx, tny)

Параметры:
toFormRef - название формы для конвертирования
tnx - нижняя правая X-координата прямоугольника в который вписан эллипс
tny - нижняя правая Y-координата прямоугольника в который вписан эллипс

Возвращаемые значения:
.T. если удачно; иначе .F.

Пример:
oformtrans = newobject('cusformtransformer','frmtrans')
oformtrans.SetFormElliptic(THIS, 100, 200)


Создание прозрачной формы, т.е. все объекты на форме как бы "висят" сами по себе. Заголовок формы остается видимым.

SetFormTransparent (toFormRef)

Параметры:
toFormRef - название формы для конвертирования

Возвращаемые значения
.T. если удачно; иначе .F.

Пример
oformtrans = newobject('cusformtransformer','frmtrans')
oformtrans.SetFormTransparent (THIS)

Создание многоугольной формы

SetFormUDF (toFormRef, tapoints)

Параметры:
toFormRef - название формы для конвертирования
tapoints - двумерный массив с координатами

Возвращаемые значения
.T. если удачно; иначе .F.

Пример
oformtrans = newobject('cusformtransformer','frmtrans')
local array lapoints[9,2]
lapoints[1,1] = 0
lapoints[1,2] = 0
lapoints[2,1] = 10
lapoints[2,2] = 5
lapoints[3,1] = 100
lapoints[3,2] = 50
lapoints[4,1] = 200
lapoints[4,2] = 75
lapoints[5,1] = 60
lapoints[5,2] = 100
lapoints[6,1] = 300
lapoints[6,2] = 10
lapoints[7,1] = 250
lapoints[7,2] = 35
lapoints[8,1] = 10
lapoints[8,2] = 300
lapoints[9,1] = 25
lapoints[9,2] = 100
oformtrans.SetFormUDF (THIS, @lapoints)

В прилагаемом архиве лежит чуть более подробная документация на английском языке ... Удачи !

 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.896) Вложение [10.1]kb
Дополнения пользователей
TransForm - нестандартные виды форм
[+][?]
George Kachakhidze
02.03.01 07:01:55

после этого извращения Fox виснет при выходе
Sergey Hopka
09.03.01 17:04:48

Замечательное "извращение"... Из формы можно сделать все что угодно(почти). Вопрос только в том,
где это использовать: за *-надцать лет работы я встретил только одного пользователя (заказчика),
которому это было интересно.
Dima
16.03.02 21:57:50

Но в примере просто режется исходная форма. А как вместе с ней изменять и TitleBar? 
dedmessage
02.09.08 15:23:24

Если речь идет о прозрачности формы, то в конце кода я ставил
This.Caption=""

и TitleBar становиля тоже прозрачным.

(при этом в свойстве формы ставил .F. для
MinButton
MaxButton
ControlBox
Closable

BorderStyle = 0)
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика