Главная страница
    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.46 MB
Время: 0.006 c
1-35375
inquisitive
2002-07-30 16:25
2002.08.12
Непонятности с TFrame


14-35467
NailMan
2002-07-16 06:50
2002.08.12
Кастрация сетевой карты


14-35441
firsor
2002-07-17 09:53
2002.08.12
Есть ли компонента имитирующая индикатор скорости?


3-35171
Allig
2002-07-23 09:08
2002.08.12
Маска


4-35514
Владислав
2002-06-04 12:44
2002.08.12
Mouse hook





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский