Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Basti* am 14.11.12 - 10:28:28

Titel: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: Basti* am 14.11.12 - 10:28:28
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
Titel: Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: Tode 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)
Titel: Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: Peter Klett 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.
Titel: Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: Basti* 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 :)
Titel: Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: Basti* 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 :)
Titel: Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: Tode 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...
Titel: Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: koehlerbv 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
Titel: Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: Peter Klett 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
Titel: Re: Return soll beenden und keinen Zeilenumbruch machen. Wie?
Beitrag von: Mitch 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