Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Hurby am 26.11.07 - 13:31:51

Titel: Dialogbox anpassen
Beitrag von: Hurby am 26.11.07 - 13:31:51
Hallo,

ich benötige ein Dialogbox ähnlich wie "PickListCollection", aber mit einer zusätzlichen Spalte wo ich eventuell ein Haken oder ein "X" für die bereits ausgewählten Sätze setze (klingt komisch Sätze setze). Weiss eventuell Jemand wie ich soetwas realisieren kann? Hab schon an ein ListView-Steuerelement aus der MsComCtl.ocx gedacht...

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: Glombi am 26.11.07 - 14:08:28
multipleSelection = True
geht nicht?
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 26.11.07 - 14:20:34
Hallo

ich denke, da musst Du Dir selber eine Dialogbox stricken.
Dazu musst Du in einer Maske/Teilmaske, die Du über @Dialogbox( .. ) öffnest , ein
Kontrollkästchenfeld einbauen, das mit den entsprechenden Werten gefüllt ist.
Wichtig ist noch die Auswahlwerte/-möglichkeiten entsprechend anzupassen....
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 26.11.07 - 14:53:53
Das müsste ich mal ausprobieren, ja. Der gedanke dahinter ist das man sich belibig viele Texte in je einem Dokument in einer DB hinterlegt und Sie dann über diese Box einfügt. Das würde doch bedeuten dass ich auf der Maske noch ein Paar Routinen einfügen müsste um durch die Texte zu blättern?

Was haltet ihr denn von der Idee mit MsComCtl.ocx, die Datei wird mit dem Visual-Studio installert, man könnte diese doch dem Anwender mitliefern.

Nach ersten Tests könnte es wie folgt aussehen:

Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 26.11.07 - 14:57:51
Zitat
Was haltet ihr denn von der Idee mit MsComCtl.ocx, die Datei wird mit dem Visual-Studio installert, man könnte diese doch dem Anwender mitliefern.

Nichts.

Warum auch. Für sowas stellt IBM genug Mittel zur Verfügung  :-P

Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 26.11.07 - 15:00:19
es würde sogar eine simple @PickList   genügen ....
Titel: Re: Dialogbox anpassen
Beitrag von: Axel am 26.11.07 - 15:00:48
Was haltet ihr denn von der Idee mit MsComCtl.ocx, die Datei wird mit dem Visual-Studio installert, man könnte diese doch dem Anwender mitliefern.

Davon halte ich persönlich garnichts, denn mit dem reinen mitliefern ist es nicht getan. du musst das Teil in Windows auch noch registrieren. Der nächste Punkt ist, was passiert wenn du ein MS-Produkt installierst, dass eine neuere Version installiert, in der dann Funktionen geändert wurden? Unter Umständen fährt dann deine Anwendung gegen die Wand.

Erklär mal ein bisschen genauer, was du mit diesen Kästchen bezwecken willst.


Axel

Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 26.11.07 - 15:10:56
Ok, ich versuche es mal:

vielleicht sollte ich erstmal ein anderes Thema erwähnen:

http://atnotes.de/index.php?topic=38972.0 (http://atnotes.de/index.php?topic=38972.0)

da ging es darum freien Text einzufügen, ich denke mal das Bild darin spricht für sich...

nun möchte der Anwender Texte hinterlegen, die man über eine Dialogbox einfügen kann. Dazu schwebte mir etwas mit Checkboxen vor, oder die Haken wenn man in einer Ansicht ein Dokument selektiert und Space tippt.

Hat man nun ein paar Sätze eingefügt und wählt wieder den Button zum öffnen der Dialogbox, sollen alle zuvor eingefügten wieder makiert sein und wenn man den Haken rausnimmt sollen die zuvor eingefügten Sätze wieder rausgeschmissen werden.

ich hoffe ich habe euch nun nicht verwirrt...

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 26.11.07 - 15:18:20
Wenn es nur um text geht ist es simpel  :D..

Ich hoffe ich habe es richtig verstanden:

Der User erstellt ein neues Dokument mit Maske "Xy".
Über eine Schaltfläche o.ä. rift einen Dialog auf, in dem er über Kontrollkästchen
Textbausteine auswählt. schon eingefügte Bausteine sind markiert und können durch Entfernung
der Markierung aus dem Dokument entfernt werden.

...  ???

Bau Dir für den Dialog eine eigene Maske/Teilmaske (siehe oben) .
Den Rest (Die Logik hinzufügen/entfernen) musst Du natürlich selber entwickeln.
Ist aber wirklich simpel....
Titel: Re: Dialogbox anpassen
Beitrag von: Axel am 26.11.07 - 15:19:47
Wenn's nur um die Auswahl geht, dann kannst du das sehr gut mit einer PickList machen. Allerdings kannst du dort nicht, bereits vorhandene Werte markieren.

Wenn du das haben willst musst du selbst Hand anlegen. Aber m.E. reicht hier eine entsprechende Dialogliste mit Mehrfachauswahl völlig aus.


Axel
Titel: Re: Dialogbox anpassen
Beitrag von: koehlerbv am 26.11.07 - 15:24:35
Allerdings hat das dann nichts mit freiem Text und Textbausteinen zu tun, da man mit diesem Verfahren "nur" Schlüsselwortlisten aufbauen kann. Hier kann mn bei entsprechendem Aufbau allerdings auch bereits gewählte Werte wieder markiert anbieten (und damit durch Abwahl dann auch wieder entfernen).

Bernhard
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 26.11.07 - 15:27:03
Schlüsselwortliste reicht ja, anschliessen könnte ich ja den Text aus dem entsprechenden Dokument "rausziehen"

@Picklist hört sich laut Hilfe gut an:

Zitat
Öffnet ein modales Fenster, das folgendes enthalten kann:
Eine von Ihnen angegebene Ansicht, in der der Benutzer Dokumente markieren kann. @PickList gibt die Spaltenwerte der markierten Dokumente zurück.

MfG hurby
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 26.11.07 - 15:52:06
irgendwie will Picklist nicht so recht, die Dokumente fehlen in der Box.

und
Zitat
Hier kann mn bei entsprechendem Aufbau allerdings auch bereits gewählte Werte wieder markiert anbieten (und damit durch Abwahl dann auch wieder entfernen).

bezieht sich dies auf @PickList?, Ich hab nichts davon gelesen...

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: ata am 26.11.07 - 16:40:06
... wie sieht denn dein Code für die Picklist aus - kannst du den mal posten...

Toni
Titel: Re: Dialogbox anpassen
Beitrag von: koehlerbv am 26.11.07 - 16:43:34
Zitat
Hier kann mn bei entsprechendem Aufbau allerdings auch bereits gewählte Werte wieder markiert anbieten (und damit durch Abwahl dann auch wieder entfernen).

bezieht sich dies auf @PickList?, Ich hab nichts davon gelesen...

Nein, natürlich nicht.

Bernhard
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 27.11.07 - 07:39:48
Hallo

genügt für dieses Vorhaben nicht ein einfaches Feld vom Typ "Dialogliste".
Das macht doch das, was gewünscht ist.
Neue Werte durch Markierungsetzen hinzufügen.
Schon ausgewählte Werte markiert anzeigen, etc. ...

 :-:  8)
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 08:00:47
Zitat
... wie sieht denn dein Code für die Picklist aus - kannst du den mal posten...

den Code schreibe ich wenn der Dialog passt.

Zitat
genügt für dieses Vorhaben nicht ein einfaches Feld vom Typ "Dialogliste".

scheinbar schon ja, ich wusste ehrlich gesagt nicht dass die Dialogliste sich zur Laufzeit anders verhält, sah im Designer aus wie ne Abwandlung von einem Kombinationsfeld.

Ich versuche es mal mit der Dialogliste, danke für eure Geduld ;)

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 08:04:07
schaffe ich es denn irgendwie die Dialogliste dynamisch zur Laufzeit zu parametrisieren???

Vielleicht eine Formel für den Vorgabewert ???

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 27.11.07 - 08:07:30
Ja sicher.
In den Eigenschaften des Feldes, 2. register, kannst Du eine Formel für die Auswahl angeben.
Wenn sich die Auswahlmöglichkeiten bei Dokumentaktualisierungen ändern, dann musst den Haken bei "Auswahl bei Dokumentak....." setzen.

Aber wer der Benutzer aus einer Liste von vorhandenen Textbausteinen ohne irgendwelche Anhängigkeiten auswählen soll, brauchst Du nur ein @DBColumn machen ....
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 08:11:11
Zitat
In den Eigenschaften des Feldes, 2. register, kannst Du eine Formel für die Auswahl angeben.

ich fürchte bei R5 ist das nocht nicht im Eigenschaftenfenster, aber wie erwähnt wird das Äquivalent wohl eine Formel für Vorgabewert sein, oder?

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 27.11.07 - 08:15:09
ist auch in R5 so !!!

Du brauchst in deiner Maske nur ein Feld vom Typ "Dialogliste" über das der User die Bausteine wählt.
Die Auswahlformel könnte so lauten:

Code
_v := "MeineBausteine" ;
_s := 2 ;
_wert := @DBColumn( "" : "NoCache" ; "" ; _v ; _s );
@if( @IsError( _wert ) | _wert = "" ; "- keine Bausteine vorhanden - " , _wert )

Sonst kein Vorgabewert etc. ...
Die Werte sind ja im Dokumenten/Item gespeichert ...

Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 08:32:38
es funktioniert prima, ich hatte eben noch kurz versucht über "Ansichtsdialogfeld für Auswahl verwenden", aber da werden bereits eingefügte beim nächsten mal nicht markiert.

aber einen hätte ich jetzt noch, das Feld hinter der Dialogliste benötige ich ja nicht, kann ich das Feld verstecken und irgendwie das Event durch eine eigene Schaltfläche auslösen???

MfG hurby
Titel: Re: Dialogbox anpassen
Beitrag von: Axel am 27.11.07 - 08:35:43

aber einen hätte ich jetzt noch, das Feld hinter der Dialogliste benötige ich ja nicht, kann ich das Feld verstecken und irgendwie das Event durch eine eigene Schaltfläche auslösen???


Nein.

Dann würde dir wieder nur die Picklist oder ein andere eigengestrickter Dialog bleiben.


Axel
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 08:40:29
Ok, das ist das kleinere Übel. Dieses Feld verfügt ja über die Funktion, dessen Name mir gerade nicht einfällt. "Sensitiv..." nein, "Autovervollständigung" oder so...

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 27.11.07 - 08:53:48
Zitat
das Feld hinter der Dialogliste benötige ich ja nicht,

 ???  :-:

Feld hinter Dialogliste? Was verstehst Du unter Feld, was unter Dialogliste??

Für mich ist das Feld die Dialogliste.  :-\

Das kleine Dreieck (oder so) an dem Feld öffnet die Auswahlliste.
Das ist das was Du wolltest: Ein Dialog für den User, in dem schon ausgewählte markiert sind...

Wenn Du die Optik anders haben möchtest (wie viele Microsoftverseuchten ... ) dann musst Du alles selber proggen :D ......

Nutze das, was so ein mächtiges Tool wie Lotus Notes Dir bietet ...
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 09:09:04
Nun ja ich meinte das Feld wo nachher die gewählten einträge erscheinen. Sodass ich nur das Auswahlfenster habe. Aber ich beschwere mich nicht, ohne Hilfe wäre ich wahrscheinlich vor 2008  ;D nicht drauf gekommen. Es hätte ja sein können das man das ein oder andere verstecken könnte. Vielleicht denke ich immer noch zu viel an VB6 und .NET wenn ich mich mit Domino&Notes befasse.

MfG hurby
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 27.11.07 - 09:29:54
Hallo

Wenn Du nur dem User die Auswahlmöglichkeit bereitstellen willst, dann verwende ein Listenfeld und passe die Höhe/Breite an.

Ich würde das Feld aber nur im Bearbeitungsmodus anzeigen lassen ?!
Zitat
ohne Hilfe wäre ich wahrscheinlich vor 2008  Grin nicht drauf gekommen.

Sorry. Wir wollten Dir nicht die Arbeit nehmen ..  :-[

Aber dafür hätten max. 15 Minuten kalkuliert ....
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 10:10:44
optisch trifft es gut zu, in einer Maske nur das Listenfeld und dann in der Maske mit der der User arbeitet einen Button der dann via Dialogbox aus NotesUIWorkspace die Maske mit dem Listenfeld aufruft.

Aber hier stellt sich mir wieder die Frage mit dem markieren der zuvor gewählten Einträge...???

Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 10:22:53
geht doch, ich kann ja im Postopen-Event mit "uidoc.fieldsettext" die Haken schon vorher setzen...

MfG hurby
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 27.11.07 - 10:32:00
Wenn Du eine eigene Dialogbox erstellt hast, musst Du natürlich die Werte setzen.

Aber reicht Dir nicht das Listenfeld?
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 10:39:39
bin ich jetzt auf dem Holzweg ???

ich habe eine Maske "Listview", in der ist dass von Dir vorgeschlagene Listenfeld (Bild weiter oben). Diese Maske rufe ich mit

   Dim work As New notesuiworkspace
   Call work.DialogBox("Listview",True,True,True,True,False,False,"Bitte wählen...",,True,True)


auf, dann kan der User aus einem Listenfeld wählen...

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 27.11.07 - 10:47:11
Zitat
ch habe eine Maske "Listview", in der ist dass von Dir vorgeschlagene Listenfeld (Bild weiter oben). Diese Maske rufe ich mit

Ist auch eine Möglichkeit.

Die Fragen lauten: "Was will ich erreichen?" - "Welche technischen Möglichkeiten gibt es?" - "Wie kommt der User damit zurecht?"
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 10:56:00
Zitat
Die Fragen lauten: "Was will ich erreichen?" - "Welche technischen Möglichkeiten gibt es?" - "Wie kommt der User damit zurecht?"

"Was will ich erreichen?" und "Wie kommt der User damit zurecht?" wurde mir ja von dem User vorgegeben. "Welche technischen Möglichkeiten gibt es?" das ist meine Aufgabe, nur dass ich zum Anfang ein bisschen Hilfe aus dem Forum benötige.

--> Der eigentliche Entwickler (ein Student, der gelegentlich vorbei kommt und proggt) ist für 1 Jahr bei IBM in Californien. Da ist es schlecht mit telefonieren und per Mail erziehlt auch nicht immer den gewünschten Erfolg.

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: dirk_2909 am 27.11.07 - 10:59:30
Wenn Du wirklich nur eine Auswahl für den User schaffen willst, würd eich das Listenfeld direkt im Dokument einfügen. Dann braucht der User nicht noch einmal/zweimal zusätzlioch klicken.

Und man/Du brauchts fast nicht proggen :D ..
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 11:08:44
ist natürlich auch ne Möglichkeit.

"viele Wege führen nach Rom..."

MfG Hurby
Titel: Re: Dialogbox anpassen
Beitrag von: Hurby am 27.11.07 - 11:14:19
falls dass folgende nicht hier her gehört, bitte ich um entschuldigung:

wodurch entsteht die Fehlermeldung

"für mehrere gleichzeitige transaktionen können sie nicht den selben db-handle benutzen" ?

irgendwie tritt die ab und an sporadisch auf
Titel: Re: Dialogbox anpassen
Beitrag von: ata am 27.11.07 - 15:02:43
... die Frage solltest du in einem neuen Thread stellen. Eine mögliche Antwort würde hier niemand finden, da das Thema hier ja ganz anders ist...

Toni