Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Gegenteil von SetFocus? (https://www.delphipraxis.net/64119-gegenteil-von-setfocus.html)

tripleeye 27. Feb 2006 20:16


Gegenteil von SetFocus?
 
Hallo,
ich hab ein Memo, was ich zur Anzeige von Meldungen verwende. Der Anwender soll aber den Cursor nicht in das Memo bekommen.
Die einfachste Methode ist beim OnEnter den Focus auf ne andere Komponente zu setzen, aber gibt es da noch was besseres (eleganteres)?
Vielleicht sowas wie ne DropFocus-Methode?

Daniel G 27. Feb 2006 20:18

Re: Gegenteil von SetFocus?
 
Naja, wenn der Text weder scrollen noch selektiert werden soll, könntest du das Memo ja einfach auf ein Panel legen und das Panel deaktivieren.

tripleeye 27. Feb 2006 20:41

Re: Gegenteil von SetFocus?
 
Danke, klappt wunderbar.

toms 27. Feb 2006 20:41

Re: Gegenteil von SetFocus?
 
Zitat:

ich hab ein Memo, was ich zur Anzeige von Meldungen verwende
Dann hast du die falsche Komponente genommen :freak:
Z.B ein TLabel waere da angebracht.

marabu 27. Feb 2006 20:43

Re: Gegenteil von SetFocus?
 
Hallo.

Was ist, wenn das Memo gerollt werden muss, weil die Meldung zu umfangreich ausgefallen ist? Was ist, wenn der Benutzer die Meldung oder Teile davon markieren und in die Zwischenablage übernehmen möchte? Mein Rat an dich: setze Memo.ReadOnly auf True und gut ist.

Grüße vom marabu

tripleeye 27. Feb 2006 20:49

Re: Gegenteil von SetFocus?
 
@toms
Nein, ein missbrauchtes TMemo erfüllt mit seiner TStringList genau meine Anforderungen.
Ich gebe nämlich keine Meldung der Art: "Funtzt" oder "Funtzt nicht", sondern Statusmeldungen, die aus mehreren Lines zusammengesetzt sind. Das ist zwar auch mit nem Label machbar, aber umständlicher.

@marabu
Das war meine bisheringe Lösung, aber der blinkende Cursor nervt. Vielleicht aber belass ich es dabei.

alzaimar 27. Feb 2006 20:57

Re: Gegenteil von SetFocus?
 
Zitat:

Zitat von tripleeye
...
Das war meine bisheringe Lösung, aber der blinkende Cursor nervt. Vielleicht aber belass ich es dabei.

Dann fokusier doch einfach das nächste Control, z.B. den default-Button.

marabu 27. Feb 2006 21:20

Re: Gegenteil von SetFocus?
 
Es geht auch noch anders:

Delphi-Quellcode:
procedure TDemoForm.MemoClick(Sender: TObject);
begin
  with Sender as TMemo do
    Tag := 1 - Tag;
end;

procedure TDemoForm.MemoEnter(Sender: TObject);
begin
  with Sender as TMemo do
    Tag := 0;
end;

procedure TDemoForm.ApplicationEventsIdle(Sender: TObject;
  var Done: Boolean);
begin
  with Memo do
    if Focused then
    if Odd(Tag)
      then ShowCaret(Handle)
      else HideCaret(0);
end;
Gute Nacht.

marabu

bisheringe - sind das Bismarck-Heringe?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 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