![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Красивая форма. [D2005, XP]
..::KraN::.. © (2007-04-05 22:23:00)Пожалуйста, подскажите как создать нестандартную форму, типа круглую или с закругленными краями.
Amoeba (2007-04-06 17:23:00) [1]Библиотека компонент FormRgn (создание окон непрямоугольной формы):
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=83
SergGG (2007-04-06 15:38:00) [2]> REKS (06.04.07 14:13) [16]
Я Вам отправил проект.
Если что, пишите.
REKS (2007-04-06 14:13:00) [3]>> SergGG © (06.04.07 12:12) [15]
Тоже самое, ничего нет
SergGG (2007-04-06 12:12:00) [4]> REKS (06.04.07 11:33) [14]
Скорей всего Вы устанавливаете картинку большого размера. И просто процедура долго выполняется. А у Вас просто не хватило терпения подождать до конца выполнения процедуры.
Поместите рис. меньшего размера
REKS (2007-04-06 11:33:00) [5]>>> SergGG © (06.04.07 11:32) [13]
Все по тому коду сделал - не идет....пришли плиз посмотрю где обшипся :)
SergGG (2007-04-06 11:32:00) [6]> REKS (06.04.07 11:22) [12]
в [5] и есть весь код програмки. Ну если надо, то пришлю
REKS (2007-04-06 11:22:00) [7]>> SergGG © (06.04.07 11:11) [11]
Не пришлешь программку свою? У меня все тоже самое - формы не видно...
Адрес tornado@nnovgorod.ru
SergGG (2007-04-06 11:11:00) [8]> REKS (06.04.07 10:55) [10]
У меня все работает.
Для формы еще:
BorderStyle=bsNone
REKS (2007-04-06 10:55:00) [9]SergGG © (06.04.07 10:49) [8]
> nullClr := image1.picture.Bitmap.Canvas.Pixels[0, 0];
Это цвет, который будет невидимым!
Не понятно, есть картинка из тысяч цветов, какой будет невидимым? Не видно формы вообще, какую бы картинку не вставил
REKS (2007-04-06 10:53:00) [10]Sergg (06.04.07 10:41) [7]
именно картинку
SergGG (2007-04-06 10:49:00) [11]> nullClr := image1.picture.Bitmap.Canvas.Pixels[0, 0];
Это цвет, который будет невидимым!
Sergg (2007-04-06 10:41:00) [12]> Вставил картинку, запускаю - формы не видно вообще :)
Видимо Вы вставили один только фон одного цвета, а не картинку
REKS (2007-04-06 10:11:00) [13]SergGG © (06.04.07 09:07) [5]
Вставил картинку, запускаю - формы не видно вообще :)
SergGG (2007-04-06 09:07:00) [14]
procedure TForm1.FormCreate(Sender: TObject);
var
regn, tmpRegn: integer; // регион окна и временный регион
x, y: integer; // координаты пикселя
nullClr: TColor; // <прозрачный цвет>
begin
nullClr := image1.picture.Bitmap.Canvas.Pixels[0, 0];
// Image1 это картинка по которой создается форма окна
regn := CreateRectRgn(0, 0, image1.picture.Graphic.Width,
image1.picture.Graphic.Height);
for x := 1 to image1.picture.Graphic.Width do
for y := 1 to image1.picture.Graphic.Height do
if image1.picture.Bitmap.Canvas.Pixels[x - 1, y - 1] = nullClr then
begin
tmpRegn := CreateRectRgn(x - 1, y - 1, x, y);
CombineRgn(regn, regn, tmpRegn, RGN_DIFF);
DeleteObject(tmpRegn);
end;
SetWindowRgn(form1.handle, regn, true);
end;
В Image1 можешь вставить любую картинку. Наглядней будет смотреться, если картинка будет иметь сплошной фон одного цвета
Steep (2007-04-06 06:32:00) [15]SetWindowRgn(hWnd,CreateEllipticRgn(0,0,300,150),TRUE);
MikePetrichenko (2007-04-06 05:16:00) [16]Regions->MSDN
Германн (2007-04-05 23:47:00) [17]
> А ты, брат, эстет.
>
Продолжение сей фразы читать у Гашека в Бравом солдате Швейке :)
Leonid Troyanovsky (2007-04-05 23:30:00) [18]
> ..::KraN::.. (05.04.07 22:23)
> Пожалуйста, подскажите как создать нестандартную форму,
> типа круглую или с закругленными краями.
А ты, брат, эстет.
--
Regards, LVT.