AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lauftext in der Titelleiste ?

Ein Thema von Vader · begonnen am 9. Jun 2008 · letzter Beitrag vom 11. Jun 2008
Antwort Antwort
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#1

Lauftext in der Titelleiste ?

  Alt 9. Jun 2008, 10:23
hallo

kann man in der titelleiste eines fensters einen text laufen lassen,wenn ja wie ???
mfg vader
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Lauftext in der Titelleiste ?

  Alt 9. Jun 2008, 10:46
die JEDI-Komponenten liefern da was - TJvAnimTitle
Marc
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Lauftext in der Titelleiste ?

  Alt 9. Jun 2008, 10:55
hallo

ohne die JEDI geht das nicht ???
mfg vader
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Lauftext in der Titelleiste ?

  Alt 9. Jun 2008, 10:56
Wenn eine Jedi-Kompo das kann, ist es natürlich auch möglich, das selber zu entwickeln.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Lauftext in der Titelleiste ?

  Alt 9. Jun 2008, 11:56
Ganz einfach ist es natürlich mit einem Timer einfach vor dem Titel nach und nach ein Leerzeichen einzufügen und die Caption des Forms zu aktualisieren. Sieht evtl. nicht so schön aus, ist aber schnell realisierbar.
Marc
  Mit Zitat antworten Zitat
Todd

Registriert seit: 27. Jun 2007
25 Beiträge
 
#6

Re: Lauftext in der Titelleiste ?

  Alt 9. Jun 2008, 14:51
Hallo,

meine erste Anfangslösung, da es mich selbst interessiert hat. Aber irgendwie komme ich nun nicht mehr weiter. Das ganze wirkt ob der Farbgebung doch recht merkwürdig. Vielleicht kann man ja dem Canvas einen transparenten Hintergrund verschaffen?

Delphi-Quellcode:
C++ Quellcode Datei
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int x;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
  x      = 200;
  FLAG    = 0;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  if (FCanvas)
    {
      if (x == 80)  FLAG = 1;
      if (x == 200) FLAG = 0;
      SetNewPos();
      FCanvas->TextOutA(x,8,"Lauftext");
    }

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
  FCanvas              = new TCanvas;
  FCanvas->Handle      = GetWindowDC(Handle);
  FCanvas->Brush->Color = clGreen;
  FCanvas->Font->Color  = clWhite;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
  delete FCanvas;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::SetNewPos()
{
if (FLAG == 0) x--;
else          x++;
}
Delphi-Quellcode:
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:   // IDE-managed Components
   TTimer *Timer1;
   void __fastcall Timer1Timer(TObject *Sender);
   void __fastcall FormShow(TObject *Sender);
   void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
private:   // User declarations
   void __fastcall SetNewPos();
public:      // User declarations
   __fastcall TForm1(TComponent* Owner);
   TCanvas* FCanvas;
   int FLAG;
}
;
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Sorry für den C++ Code, hatte keine Zeit das in Pascal zu ändern...

Wie gesagt es funktioniert teilweise, die Farbgebung stimmt nicht, aber einfach selbst testen...
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Lauftext in der Titelleiste ?

  Alt 10. Jun 2008, 08:03
Zitat von Vader:
kann man in der titelleiste eines fensters einen text laufen lassen,wenn ja wie ???
Bitte mach nicht so einen Quatsch.
Es gibt schon genug Blinki-Bunti-Anwendungen für Windows (WinAmp und Konsorten).
Da muss man nicht mit Gewalt den User dazu bringen, sich alles zu "verschönern".

Was willst Du eigentlich mit der Laufschrift erreichen?
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Lauftext in der Titelleiste ?

  Alt 11. Jun 2008, 13:45
hallo

das ist ein ganz kleines programm für einen arbeitskollegen,und der kollege hat immer so einen bestimmten spruch drauf und als witz wollte ich seinen spruch in der titelleiste laufen lassen
mfg vader
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#9

Re: Lauftext in der Titelleiste ?

  Alt 11. Jun 2008, 14:33
ist zwar nicht ganz sauber und bin mir nicht sicher ob es richtig funzt aber so ungefähr sollte es gehen:

Code:
procedure TDeineForm.Animate( Speed: Byte );
var
  buf: char;
  str: String;
  l, i: Integer;
  procedure InitLength;
  begin
    if clientwidth < 500 then
      l:= clientwidth div 5
    else
      l:= clientwidth div 4;
  end;
begin
  str:= Caption;
  while not Application.Terminated do
  begin
    Application.ProcessMessages;
    InitLength;
    if length( str ) < l then
      for i := length( str ) to l do
        str:= str + ' ';
    buf:= str[1];
    delete( str, 1, 1 );
    str:= str + buf;
    caption:= str;
    sleep( speed ); // 50 - 100 = optimal
  end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 Uhr.
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