Главная страница
    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-47225
RDA
2002-06-20 12:04
2002.07.15
Компоненты FBIPlus


1-47312
Raiv
2002-07-01 09:47
2002.07.15
Как включить dll файл в свой exe


3-47083
K_Dim
2002-06-14 13:23
2002.07.15
Забрать данные из текстовой таблицы


14-47775
FLIZ
2002-06-14 15:41
2002.07.15
ВСЕ! ЗАВТРА В ОТПУСК! НА МОРЕ! НА ЮГ!!!!!!!!!!!!!!!!


3-47101
DKalinin
2002-06-21 13:49
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский