Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Transparente Form und Memo (https://www.delphipraxis.net/56887-transparente-form-und-memo.html)

faux 13. Nov 2005 10:26

Re: Transparente Form und Memo
 
Also was mir auf den aller ersten Blick auffiehl:

Delphi-Quellcode:
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
Form1.Color := ColorBox1.Selected;
Form1.Visible := True;
Form1.Show;

MainForm.Visible := False;

Timer1.Enabled := False;
end;
Das kann einfach nur schief gehen... :roll:

turboPASCAL 13. Nov 2005 10:35

Re: Transparente Form und Memo
 
Jo, das meine ich auch...

Beschreibe doch mal bitte was du machen willst.

Nils_13 13. Nov 2005 10:46

Re: Transparente Form und Memo
 
Zitat:

Zitat von faux
Also was mir auf den aller ersten Blick auffiehl:

Delphi-Quellcode:
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
Form1.Color := ColorBox1.Selected;
Form1.Visible := True;
Form1.Show;

MainForm.Visible := False;

Timer1.Enabled := False;
end;
Das kann einfach nur schief gehen... :roll:

Wenn du schon sagst es geht schief, dann schreibe nicht den :roll: sondern wie du es lösen würdest :wink:

Ich will, dass das Programm transparent ist, aber das man wie in DOS einfach schreiben schreiben und nochmal schreiben kann, ohne das sich der COmputer aufhängt. --> Es solle einen grünen Schimmer haben.

turboPASCAL 13. Nov 2005 12:01

Re: Transparente Form und Memo
 
Liste der Anhänge anzeigen (Anzahl: 1)
Du brauchst dazu doch keine zwei Formen. Wozu der Timer war verstehe ich auch nicht so recht (nur um die 2. Form darzustellen ?).

Da du mit D7 arbeitest kannst du auch auf:
Delphi-Quellcode:
// Transparenz
setWindowLong(Handle, GWL_EXSTYLE,
    getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED {or WS_EX_TRANSPARENT});
verzichten, das geht dann so:
Delphi-Quellcode:
...

uses code;

{$R *.dfm}

procedure TMainForm.FormCreate(Sender: TObject);
begin
  // Transparenz
  {Form1.} AlphaBlend := True;
  {Form1.} AlphaBlendValue := 200;

  {Form1.} Align := alClient;

  // Console
  ...

end;

...

procedure TMainForm.ConsoleKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  iLine: integer;
begin
  iLine := Console.Perform(EM_LINEFROMCHAR, -1, 0);

  if Key = VK_RETURN then
  begin
    // Memo Line(s) Auswerten ( Cascadierte If-Abfragen )
    if LowerCase(Console.Lines[iLine]) = '#exit' then
    begin
      Close;
    end else
    if LowerCase(Console.Lines[iLine]) = '#help' then
    begin
      with Console.Lines do
      begin
        Add('');
        Add('');
        Add('#help = ruft die Hilfe auf');
        Add('#exit = beendet das Programm');
        Add('#opencd = öffnet das CD-Laufwerk');
        Add('#closecd = schließt das CD-Laufwerk');
        Add('cls = Console leeren (clear)');
        Add('');
      end;
    end else
    if LowerCase(Console.Lines[iLine]) = '#opencd' then
    begin
       Console.Lines.Add('Ok.');
      mciSendString('Set cdaudio door open wait', nil, 0, Handle);
    end else
    if LowerCase(Console.Lines[iLine]) = '#closecd' then
    begin
      Console.Lines.Add('Ok.');
      mciSendString('Set cdaudio door closed wait', nil, 0, Handle);
    end else
    if LowerCase(Console.Lines[iLine]) = 'cls' then
    begin
      Console.Clear;
    end else
    if Console.Lines[iLine] <> '' then // Letzte If Abfrage
    begin
      Console.Lines.Add('Unbekannter Befehl');
      Windows.Beep(880,25);
    end;
  end;
end;

procedure TMainForm.Button1Click(Sender: TObject);
begin
  // Panicbkutton ;)
  Close;
end;
...

Nils_13 13. Nov 2005 12:58

Re: Transparente Form und Memo
 
Mit einem Wort : geil.

Danke :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz