@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