Datuve :: Forums :: Arhīvs :: Delphi 2009 caurspīdīgs logs

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 82

Reģistrētie lietotāji online: 0

Viesi online: 82

Datuve.lv video
Top.LV

Delphi 2009 caurspīdīgs logs

Ievietoja: Mittz @ 2009.03.15 16:55  

sveiki, kā panākt, lai delphi 2009 TForm1 būtu caurspīgīgs bez aizpildījuma, izmantoju, šīs rindas

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Brush.Style := bsClear;
Form1.BorderStyle := bsNone;
end;

Kā jau avotā rādīts jāizmanto vēl viena procedūra:

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 Params.ExStyle := Params.ExStyle OR WS_EX_TRANSPARENT;
end;

http://www.bildites.lv/images/34diwupdr4yev82h6quk.png
Bet reāli, problēma paliek, nekas nepalīdz, vai jūs esat atrisinājuši šo problēmu?
šeit programmas kods

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, pngimage, ExtCtrls;

type
 TForm1 = class(TForm)
   Image1: TImage;
   procedure FormCreate(Sender: TObject);
 private
   procedure CreateParams(var Params: TCreateParams);
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.brush.Style:=bsclear;
form1.BorderStyle:=bsnone;
end;

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 Params.ExStyle := Params.ExStyle OR WS_EX_TRANSPARENT;
end;

end.

Komentāri:

#1 Poter @ 2009.03.15 17:14

Nodzēs nost to:
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle OR WS_EX_TRANSPARENT;
end;

end.

#2 Mittz @ 2009.03.15 18:33

nekas, neizmainās

#3 Poter @ 2009.03.15 18:37

a kādam mērķim tev viņu vajag? neba transparent visiem komponentiem veido vienādi

#4 Mittz @ 2009.03.15 19:50

doma izveidot logu, piemēram no šīs bildes, viņai ir arī ēna.
http://www.bildites.lv/images/jrw20x13xfxkaapm6o1.png

Cerams, ka domu saprati

#5 Poter @ 2009.03.15 20:09

forumam?

#6 Mittz @ 2009.03.15 20:25

tur augsheeja labajaa sturi uzlikshu minimizeeshanas un aizvēršanas pogu, uzlikshu iespēju ka viņu var pārvietot. Iedomājies ka tā bilde ir vis Tform

#7 Poter @ 2009.03.15 20:40

Sapratu. http://www.delphi32.com/

#8 Mittz @ 2009.03.15 21:11

The following example demonstrates how to create a transparent form. Example:

procedure TForm .FormCreate(Sender: TObject);
begin
 Form .Brush.Style := bsClear;
 Form .BorderStyle := bsNone
end;
procedure TForm .BitBtn Click(Sender: TObject);
begin
 Application.Terminate;
end;

Šis kods??

#9 Poter @ 2009.03.15 21:22

arī derēs

#10 Mittz @ 2009.03.15 21:51

bet es jau sākumā rakstīju, ka ir problēma, pamēģini uztaisīt šādu aplikāju tad atver viņu palaid kādu lielu programmu(izmēra ziņā, kas aizsedz šo tfmormu), un tad apskaties uz šo programmu backgrounds paliek no lielās programmas

http://www.bildites.lv/images/34diwupdr4yev82h6quk.png

#11 Poter @ 2009.03.15 21:58

Jā ir kaut kas dzirdēts, Vēlāk uzrakstīšu kas tur bija ar šo bugu. vai vienkārši paņem kaut kur gatavu source kodu, pielāgo viņu savām vajadzībām

http://www.delphitricks.com/source-code/forms/create_a_transparent_tfo…

Edited: http://www.torry.net/quicksearchd.php?String=transparent&Title=Yes

Un tev vajag F-In-Box Delphi control