Autor Thema: Neue Maske in minimiertem Fenster  (Gelesen 2270 mal)

Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Neue Maske in minimiertem Fenster
« am: 23.11.06 - 13:10:08 »
Hallo,
habe in einer Maske einen Button der eine andere Maske zur eingabe weiterer Daten öffnet. Ein Dialogbox kann ich nicht verwenden, da in dieser zu öffnenden Maske Richtext-Felder enthalten sind. Dennoch soll ersichtlich sein, dass es sich quasi um eine Untermaske handelt. Sprich die neue Maske soll sich in einem kleineren Fenster öffnen, sodaß das Fenster mit der Hauptmaske im Hintergrund noch sichtbar bleibt. Hab ich in Script irgendwo die Möglichkeit das neu zu öffnende Fenster irgendwie minimiert zu öffnen.
Many thanx


Umgebung Notes 6.5.4, Windows XP

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Neue Maske in minimiertem Fenster
« Antwort #1 am: 23.11.06 - 14:00:46 »
« Letzte Änderung: 23.11.06 - 14:02:49 von Johnson »
Gruß
Johnson

Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Neue Maske in minimiertem Fenster
« Antwort #2 am: 23.11.06 - 15:33:31 »
Danke für den Tipp.
Hab ich mir angesehen und ausprobiert. Funktioniert zwar gut, aber leider ist das da mit JavaScript gelöst und ich hab hinter der Schaltfläche noch einigen Lotus Script Code und weiß jetzt nicht, wie ich das miteinander verquickt bekomme.

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Neue Maske in minimiertem Fenster
« Antwort #3 am: 23.11.06 - 16:29:32 »
Ich glaube, da wirst du so um JavaScript nicht drumrum kommen.

Apropos: Hab ich gerade gefunden:
Zitat
Set notesUIDocument = notesUIWorkspace.ComposeDocument( [ server$ [, file$ [, form$ [, windowWidth# [, windowHeight# [, returnNotesUIDocument]]]]]] )

Hier kannst du dich Höhe und Breite angeben?
Gruß
Johnson

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Neue Maske in minimiertem Fenster
« Antwort #4 am: 23.11.06 - 16:48:03 »
Schau mal hier, vielleicht hilft das weiter:
http://www.vbarchiv.net/archiv/tipp_details.php?pid=205
Dein Window-Handle bekommst du mit der GetActiveWindow (user32) Funktion.

Aber ich befürchte ...

Wenn´s klappt dann lass´s mal sehen!
« Letzte Änderung: 23.11.06 - 16:52:04 von Johnson »
Gruß
Johnson

Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Neue Maske in minimiertem Fenster
« Antwort #5 am: 24.11.06 - 14:29:51 »
Hallo und danke für die beiden neuen Hinweise. Also mit dem VBScript komm ich nicht klar, fehlt mir dann doch eindeutig die Kompetenz. Da blick ich nicht durch.
Der Lotus Script Hinweis ist da schon besser, das hatte ich bisher vollkommen überlesen. Aber leider funktioniert der auch nicht, das Fenster wird trotzdem im Vollbildmodus aufgerufen, wenn ich das so eingeb:
'Set uidocshow = workspace.ComposeDocument _
   '( "", "", "fmFolgeinfo", 100, 50 )

Was heißt denn eigentlich der Satz in der Hilfe:
Note  This parameter is obsolete in Release 5.0 but is maintained for backward compatibility.?
Heißt das, der funktioniert unter Notes 6 nicht mehr?
Danke nochmal
   

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Neue Maske in minimiertem Fenster
« Antwort #6 am: 24.11.06 - 16:26:15 »
Was heißt denn eigentlich der Satz in der Hilfe:
Note  This parameter is obsolete in Release 5.0 but is maintained for backward compatibility.?
Heißt das, der funktioniert unter Notes 6 nicht mehr?

Das sollte in der DesignerHelp besser heissen:
This parameter is obsolete since Release 5.0 but is maintained for backward compatibility.
Seit R5 spielen diese Parameter keine Rolle mehr. Wenn Du RTFs in der Maske hast, sehe ich keine Chancen mehr, hier was mit reinen Notes-Bordmitteln zu drehen - hier müsstest Du wirklich über die WinAPI ran.

Bernhard

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Neue Maske in minimiertem Fenster
« Antwort #7 am: 27.11.06 - 11:47:23 »
Da Problem wird eher sein, daß du der Funktion SetWindowLong einen Pointer (Speicher-Adresse) auf die zu verwendende WinProc-Funktion übergeben musst.
Die WinProc steuert alle Ereignisse eines Fensters. Also Öffnen, Schließen, Minimieren, Maximieren... selbst das Fragezeichen für die Hilfe. Also alles was du mit dem Fenster machen kannst.
In C/C++ ist das mit dem Pointer auf diese Funktion kein Problem, da Pointer hier ein existensieller Bestandteil der Sprache ist.
In VB muss dazu die Funktion AddressOf verwendet werden. Also "AddressOf WindowProcMinMax".
In LN gibt´s da nen Fehler.
Gruß
Johnson

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Neue Maske in minimiertem Fenster
« Antwort #8 am: 27.11.06 - 13:34:33 »
Was ich da vorgeschlagen hab ist Blödsinn!!

Eat this:
Code
Option Public
Option Declare

Declare Private Function apiGetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long	' Retrieves the active window.
Declare Private Function apiSetWindowPos Lib "USER32" Alias "SetWindowPos" (Byval lng_hWnd As Long, Byval lng_m As Long, Byval lng_left As Long, Byval lng_top As Long, Byval lng_width As Long, Byval lng_height As Long, Byval lng_flags As Long) As Long

Sub Initialize
	
	Dim hwnd As Long
	hwnd = apiGetActiveWindow
	Call apiSetWindowPos(hwnd, 0, 2, 2, 200, 200, 0)
	
End Sub

Kleine Einschränkung: Das hat bei mir nur getan, wenn das Fenster nicht komplett maximiert oder minimiert ist. Aber um das zu setzen gibt´s bestimmt auch was.
Gruß
Johnson

Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Neue Maske in minimiertem Fenster
« Antwort #9 am: 28.11.06 - 08:18:05 »
Vielen Dank nochmal für die Tipps und Hinweise, aber wenn ich den ApiCode einsetze macht er mir ja das kompllete Notes-Fenster klein und nicht nur die gerade geöffnete Maske. Es sei denn, ich hab da was falsch eingebunden.
Am besten funzt eigentlich immer noch das weiter oben erwähnt JavaScript. Sollte mich wohl doch mal mehr mit JavaScript beschäftigen. In dem Button ist nicht viel Script drin. Er übergibt eigentlich nur ein paar Werte an die Untermaske. Ist wahrscheinlich ja auch mit JavaScript möglich.
Werd mir mal in der Bib ein schlaues Büchlein leihen gehen.
Vielen Dank nochmal für Euer Input und noch einen schönen Tag
Der Geissbock (jetzt unter Messias Daum)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz