Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#22

Re: VCL für Microsoft-Style URL-Label

  Alt 20. Aug 2008, 14:48
Hallo.

Am liebsten wäre mir ja eine "professionelle" TLinkLabel Komponente, die exakt das selbe Ergebnis liefert wie Windows (API?). Aber ich glaube, da in der VCL ja sowieso meist alles Eigenentwicklungen sind, ist das eine Utopie.

@Assertor / @Daniel: Ja, es wäre sehr interessant zu wissen, ob diese Link-Komponente von D2009 XP erfordern wird oder nicht. Wenn es auch mit Windows 2000 funktionieren würde, wäre es die Non-Plus-Ultra-Lösung.

@Michael Habbe: Von der Idee halte ich leider nichts. Eine TEdit Komponente handelt den Focus anderst. Es gibt zum einen einen Text-Tastaturcursor, zum anderen sind Tastenkombinationen wie Strg+A möglich etc.

@omata: Vielen Dank für dieses Beispiel. Ich bin gerade dabei, es mir anzuschauen und zu begreifen.

Derzeit sehe ich aber in deinem Beispiel folgende Probleme:
1. Wenn das Label den Focus hat, dann erscheint es in fetter Schrift (liegt das an meiner ClearType-Schriftartenglättung?) Ich finde aber keine override-Eigenschaft, die Code ausführt, wenn das Label den Focus erhält. Ich weiß echt nicht, was hier los ist.
2. Der Focus-Rahmen ist nicht korrekt um den Link positioniert. Abstände vor und hinter dem Link sind mir etwas zu groß.
3. Die Strichellinien um den fokusierten Link sind zu breit. Windows strichelt ein Focus'ed Item mit 1-1 Pixel Strichen.
4. Die Link-Standardfarben sollten verwendet werden. Ich glaube, dass (siehe Post 1) die Standardfarbe für einen Link innerhalb eines Windows-Dialoges clHotLight ist.
5. Links natürlich standardgemäß unterstreichen.

Außerdem würde ich mir einen Microsoft-Hand-Cursor wünschen (natürlich über die API, nicht als fest eingebundene statische Ressource) - leider finde ich in DP und Google nichts dergleichen. (Schlagwörter: Hand Cursor, Windows Hand Cursor, IE-Cursor, IDC_Hand, Microsoft Hand Cursor)

Ich würde gerne ein Spin-Off von deiner VCL machen, in der ich zum einen die Probleme behebe und eventuell den Microsoft-Cursor-Support aktiviere.

Außerdem möchte ich eine VCL mit weniger Umfang erstellen, die nur 1 Link enthält.

Sprich:
- 1 Label = 1 Link
- Keine "<link>" und "</link>"
- Folglich nur 1 möglicher Linkfokus, der dem Labelfokus entspricht
- Folglich keine Focuswechsel mit Pfeiltasten etc.

Mal gucken, ob ich das hinbekomme. Der Quellcode ist mir im Moment noch ein Rätsel.

Gruß
blackdrake
Miniaturansicht angehängter Grafiken
fetterfocus_897.jpg  
Daniel Marschall
  Mit Zitat antworten Zitat