:: Архив конференции по VFP до 2005 года
Нестандартная форма окон
Виктор Кузьмин
Автор
Подскажите пожалуйста, можно ли сделать на Visual FoxPro 6.0 окошко нестандартной формы например в виде кляксы, круга и т.д.
Подскажите какие библиотеки API и функции для этого использовать?
Я пробовал, но все уперлось HWND. Я думаю этот вопрос будет интересен очень многим.
Ratings: 0 negative/0 positive
RE: Нестандартная форма окон
Алексей

Сообщений: 223
Дата регистрации: 05.10.2000
Привет.
Как-то рыскал по округе и скачал небольшую прогу (автор у нее есть, но кто конкретно - уже не вспомню.) Изучай. Если вместо CreateEllipticRgn поставить CreatePolyPolygonRgn, возможно получится и клякса.
Удачи.
Алексей

* Declare some Windows API functions.
declare integer GetActiveWindow in WIN32API
Declare Long CreateEllipticRgn IN "gdi32" Long X1, Long Y1, Long X2, Long Y2
Declare Long CreateRectRgn IN "gdi32" Long X1, Long Y1, Long X2, Long Y2
Declare Long SetWindowRgn IN "user32" Long hWnd, Long hRgn, Long bRedraw
Declare Long DeleteObject IN "gdi32" Long hObject

hWnd = GetActiveWindow()

*!* Create the elliptical region.
wid = sysmetric(1)+10
hgt = sysmetric(2)+10

rgn = CreateEllipticRgn(0, 0, wid, hgt)
*!* Restrict the window to the region.
SetWindowRgn(hWnd, rgn, .T.)
DeleteObject(rgn)

messagebox("Чтобы продолжить, нажмите OK.")

rgn = CreateRectRgn(0, 0, wid, hgt)
SetWindowRgn(hWnd, rgn, .T.)
DeleteObject(rgn)
Ratings: 0 negative/0 positive
Вроде как этим баловался Orion
Игорь Ильин
См. примеры на его сайте www.foxuser.ru
Ratings: 0 negative/0 positive
RE: Что за сайт такой? Почему не работает?
FLY
Что то не получается сконнектиться %(
Ratings: 0 negative/0 positive
Sorry, ошибочка
Игорь Ильин
Посмотрел, что написано у меня в букмарке
www.foxuser.NEWMAIL.ru
Ratings: 0 negative/0 positive


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

On-line: 4 (Гостей: 4)

© 2000-2024 Fox Club 
Яндекс.Метрика