Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.12;
Скачать: CL | DM;

Вниз

Форма   Найти похожие ветки 

 
Sniffer ©   (2002-06-04 15:12) [0]

Привет всем ещё раз, никто не скажет, как сделать форму, например
in shape звезды? Спасибо!


 
MBo ©   (2002-06-04 15:18) [1]

В FAQ и UBPFD ;)


 
Виктор Щербаков ©   (2002-06-04 15:19) [2]

Нужно скомбинировать регионы с помощью CombineRgn и назначить получившийся регион форме SetWindowRgn. Делать это нужно в CreateParams.


 
Виктор Щербаков ©   (2002-06-04 15:20) [3]

MBo © (04.06.02 15:18)
Теперь на сайте кроме FAQ еще одно ругательство появилось :)


 
MBo ©   (2002-06-04 15:27) [4]

>Виктор Щербаков
Я даже на память не смог написать, пришлось подглядывать ;)


 
Sniffer ©   (2002-06-04 15:40) [5]

>Виктор Щербаков
А если вместо CombineRgn использовать CreatePolygonRgn?
Кстати такой код вызывает почему-то исчезновение окна :
begin
R := CreateRectRgn(0, 0, 30, 30);
SetWindowRgn(Form1.Handle, R1, True);
end;
Почему?


 
Sniffer ©   (2002-06-04 15:42) [6]

Сорри,
begin
R := CreateRectRgn(0, 0, 30, 30);
SetWindowRgn(Form1.Handle, R, True);
end;
Почему?


 
Игорь Шевченко ©   (2002-06-04 16:50) [7]

С регионами - http://www.delphikingdom.com/treasury/hsdialogs.htm


 
Val ©   (2002-06-04 16:59) [8]

http://www.programme.ru/index.phtml?arch/032001/032001_2_3.htm#top
там есть очень полезная программка "Экзотика", с помощью которой можно по контуру рисунка создать .pas файл


 
Вовчик   (2002-06-06 20:00) [9]

function BitmapToRegion(Bitmap: TBitmap; TransColor: TColor): HRGN;
var
X, Y: Integer;
XStart: Integer;
begin
Result := 0;
with Bitmap do
for Y := 0 to Height - 1 do
begin
X := 0;
while X < Width do //Пропускаем прозрачне точки
begin
while (X < Width) and (Canvas.Pixels[X, Y] = TransColor) do
Inc(X);
if X >= Width then
Break;
XStart := X;
//Пропускаем непрозрачные точки
while (X < Width) and (Canvas.Pixels[X, Y] <> TransColor) do
Inc(X);
// Создаём новый прямоугольный регион и добавляем его к
// региону всей картинки
if Result = 0 then
Result := CreateRectRgn(XStart, Y, X, Y + 1)
else
CombineRgn(Result, Result,
CreateRectRgn(XStart, Y, X, Y + 1), RGN_OR);
end;
end;
end;

procedure TZast.FormCreate(Sender: TObject);
Var
bit: HRGN;
Pict: TBitMap;
begin
Pict:= TBitMap.Create; // Критим переменную типа BitMap
Pict.LoadFromFile("1.bmp"); //Загружаем картинку из файла
Bit:= BitmapToRegion(Pict, 0); //Создаем регион 0-цвет который делаем невидимым (ЧЕРНЫЙ)
SetWindowRgn(Zast.Handle, Bit, true);
end;

Должно помочь



Страницы: 1 вся ветка

Текущий архив: 2002.08.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
14-35411
Внимание, новый вирус
2002-07-16 09:08
2002.08.12
Win32.HLLM.Frethem.11


1-35363
V.Turecky
2002-07-30 14:54
2002.08.12
!!! Компонент. Помогите !!!


1-35276
Kurt
2002-07-30 16:22
2002.08.12
Все о том же поиске по тексту (RichEdit, Memo)! Большие обьемы те


1-35296
Nameless
2002-07-29 11:00
2002.08.12
Может здесь кто-нибудь знает.....


4-35518
Dmk
2002-06-05 00:39
2002.08.12
DeviceContext