AGB  ·  Datenschutz  ·  Impressum  







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

Text neben Cursor einblenden

Ein Thema von JonnyGuitar · begonnen am 19. Mai 2011 · letzter Beitrag vom 19. Mai 2011
Antwort Antwort
JonnyGuitar

Registriert seit: 4. Jun 2004
233 Beiträge
 
#1

Text neben Cursor einblenden

  Alt 19. Mai 2011, 15:15
Delphi-Version: 2007
Hallo,

ich habe folgendes Problem. Bei meinem Programm können Wartezeiten entstehen wenn Informationen vom Server
geladen werden. Ich verändere daraufhin den Cursor auf Sanduhr mit
Screen.Cursor := crHourGlass; Zur Information würde ich jetzt gerne neben der Sanduhr einen Text einblenden, der auf die Wartezeit
hinweist und quasi bei Mausbewegung mitwandert.

Ist dies möglich? Was hätte ich dafür zu tun?


Gruss Jonny
the only thing to fear is runnin' out of beer
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Text neben Cursor einblenden

  Alt 19. Mai 2011, 15:36
Ich würde von TCustomForm ableiten und daraus eine entsprechende Komponente basteln. Klar, man kann behaupten, dass es etwas zu viel des Guten wäre, aber man hat so sehr viel Flexibilität, wie ich finde.

Eine Alternative wäre es mit einem Hint zu arbeiten, wobei ich da recht wenig Erfahrung habe.

-- Edit: Oder du nutzt eine Overlay-Form, wie ich es mal programmiert hatte. Ich habe eine Form ohne Rahmen model eingeblendet, die so groß war, wie der ClientBereich der eigentlichen Form. Darauf lief dann ein Throbber, da ich die Zeit nicht abschätzen konnte, wie lange der Vorgang dauert.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)

Geändert von s.h.a.r.k (19. Mai 2011 um 15:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Text neben Cursor einblenden

  Alt 19. Mai 2011, 15:44
Falls es Hint-Lösungen sein können, würde ich 2 Möglichkeiten sehen:

Die AlphaControls bringen einen HintManager mit, der sehr flexibel einsetzbar ist (incl. zyklischem Refresh).

Ansonsten habe ich mal eine Hint-Lösung gefunden, die für jedes Item einer aufgeklappten ComboBox ein individuelles Hint anzeigt. Vielleicht könnte man davon etwas ableiten. Könnte es bei Bedarf raussuchen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Text neben Cursor einblenden

  Alt 19. Mai 2011, 23:09
Es gibt eine recht nützliche Unit (mcHintbox, http://mastercluster.com/doc/467), mit deren Hilfe man das sehr gut erreichen kann.
Diese Unit ist zwar leider nicht OpenSource, sondern kostet ca. 15 EUR, kann ich aber aus meiner Erfahrung mit ihr empfehlen.

Wie diese Hintbox für den genannten Zweck eingesetzt werden kann, hier an einem eigenen Beispiel (und compiliert als Anhang):

Delphi-Quellcode:
uses mcHintbox;

var
  SwitchedOn: Boolean = false;

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  MousePt: TPoint;
begin
  if (x <= 20) or (x >= panel1.Width - 20) or (y <= 20) or (y >= panel1.Height - 20) then
  // Abstand vom Panelrand halten, um die Hintbox durch simulierten Mausklick
  // rechtzeitig vor Verlassen des Panels auszuschalten
  with panel1 do
  begin
    mouse_event(MOUSEEVENTF_LEFTDOWN, left, width, top, height);
    mouse_event(MOUSEEVENTF_LEFTUP, left, width, top, height);
  end
  else
    if SwitchedOn then
  // Ein-/Ausschalten triggern, um Flackern der Hintbox bei der Bewegung zu vermeiden
    begin
      MousePt := ClientToScreen(Point(x, y));
      HintBox(MousePt.x, MousePt.y, ' Yes, it is working', ' Helpfull Message');
    end;
  SwitchedOn := not SwitchedOn;
end;
Angehängte Dateien
Dateityp: zip FloatingHint.zip (180,4 KB, 6x aufgerufen)
  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 13:15 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