Вниз
Скачать: CL | DM;

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

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
1-47402
help
2002-07-02 17:13
2002.07.15
Верхний индекс!!!


1-47376
Explorer
2002-07-02 09:14
2002.07.15
FastReport: два DetailData


1-47298
TPavel
2002-06-30 22:41
2002.07.15
Открытие чужой программы.


14-47793
s@shka
2002-06-15 14:32
2002.07.15
OpenSSL в родном Delphi


1-47522
BKV
2002-07-04 16:25
2002.07.15
Создание формы динамически.




   Наверх