Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

Памагите по форме   Найти похожие ветки 

 
PycUS   (2002-06-24 22:49) [0]

Как сделать форму своей формы не круглую не овальную, а по рисунку например?


 
Сергей Чурсин   (2002-06-24 23:10) [1]

Делается это через регионы (так же как и круглые и овальные)...
CreatePolygonRgn...
SelectClipRgn...
Если для одной картинки - обрисовывешь полигоном и используешь функции выше (see Api help), может еще combineRgn
Если для любой - то формируешь регион, проходя по bitmap-у и ища Trsansparent color. Также есть компоненты, делающие такие вещи.


 
PycUS   (2002-06-25 22:45) [2]

Я чайник можно по подробнее и ссылочки на компоненты.
Заранее спасибо


 
RV   (2002-06-26 09:28) [3]

есть у меня программка - че нарисуешь, такая и будет форма
есль надо - пиши, вышлю или поищи в инете LogoMaker.exe


 
PycUS   (2002-06-26 21:21) [4]

Может где инфа по поводу есть , буду признателен


 
alena.svt   (2002-06-26 21:56) [5]

Вот тебе готовый кусок кода. Ссылка на ExtCtrls обязательна в uses .

procedure TForm1.FormCreate(Sender: TObject);
Var
X1,X,Y: Integer;
begin
X1 := -1;
R := CreateRectRgn(0,0,0,0);

Image1.Picture.LoadFromFile("My.bmp");
Form1.BorderStyle := bsNone;
Form1.Height := Image1.Picture.Bitmap.Height;
Form1.Width := Image1.Picture.Bitmap.Width;

With Image1.Picture.Bitmap Do
For Y := 0 To Height-1 Do
For X := 0 To Width-1 Do
If Canvas.Pixels[X,Y] <> Canvas.Pixels[0,0] Then
Begin If X1=-1 Then X1 := X; End
Else
If X1>-1 Then
Begin
CombineRgn(R,R,CreateRectRgn(X1,Y,X-1,Y+1),RGN_OR);
X1 := -1;
End;
SetWindowRgn(Handle, R, True);
end;

Толко сразу говорю фон рисунка должен быть одного цвета. Например в простом паинте на белом фоне нарисуй какую нибудь краказяблу сохрани его в той же директории где файлы проекта и воспользуйся этим кодом.


 
alena.svt   (2002-06-26 22:33) [6]

А если не хочешь таскать с программой bitmap то запакуй картинку в ресурсы и вызывай потом


 
PycUS   (2002-06-28 22:37) [7]

Огромное спасибо!! Все отлично работает !!! Всегда бы так отвечали , только жаль без пояснений



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

Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
3-47184
Bek
2002-06-15 14:34
2002.07.15
Отображение поля - Ole в делпфи


3-47075
EugeneCher
2002-06-19 16:28
2002.07.15
IBQuery проблема с текстовыми вычисляемыми полями!


8-47616
DSG
2002-03-11 15:43
2002.07.15
Отрисовка


6-47637
JohnKZ
2002-05-04 09:29
2002.07.15
Help


1-47552
Lot
2002-06-28 01:24
2002.07.15
Люди помогите плииииииииииизззз!!!!!!!!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский