Autor Thema: Return soll beenden und keinen Zeilenumbruch machen. Wie?  (Gelesen 6168 mal)

Offline Basti*

  • Junior Mitglied
  • **
  • Beiträge: 87
Hallo Zusammen!

Ich habe mir ein eigenes Prompt gebastelt. Eine Maske, die ich per workspace.DialogBox(...) aufrufe. Sie hat ein Eingabefeld und eigene OK-, Abbrechen-Buttons.

An sich funktioniert alles super schick. Einziger Schönheitsfehler: Wenn ich in das Eingabefeld Text eintippe und dann RETURN drücke, bekomme ich eine neue Zeile. Ich würde aber lieber damit den OK Button ansprechen. Geht das irgendwie? Bisher muß man entweder mit der Maus gezielt auf OK klicken oder mittels der TAB Taste auf OK hüpfen und dann RETURN drücken. Das ist etwas umständlich.

Hat da jemand eine Idee?
Basti

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.871
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
« Antwort #1 am: 14.11.12 - 10:31:28 »
Sorry: No chance, wenn Du nicht mit Win API und timern und ähnlichem Kram rumspielen willst (was die Sache ziemlich instabil und crash- anfällig machen wird)
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
« Antwort #2 am: 14.11.12 - 10:40:18 »
Wenn Du einen Layoutbereich verwendest, kannst Du in den Feldern einstellen, ob ein Zeilenumbruch erlaubt ist. Ein Enter in Feldern ohne erlaubten Zeilenumbruch löst bei mir den OK-Button aus, das ist aber kein eigener, sondern der Standardbutton der Dialogbox.

Offline Basti*

  • Junior Mitglied
  • **
  • Beiträge: 87
Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
« Antwort #3 am: 14.11.12 - 11:00:15 »
Sorry: No chance, wenn Du nicht mit Win API und timern und ähnlichem Kram rumspielen willst (was die Sache ziemlich instabil und crash- anfällig machen wird)

Ne, darauf hab ich keinen Bock ;) Das ist zu nervig! Dann muss  User halt "tabben" oder klicken ;) Danke für die Info :)

Offline Basti*

  • Junior Mitglied
  • **
  • Beiträge: 87
Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
« Antwort #4 am: 14.11.12 - 11:01:51 »
Wenn Du einen Layoutbereich verwendest, kannst Du in den Feldern einstellen, ob ein Zeilenumbruch erlaubt ist. Ein Enter in Feldern ohne erlaubten Zeilenumbruch löst bei mir den OK-Button aus, das ist aber kein eigener, sondern der Standardbutton der Dialogbox.

Das klingt spannend! Hab die Layoutregionen bisher irgendwie ignoriert. Das werde ich bei Gelgenheit aber mal probieren. Danke für den Tipp :)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.871
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
« Antwort #5 am: 14.11.12 - 11:09:46 »
Interessant... ich versuche die Layoutregions seit Version 5 aus jeglichem Code zu verbannen, wenn ich die irgendwo finde...
Irgendwo hatte sich in meinem Kopf festgesetzt: Nur noch "geduldet" seit R5 (analog zu den Navigatoren), nicht mehr wirklich supported...
Bei meinen kurzen Recherchen habe ich aber keinerlei Hinweise darauf gefunden... Sieht aus, als müsste ich dieses Design- Element wieder in mein Repertoir aufnehmen, denn manchmal ist es ganz nützlich...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
« Antwort #6 am: 14.11.12 - 11:34:53 »
Als mit R5 die "Super.Human.Software" erschien, wurde seitens IBM Lotus so einiges gegackert, von dem heute niemand mehr etwas willen will  ;)

Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
« Antwort #7 am: 14.11.12 - 11:53:18 »
Eine Dialogbox ohne Layoutbereich ist für mich nicht wirklich vorstellbar. Die Gestaltungsmöglichkeiten - speziell für eine Dialogbox - sind da einfach nicht mit einer normalen Maske zu vergleichen. Im Bild eine Dialogbox aus 2000 (R4 oder 5), die natürlich immer noch funktioniert (auch wenn man die Hintergrundfarbe von den vier auffallenden Buttons vielleicht besser transparent gemacht hätte, falls das geht).

Zu irgendwelchen Aussagen, dass irgendetwas kommt oder geht, habe ich ein eher schlechtes Verhältnis, das ist alles nur politisches Geschwätz, das durch der Realität höchst selten bestätigt wird. Und wenn etwas nicht mehr supportet wird, ist das doch eigentlich der Idealzustand, da fummelt dann wenigstens keiner mehr dran rum ...  :-X

Mitch

  • Gast
Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
« Antwort #8 am: 14.11.12 - 14:28:22 »
Wenn Du einen Layoutbereich verwendest, kannst Du in den Feldern einstellen, ob ein Zeilenumbruch erlaubt ist. Ein Enter in Feldern ohne erlaubten Zeilenumbruch löst bei mir den OK-Button aus, das ist aber kein eigener, sondern der Standardbutton der Dialogbox.

Das klappt auch ohne Layoutbereich. 

Einfach die Felder (über die Feld-Eigenschaften) im Stil "Betriebssystem" anzeigen lassen, dann gibt es auf dem zweiten Reiter die Option "Mehrere Zeile zulassen". Entfernt man da das Häkchen, wird bei einem Return/Enter auch die Dialogbox abgeschickt. In meiner Anwendung allerdings auch nur mit dem systemseitigen Ok-Button, wobei ich aber noch nicht getestet habe was passiert wenn ich einen eigenen Button nehme und den per Eigenschaft zum Ok-Button mache.

Felder im Betriebssystem-Stil finde ich für Dialogboxen ohnehin hübscher da man Höhe und Breite angeben kann und das sieht da schick aus. :)

Gruß,

Mitch

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz