Avatar billede cautoo Nybegynder
15. oktober 2001 - 18:05 Der er 25 kommentarer og
1 løsning

Rund Form

Hvordan kan jeg gøre sådan at en Form bliver \"Rund\" eller andre former ikke bare transperant men sådan at der hvor den er gennemsigtig skal man kunne trykke på det som er bagved??
Avatar billede dkn Nybegynder
15. oktober 2001 - 18:15 #1
For at gøre så man kan se igennem en form skal du gøre sådan her:

//Put en button på din form, og giv den denne onclick:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.TransparentColor := true;
Form1.TransparentColorValue :=clOlive;//Bestemmer hvilken color som skal ses som transparent
Panel1.Color :=clOlive;//Giver panel den farve, så ved den at den skal være transparent.
end;
//Put et panel på din form.
//Go Go..
Avatar billede dkn Nybegynder
15. oktober 2001 - 18:18 #2
Alt dette kan du også ændre i object inspectoren
Avatar billede cautoo Nybegynder
15. oktober 2001 - 18:18 #3
øh der er ikk noget der hedder TransperantColor og TransperantColorValue
Avatar billede dkn Nybegynder
15. oktober 2001 - 18:21 #4
Sådan her kan du give formen lidt runde kanter (ser godt ud):

Procedure DrawRoundRectRegion(wnd: HWND; wrect: TRect);
Var
  Rgn: HRGN; 
Begin
  rgn := CreateRoundRectRgn(Wrect.Left, Wrect.Top, Wrect.Right, Wrect.Bottom,(30), (30));
  SetWindowRgn(Wnd, Rgn, TRUE);
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
DrawRoundRectRegion(Handle, ClientRect);
end;
Avatar billede dkn Nybegynder
15. oktober 2001 - 18:21 #5
under formen ik???
Hvilken version har du af delphi??
Avatar billede cautoo Nybegynder
15. oktober 2001 - 18:22 #6
hvis det nu er en tekst jeg har skrevet og man skal kunne klikke på det der er bag ved formen der hvor teksten ikk er??
Avatar billede cautoo Nybegynder
15. oktober 2001 - 18:23 #7
5
Avatar billede dkn Nybegynder
15. oktober 2001 - 18:23 #8
Ja så man kan se igennem formen ikke?
Avatar billede dkn Nybegynder
15. oktober 2001 - 18:24 #9
derfor, jeg har version 6
Avatar billede cautoo Nybegynder
15. oktober 2001 - 18:25 #10
jeg har indtil videre brugt:
  Brush.Style := bsClear;
  Timer1.Enabled := True;

men jeg vil kunne trykke på det der er bagved
Avatar billede cautoo Nybegynder
15. oktober 2001 - 18:26 #11
formen skal helt FORSVINDE der hvor teksten ikke er, IKKE VÆRE GENNEMSIGTIG, så kan jeg jo ikke klikke på hvis der nu er en teksteditor bagved
Avatar billede cautoo Nybegynder
15. oktober 2001 - 18:27 #12
jeg mener bare:
Brush.Style := bsClear;
Avatar billede dkn Nybegynder
15. oktober 2001 - 18:30 #13
jaja jeg forstår, det kode jeg gav dig som åbentbart kun virker i d6 gjorde nettop sådan!
Der hvor panel var, ville der komme et hul hvor du kunne click, og ramme noget som kunne være omme bagved
Avatar billede dkn Nybegynder
15. oktober 2001 - 18:32 #14
jeg havde engang et component der kunne gøre dettte i d5.
Jeg vil se om jeg kan komme på havd den hedder (det var freeware with source)
Avatar billede hlj Nybegynder
15. oktober 2001 - 21:52 #15
Ellers gå til http://www.lawrenz.com/coolform og download deres coolform.
Avatar billede hlj Nybegynder
15. oktober 2001 - 22:04 #16
Et eksempel jeg engang lavede:

procedure TMain.FormCreate(Sender: TObject);
var
  TempX, TempY : integer;
  R1, R2, R3, R4, R5, R6 : HRgn;
  R_out : HRgn;
begin

  // Create slutregion
  R_out:= CreateRectRgn(0,0,Main.Width,Main.Height);

  TempX := Main.Width DIV 2;    // Finder midtpunktet i bredden af formen
  TempY := Main.Height DIV 2;  // Finder midtpunktet i højden af formen

  // Create ellipse regioner (simpel matematik)
  R1:= CreateEllipticRgn(0, 0, TempX, TempY);                    // Lav øverste venstre ellipse
  R2:= CreateEllipticRgn(TempX, 0, Main.Width, TempY);          // Lav øverste højre ellipse
  R3:= CreateEllipticRgn(0, TempY, TempX, Main.Height);          // Lav nederste venstre ellipse
  R4:= CreateEllipticRgn(TempX, TempY, Main.Width, Main.Height); // Lav nederste højre ellipse
  R5:= CreateRectRgn(Main.Width - 23, 5, Main.Width - 6, 20); // Lav øverste højre hjørne kasse
  R6:= CreateEllipticRgn(TempX DIV 2, TempY DIV 2, (TempX DIV 2) + TempX, (TempY DIV 2) + TempY); // Lav miderste ellipse

  // Kombiner regioner. Den første skal være en RGN_AND ellers se hjælpen for CombineRgn
  CombineRgn(R_out, R_out, R1, RGN_AND);
  CombineRgn(R_out, R_out, R2, RGN_OR);
  CombineRgn(R_out, R_out, R3, RGN_OR);
  CombineRgn(R_out, R_out, R4, RGN_OR);
  CombineRgn(R_out, R_out, R5, RGN_OR);
  CombineRgn(R_out, R_out, R6, RGN_DIFF);  // Træk miderste ellipse fra regionen

  // Ændre form til R_out region
  SetWindowRgn(Handle,R_out, True);

end;
Avatar billede borrisholt Novice
16. oktober 2001 - 09:13 #17
Det trick som dkn kan nemy impl. i Delphi 5 og tifligere .. Problemert er blot at for at det virker skal din APP køre på Windows 2000

Jens B
Avatar billede cautoo Nybegynder
16. oktober 2001 - 11:36 #18
Er der en der kan omformulere det script der står ovenover så det er alt andet end en label der bliver gennemsigtigt??


Og jeg bruger 98 så der andet duer ikk
Avatar billede dkn Nybegynder
16. oktober 2001 - 15:31 #19
cautoo  -> ehh hvad???
Avatar billede cautoo Nybegynder
17. oktober 2001 - 12:38 #20
Den der CoomForm kan jeg ikke bruge i denne situation, men er der ikk en der, ud fra det ovenstående script, kan lave et script så det virker med den tekst der står i min label???
Avatar billede lectoc Nybegynder
22. oktober 2001 - 08:45 #21
Prøv evt. også at kigge på Gabes Odd Form Assistant. Det er et sødt lille program, hvor du på baggrund af et bitmap kan generere en Delphi unit, der kan danne en form med samme udseende som dit billede!!

Se på adressen:

http://www.informatics.no/progvareOF.htm

/Torben.
Avatar billede cautoo Nybegynder
22. oktober 2001 - 16:38 #22
´Det skal stadig være en TLABEL ikke alt muligt andet men noget så enkelt som en TLABEL
Avatar billede lectoc Nybegynder
14. november 2001 - 12:17 #23
Så skulle du nok have formuleret spørgsmålet anderledes. En Form i Delphi er og bliver en Form - det som alle svarene har drejet sig om...

/Torben.
Avatar billede cautoo Nybegynder
14. november 2001 - 18:53 #24
Forstod du ikk det sidste indlæg jeg skrev??
Avatar billede puddelundercover Nybegynder
17. november 2001 - 16:48 #25
CoolForm hedder komponenten, hvor du kan designe din form med en mask.... Hent den på www.torry.net!
Avatar billede cautoo Nybegynder
13. juni 2002 - 23:59 #26
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester