Autor Beitrag
forcedbydelphi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mo 10.01.11 16:36 
Hi Deplhianer,
ich hab es hingekriegt, dass die Form unsichtbar ist
Alphablended
Alphablendedvalue

mein Problem:
der inhalt also buttons und so sollten aber noch sichtbar bleiben, geht sowas? oder muss ich es ganz lassen^^

Danke


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 10.01.2011 um 17:12
Moderiert von user profile iconNarses: Titel geändert, "DRINGEND" entfernt.
Tony-S
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Mo 10.01.11 17:40 
Ich versteh das Problem nicht ganz, die Form soll durchsichtig sein und die Buttons nicht, ja?

Dann setzt du TransparentColor auf irgendeine Farbe und änderst die Farbe der Form auf die gleiche Farbe wie bei TransparentColor.

und das sieht dann so aus:

screen

Moderiert von user profile iconNarses: Bild als Anhang hochgeladen.
Einloggen, um Attachments anzusehen!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 10.01.11 17:47 
Und was ist daran jetzt dringend?
forcedbydelphi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mo 10.01.11 17:54 
ich musste es abschicken und ist eh zu spät naja, anstatt so zu fragen konnte man ja etwas Hilfreiches Posten
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mo 10.01.11 17:59 
Der Titel ist unglücklich gewählt...
Mit Alpha hast Du keine Chance, gegf. kannst Du das was Du erreichen möchtest mit TransparentColor und TransparentColorValue erreichen. Wenn Du Alpha brauchst kannst Du nur mit einem 2. Form und zuvor genannten Eigenschaften und anpassen im Move/Size/Focus etc. etwas derartiges "hinfaken".

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 10.01.11 18:01 
user profile iconforcedbydelphi hat folgendes geschrieben Zum zitierten Posting springen:
ich musste es abschicken und ist eh zu spät
Früher fragen, wenn du nicht weiterkommst...?

Das Stichwort ist jedenfalls SetWindowRgn.

// EDIT:
Stimmt, TransparentColor kann auch reichen, sofern man eine nimmt, die nirgends auf dem sichtbaren Bereich vorkommt.
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Mo 10.01.11 19:25 
user profile iconforcedbydelphi hat folgendes geschrieben Zum zitierten Posting springen:
der inhalt also buttons und so sollten aber noch sichtbar bleiben, geht sowas?
So würde ich es machen (Beispiel):
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
procedure TMainform.BtnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TMainform.FormCreate(Sender: TObject);
var
  Punkt1     : TPoint;
  Punkt2     : TPoint;
  Region     : HRgn;
  RegionTemp : HRgn;
begin
  ReportMemoryLeaksOnShutdown;

  // Damit man das auf dem Desktop wiederfindet.
  Edit1.Color := clLime;
  Memo1.Color := clLime;

  Region := CreateRectRgn(0, 0, 0, 0);

  // Close-Button
  Punkt1.X := BtnClose.Left;
  Punkt1.Y := BtnClose.Top;
  Punkt2.X := BtnClose.Left + BtnClose.Width;
  Punkt2.Y := BtnClose.Top + BtnClose.Height;
  Punkt1 := ClientToScreen(Punkt1);
  Punkt2 := ClientToScreen(Punkt2);
  RegionTemp := CreateRectRgn(Punkt1.X, Punkt1.Y, Punkt2.X, Punkt2.Y);
  CombineRgn(Region, Region, RegionTemp, Rgn_OR);

  // Edit1
  Punkt1.X := Edit1.Left;
  Punkt1.Y := Edit1.Top;
  Punkt2.X := Edit1.Left + Edit1.Width;
  Punkt2.Y := Edit1.Top + Edit1.Height;
  Punkt1 := ClientToScreen(Punkt1);
  Punkt2 := ClientToScreen(Punkt2);
  RegionTemp := CreateRectRgn(Punkt1.X, Punkt1.Y, Punkt2.X, Punkt2.Y);
  CombineRgn(Region, Region, RegionTemp, Rgn_OR);

  // Memo1
  Punkt1.X := Memo1.Left;
  Punkt1.Y := Memo1.Top;
  Punkt2.X := Memo1.Left + Memo1.Width;
  Punkt2.Y := Memo1.Top + Memo1.Height;
  Punkt1 := ClientToScreen(Punkt1);
  Punkt2 := ClientToScreen(Punkt2);
  RegionTemp := CreateRectRgn(Punkt1.X, Punkt1.Y, Punkt2.X, Punkt2.Y);
  CombineRgn(Region, Region, RegionTemp, Rgn_OR);

  SetWindowRgn(Mainform.Handle, Region, true);
end;