@Reborn, post #1
@Reborn, post #1

@Reborn, post #6
@Reborn, post #1
WBStartup
NoCli
scrname$="my screen"
*scr._Screen =0
*scrwb._Screen =0
*smr.ScreenModeRequester=0
*di.DrawInfo =0
*vi.l =0
Dim tagi.TagItem(20)
Dim pens.w(11)
pens(0)=-1
*ibase._IntuitionBase=IntuitionBase
*lock.l=LockIBase_(0)
*scrwb=*ibase\FirstScreen
While *scrwb
If (*scrwb\Flags)&#SCREENTYPE=#WBENCHSCREEN Then Pop While:Goto __foundwb
*scrwb=*scrwb\NextScreen
Wend
End
.__foundwb:
UnlockIBase_(*lock)
*vi=GetVisualInfoA_(*scrwb,0)
If *vi
*di=GetScreenDrawInfo_(*scrwb)
If *di
i.w=0
USEPATH tagi(i)
;window control
\ti_Tag=#ASLSM_Screen ,*scrwb :i+1
;initial settings
\ti_Tag=#ASLSM_InitialLeftEdge ,0 :i+1
\ti_Tag=#ASLSM_InitialTopEdge ,*scrwb\BarHeight+1 :i+1
\ti_Tag=#ASLSM_InitialWidth ,*scrwb\Width/2 :i+1
\ti_Tag=#ASLSM_InitialHeight ,*scrwb\Height*0.75 :i+1
\ti_Tag=#ASLSM_InitialDisplayID ,displayid.l :i+1
\ti_Tag=#ASLSM_InitialDisplayDepth ,*di\dri_Depth :i+1
\ti_Tag=#ASLSM_InitialDisplayWidth ,*scrwb\Width :i+1
\ti_Tag=#ASLSM_InitialDisplayHeight,*scrwb\Height :i+1
;options
\ti_Tag=#ASLSM_DoWidth ,True :i+1
\ti_Tag=#ASLSM_DoHeight ,True :i+1
\ti_Tag=#ASLSM_DoDepth ,True :i+1
\ti_Tag=#ASLSM_DoOverscanType ,True :i+1
\ti_Tag=#ASLSM_DoAutoScroll ,False :i+1
\ti_Tag=#TAG_DONE ,False
*smr=AllocAslRequest_(#ASL_ScreenModeRequest,&tagi(0));\ti_Tag)
;jesli chce ustawic cos specjalnego to dopisuje ponizej:
tagi(0)\ti_Tag=#TAG_DONE,False
If AslRequest_(*smr,&tagi(0))
displayid =*smr\sm_DisplayID
displaydepth.w =*smr\sm_DisplayDepth
displaywidth.w =*smr\sm_DisplayWidth
displayheight.w=*smr\sm_DisplayHeight
EndIf
FreeAslRequest_(*smr)
i=0
If displayid=#INVALID_ID
\ti_Tag = #SA_LikeWorkbench,True :i+1
Else
\ti_Tag = #SA_Pens ,&pens(0) :i+1
\ti_Tag = #SA_DisplayID ,displayid :i+1
\ti_Tag = #SA_Depth ,displaydepth :i+1
EndIf
\ti_Tag = #SA_Type ,#PUBLICSCREEN :i+1
\ti_Tag = #SA_PubName ,&scrname$ :i+1
\ti_Tag = #SA_SharePens ,True :i+1
;\ti_Tag = #SA_SysFont ,1 :i+1 ;to nie jest -1 (true) !!!
\ti_Tag = #SA_Title ,0 :i+1
\ti_Tag = #TAG_DONE ,False
*scr=OpenScreenTagList_(0,&tagi(0))
If *scr
suc.l=PubScreenStatus_(*scr,0) ;publiczny to PRIVATE wiec daje PUBLIC
ScreenToFront_(*scr)
VWait 100
CloseScreen_(*scr)
EndIf
suc.l=FreeScreenDrawInfo_(*scrwb,*di)
EndIf
FreeVisualInfo_(*vi)
EndIf
End