Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#14

Re: Transparente Form und Memo

  Alt 13. Nov 2005, 12:01
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]) = '#helpthen
    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]) = '#opencdthen
    begin
       Console.Lines.Add('Ok.');
      mciSendString('Set cdaudio door open wait', nil, 0, Handle);
    end else
    if LowerCase(Console.Lines[iLine]) = '#closecdthen
    begin
      Console.Lines.Add('Ok.');
      mciSendString('Set cdaudio door closed wait', nil, 0, Handle);
    end else
    if LowerCase(Console.Lines[iLine]) = 'clsthen
    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;
...
Angehängte Dateien
Dateityp: zip console_161.zip (3,8 KB, 12x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat