AGB  ·  Datenschutz  ·  Impressum  







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

Link in Delphi einbauen!

Ein Thema von Trouble_Maker · begonnen am 4. Apr 2003 · letzter Beitrag vom 6. Apr 2003
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#1

Link in Delphi einbauen!

  Alt 4. Apr 2003, 23:01
Hiho alle,
so ich will ein Link in mein Delphi programm einbauen! Wie dies funktioniert weiss ich schon:

Code:
procedure TForm1.Label1Click(Sender: TObject);
begin
ShellExecute(Application.Handle, 'open',
             PChar(Label1.Caption), nil, nil,
             SW_ShowNormal);
dabei wird dann die Seite geöffnet, wie das label die Cation hat!

So: Jetzt will ich, dass wie im Internet-Explorer die Links untersrichen werden, sobald man darüberfährt!
ich habe das probiert:

Code:
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
label1.Font.Style:=[fsUnderline];
end;
Aber danach bleibt dann das Label untersrichen!
Das will ich aber nicht!
Die Lösung ist bestimmt ganz einfach! Aber ich komme nicht drauf!
Danke

Trouble_Maker
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#2
  Alt 4. Apr 2003, 23:50
Ich hab probiert das mit OnMouseLeave zu machen:
Delphi-Quellcode:
procedure TForm1.undo_underline(Sender: TObject);
begin
if
Label1.Font.Style:=[fsUnderline]
then
Label1.Font.Style:=[fsNormal]
end;
Funktioniert aber leider noch nicht. Vielleicht kannst du das irgendwie so umstellen, dass es geht.

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3
  Alt 5. Apr 2003, 03:55
Du mußt dein Label durch ein TStaticText ersetzen, da ich das Handle brauche und TLabel ist von TGraficControl abgeleitet und nicht von TWinControl und besitzt somit kein Handle. Es unterscheidet sich in der Handhabung aber nicht von einem TLabel.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    StaticText1: TStaticText;
  private
    { Private-Deklarationen }
    procedure CMMOUSEENTER(var msg: TMessage); message CM_MOUSEENTER;
    procedure CMMOUSELEAVE(var msg: TMessage); message CM_MOUSELEAVE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CMMOUSEENTER(var msg: TMessage);
var
  pt : TPoint;
begin
  GetCursorPos(pt);
  if WindowFromPoint(pt) = StaticText1.Handle then
  begin
    StaticText1.Font.Color := clBlue;
    StaticText1.Font.Style := [fsUnderline];
  end;
end;

procedure TForm1.CMMOUSELEAVE(var msg: TMessage);
var
  pt : TPoint;
begin
  GetCursorPos(pt);
  if WindowFromPoint(pt) <> StaticText1.Handle then
  begin
    StaticText1.Font.Color := clBlack;
    StaticText1.Font.Style := [];
  end;
end;
Warum einfach, wenn es umstaändlich geht. Habe gerade gesehen ab D6 gibt es bei TLabel das Ereignis OnMouseEnter und OnMouseLeave. Brauchst du also nicht nachrüsten und kannst dein Label nehmen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#4
  Alt 5. Apr 2003, 08:42
Hallo,

ich hätte hier auch noch eine Komponente für Dich, ist aber nicht von mir!
TLinkLabel.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#5
  Alt 5. Apr 2003, 12:32
Sehr gute Komponente! Find ich gut! Gefällt mir!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#6
  Alt 5. Apr 2003, 12:53
Es gibt übrigens noch die offizielle DP-LinkLabel Komponente

http://www.delphipraxis.net/download.php?id=265

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#7
  Alt 5. Apr 2003, 16:42
Hmm...
also habe den Code von Luckie ausprobiert!
Leider habe ich aber kein CM_MOUSEENTER und CMMOUSELEAVE !!!
(besitze Delphi 51) kann das sein, dass es das da noch nich gibt!
-
Und wie installiere ich diese TLinkLabel ???
hab keine Ahnung ^^

Kann mir das jemand erklären ?!?

Danke Trouble_Maker
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 5. Apr 2003, 16:49
Moin TroubleMaker,

CM_MOUSEENTER/CM_MOUSELEAVE sind in der Unit Controls deklariert.
Die müsstest Du dann noch in die Uses Liste mit einbinden.
Wobei ich mich nur frage, warum das bei Dir nicht der Fall ist, denn diese Unit wird standardmässig mit eingebunden, wenn Du ein neues Formular erzeugst (z.B. über Datei\Neues Formular)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#9
  Alt 5. Apr 2003, 16:50
Hallo,
habe zu Hause auch D5, bei mir Funktioniert Luckies Code,
für CM_MOUSEENTER muß die Unit "Controls.pas" in USES eingebunden sein (sollte aber in jedem Form automatisch eingebunden sein).
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#10
  Alt 5. Apr 2003, 16:50
Hallo,
Zitat von Trouble_Maker:
Und wie installiere ich diese TLinkLabel ???
hab keine Ahnung ^^

Kann mir das jemand erklären ?!?
Also, im Menü auf Komponenten\Komponente installieren, dann im kommenden Fenster auf der Reiter "In enues Package", dort wählst Du dann die Unit aus und vergibst einen Namen für das neue Package und dann auf OK klicken.

Wenn Du dieses Package erstellt hast, dann mach einen Doppelklich drauf. Anschliessen sieht man ein kleines Fenster mit 3 oder 4 grossen Icons, eins davon heisst Intallieren, das anklicken, dabei wird/wurde die Komponente installiert, anschliessend kommt noch eine Abfrage ob Du das Speichern willst oder nicht, da sagst Du dann einfach Nein und alles ist Fertig.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 20:50 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