amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > window inner size und minsize [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

06.11.2009, 17:43 Uhr

AGSzabo
Posts: 1663
Nutzer
hallo,

folgendes problem: die ox-gadgets im fenster geben vor wieviel platz sie zusammen brauchen und dieser wert wandert nach WA_InnerWidth und WA_InnerHeight beim öffnen des fensters. soweit so gut, dazu soll aber passend der minimale size für das fenster auf die selbe größe eingestellt werden und da gillt aber WA_MinWidth unbd WA_MinHeight als größe PLUS rahmen! man kann dann das fenster nach dem öffnen immer noch eine spur kleiner machen. ablösung: zum minsize muss die rahmensize die man in der screenstruktur findet addiert werden. das funktioniert auch, aber nur horizontal. vertikal kommt die höhe des sizegadgets hinzu und die ist mir aber unbekannt. also was nun?

mfg,
Andreas
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ - Antworten - Zitieren - Direktlink - ]

06.11.2009, 18:03 Uhr

Blackbird
Posts: 634
Nutzer
Zitat:
die höhe des sizegadgets hinzu

dazu brauchst du die drawinfo und ein image, da steht dann die size drin...

If *dri
If (*scrFlags & #SCREENHIRES) Then sis.l=#SYSISIZE_MEDRES Else sis=#SYSISIZE_LOWRES
Tag(0)ti_Tag = #SYSIA_DrawInfo,*dri
Tag(1)ti_Tag = #SYSIA_Which,#SIZEIMAGE
Tag(2)ti_Tag = #SYSIA_Size,sis
Tag(3)ti_Tag = #TAG_DONE
*img = NewObjectA_(0,"sysiclass",&Tag(0))

If *img
Rbt = *imgWidth
Bbt = *imgHeight
DisposeObject_ *img
End If

FreeScreenDrawInfo_ *scr,*dri
End If

--
regards
Blackbird

PerfectPaint : supportOS4@amiforce.de HP: http://perfectpaint.amiforce.de/
Have also a look at my personal Website:
http://www.blackbird-net.de

[ - Antworten - Zitieren - Direktlink - ]

06.11.2009, 18:54 Uhr

AGSzabo
Posts: 1663
Nutzer
@Blackbird:

ah ja, schön, danke. das hat fast funktioniert (auslesen aus ig_Height des images), aber die resultierende höhe ist 1 pixel zu klein. soll ich den einfach auf gut glück dazuaddieren?

btw, woher weiss intutition dass es sich bei dem objekt um ein image handelt? (in disposeobject)
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ Dieser Beitrag wurde von AGSzabo am 06.11.2009 um 19:02 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

06.11.2009, 20:05 Uhr

thomas
Posts: 7718
Nutzer
@AGSzabo:

Zitat:
das funktioniert auch, aber nur horizontal. vertikal kommt die höhe des sizegadgets hinzu und die ist mir aber unbekannt. also was nun?

Bist du sicher, daß du horizontal und vertikal nicht vertauschst ? Wenn man kein Flag angibt, landet das Size-Gadget immer im rechten Rahmen. Nur mit WFLG_SIZEBBOTTOM kommt es nach unten.


Zitat:
aber die resultierende höhe ist 1 pixel zu klein.

Bist du sicher, daß der Pixel im unteren Rahmen fehlt ? Denn "+ 1" paßt besser zu scr->WBorTop + Fonthöhe + 1, womit man den oberen Rahmen berechnet.


Zitat:
woher weiss intutition dass es sich bei dem objekt um ein image handelt? (in disposeobject)

Gar nicht. DisposeObject ruft einfach die OM_DISPOSE Methode des Objektes auf und das Image gibt sich dann selber frei (es weiß ja, daß es ein Image ist).

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

06.11.2009, 20:30 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von AGSzabo:
soweit so gut, dazu soll aber passend der minimale size für das fenster auf die selbe größe eingestellt werden...

Das Minimum (wie auch das Maximum) ist identisch mit der Größe des Fensters, solange man nichts anderes angibt. Wenn man also das Fenster ausschließlich vergrößern können soll, musst Du MinWidth und MinHeight nicht berechnen, sondern einfach nur weglassen.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

07.11.2009, 07:12 Uhr

AGSzabo
Posts: 1663
Nutzer
@thomas:

> Bist du sicher, daß du horizontal und vertikal nicht vertauschst ?

ganz sicher!

> Bist du sicher, daß der Pixel im unteren Rahmen fehlt ? Denn "+ 1" paßt besser zu scr->WBorTop + Fonthöhe + 1, womit man den oberen Rahmen berechnet.

aha. im moment benutze ich sc_BarHeight für oben. ist das nicht gut?

> DisposeObject ruft einfach die OM_DISPOSE Methode des Objektes auf

woher weis intuition wo der dispatcher des objektes liegt? etwa bei nem negativen offset von der objektaddresse weggerechnet?

--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ - Antworten - Zitieren - Direktlink - ]

07.11.2009, 12:32 Uhr

thomas
Posts: 7718
Nutzer
@AGSzabo:

Zitat:
im moment benutze ich sc_BarHeight für oben. ist das nicht gut?

BarHeight ist die Höhe des Titelbalkens des Screens und WBorTop ist die Höhe des Oberen Fensterrandes (ohne Schrift). Die sind zwar normalerweise gleich, aber ich bin mir fast sicher, daß man die mit VisualPrefs und/oder AfAOS auch unterschiedlich konfigurieren kann.

So oder so, auch bei BarHeight steht im Kommentar, daß es aus Kompatibilitätsgründen um 1 niedriger ist, als die echte Höhe.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

07.11.2009, 12:36 Uhr

AGSzabo
Posts: 1663
Nutzer
@thomas:

In der formel spielt es keine rolle ob ich den pixel unten oder oben dazuaddiere. aber WBorTop sollte ich nutzen. leider habe ich nur ins .i geschaut, wobei das mit dem pixel vermutlich in .h steht... ich seh mal nach...

ps: kann man mit visualprefs fill-patterns einstellen? bei der installation wurde sowas angedeutet aber ich finde die option nicht.

--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ Dieser Beitrag wurde von AGSzabo am 07.11.2009 um 16:19 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

07.11.2009, 20:53 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von AGSzabo:
woher weis intuition wo der dispatcher des objektes liegt? etwa bei nem negativen offset von der objektaddresse weggerechnet?

Ganz genau.
Zitat:
aber WBorTop sollte ich nutzen. leider habe ich nur ins .i geschaut, wobei das mit dem pixel vermutlich in .h steht... ich seh mal nach...
Hast Du meinen Hinweis nicht gelesen? Du machst Dir vollkommen überflüssige Arbeit.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

08.11.2009, 12:44 Uhr

tboeckel
Posts: 124
Nutzer
Zitat:
Original von AGSzabo:
woher weis intuition wo der dispatcher des objektes liegt? etwa bei nem negativen offset von der objektaddresse weggerechnet?


Wie und woher Intuition irgendetwas weiß sollte dir mal echt egal sein. BOOPSI ist nicht umsonst ein black-box-System. Zu viele Leute haben zu viele sinnlose Annahmen über irgendwelche Eventualitäten gemacht, was dazu geführt hat, daß manche Sachen komplett über den Haufen geworfen werden mußten, weil sie aus Kompatibilitätsgründen einfach nicht mehr erweiterbar waren. Genau deswegen sollte man Fragen wie "woher weiß Intuition" sein lassen und einfach nur wissen "Intuition weiß es eben und es funktioniert, egal wie".

[ - Antworten - Zitieren - Direktlink - ]

08.11.2009, 14:14 Uhr

AGSzabo
Posts: 1663
Nutzer
@tboeckel:

wenn man aber an der programmierung eines betriebssystems oder guis arbeitet, ist es lehrreich zu wissen wie das die anderen machen. etwas über die internas von intuition wissen zu wollen ist nicht gleich hacken.
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > window inner size und minsize [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.