Größe beim Anwendungsfenster ändern

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
saul
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 284
Registriert: So, 26. Mär 2006 12:23

Größe beim Anwendungsfenster ändern

Beitrag von saul »

Hallo,
ich habe ein kleines Testprogramm installiert. Ein Anwendungsfenster und ein weiteres Fenster darin.

Code: Alles auswählen

PROCEDURE Main
	LOCAL nEvent, mp1, mp2, oXbp, aPos[2], aSize, nHeight:=500, nWidth := 715

	// Größe vom DeskTop feststellen
	// um Anwendungsfenster zu zentrieren
	aSize    := SetAppWindow():currentSize()
	aPos[1]  := Int( (aSize[1]-nWidth ) / 2 )
	aPos[2]  := Int( (aSize[2]-nHeight) / 2 )

	 // Anwendungsfenster erzeugen
	oFensterStart := XbpDialog():new()
	oFensterStart:border   := XBPDLG_DLGBORDER
	oFensterStart:taskList := .T.
	oFensterStart:title := "Timechecker"
	oFensterStart:maxButton:= .T.
	oFensterStart:create( ,, aPos, {nWidth, nHeight},, .T. )

	// Fenster erzeugen
	oFensterl := XbpDialog():new()
	oFensterl :border   := XBPDLG_DLGBORDER
	oFensterl :taskList := .T.
	oFensterl :title := "Fenster links"
	oFensterl :maxButton:= .T.
	oFensterl :create(oFensterstart:drawingArea ,, {8,100}, {348,357},, .T. )

	SetAppWindow( oFensterl )
	SetAppFocus ( oFensterl )

	DO WHILE .T.
	  nEvent := AppEvent( @mp1, @mp2, @oXbp )
	  oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO
RETURN
Das Fenster im Anwendungsfenster läßt sich mit der Maus in der Größe stufenlos verstellen. Das äußere Anwendungsfenster läst sich nicht stufenlos verstellen. Im xbase++ Beispielprogramm SDIDemo ist das ebenfalls so. Geht das generell nicht zu verstellen?

mfg
Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Größe beim Anwendungsfenster ändern

Beitrag von brandelh »

das hängt erstens vom Fensterrahmentyp ab und zweitens kann man die Max und Min Size einstellen.
Mit einem unveränderlichen Rahmentyp geht die Größenänderung von Windows her nicht, im anderen Fall wird wenn Max und Min Wert identisch ist von Xbase++ die Änderung zurückgesetzt.

Richtige MDI Fenster haben wir eh nicht, es sind alles Dialogfenster. Schau mal in der Hilfe zu XbpDialog() nach, es gibt auch in den Samples einige Beispiele die das Verhalten von Fenstern je nach Einstellung ändern.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Größe beim Anwendungsfenster ändern

Beitrag von AUGE_OHR »

saul hat geschrieben:

Code: Alles auswählen

	oFensterStart:taskList := .T.

	oFensterl :taskList := .T.

	DO WHILE .T.
in einer Applikation erhält nur die MAIN einen Eintrag in die Tasklist, deshalb geht das o:resize nicht.

Frage : wie willst du später das 2nd Fenster zumachen ?
gruss by OHR
Jimmy
saul
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 284
Registriert: So, 26. Mär 2006 12:23

Re: Größe beim Anwendungsfenster ändern

Beitrag von saul »

Hallo,
das weiß ich noch nicht. Es sind im Moment nur Tests wie sich die xbpParts verhalten. Ich habe die Rahmenform geändert. Jetzt läßt sich auch das Anwendungsfenster in der Größe stufenlos verändern.

mfg
Wolfgang
Antworten