Hi,
How is possible to create window with index ?
In my code I can only show one window. When is closed then I can see next window. But not all together.
The main problem is maybe in the handler for window.
Paja
'-----------------------------------------------------------------------------------------------------------------
autodefine "off"
$INCLUDE "windowssdk.inc"
$INCLUDE "winsock2.inc"
DEF screenW:INT
DEF screenH:INT
DEF n:INT
def m:INT
GETSCREENSIZE screenW,screenH
def win_error[400]:window
for m = 1 to 5
openwindow win_error[m],2+m*50,screenH-72-m*50,610,50-3,@TOPMOST|@NOCAPTION|@BORDER,0,"DEVICE ERRORS",&hndr
SETWINDOWCOLOR win_error[m],RGB(235,235,255)
CONTROL win_error[m],@BUTTON,"",85,5,55,35,0x50008000,30
SETCONTROLCOLOR win_error[m],30,RGB(255,255,255),RGB(0,0,255)
FOR n = 1 to 9
CONTROL win_error[m],@STATIC,"-",120+n*50,10,35,30,0x50000000|@CTLSTCTRANS,n
SETCONTROLCOLOR win_error[m],n,RGB(255,0,0),RGB(0,0,0)
next n
SETCONTROLTEXT win_error[m],1,CHR$(47)
SETCONTROLTEXT win_error[m],2,CHR$(63)
SETCONTROLTEXT win_error[m],3,CHR$(112)
SETCONTROLTEXT win_error[m],4,CHR$(118)
SETCONTROLTEXT win_error[m],5,CHR$(123)
SETCONTROLTEXT win_error[m],6,CHR$(125)
SETCONTROLTEXT win_error[m],7,CHR$(59)
SETCONTROLTEXT win_error[m],8,CHR$(39)
SETCONTROLTEXT win_error[m],9,CHR$(105)
DRAWMODE win_error, @TRANSPARENT
move win_error[m],17,5
PRINT win_error[m],"DEVICE"
move win_error[m],15,22
PRINT win_error[m],"ERRORs"
setfont win_error[m],"Verdana",16,4000,0,30
SETCONTROLTEXT win_error[m],30,STR$(m)
waituntil win_error[m].hwnd=0
next m
end
'-----------------------------------------------------------------------------------
sub hndr
select @class
case @idclosewindow
closewindow win_error[m]
case @idcontrol
if @controlid=30 THEN
CLOSEWINDOW win_error[m]
beep(4200,30)
endif
Case @IDLButtonDN
SendMessage win_error[m].hwnd,WM_NCLBUTTONDOWN,HTCAPTION,0
endselect
return
endsub
end
'-----------------------------------------------------------------------------------
Several ways to do it. Maybe this will get you going.
'-----------------------------------------------------------------------------------------------------------------
autodefine "off"
$INCLUDE "windowssdk.inc"
$INCLUDE "winsock2.inc"
DEF screenW:INT
DEF screenH:INT
DEF n:INT
def m:INT
int run
GETSCREENSIZE screenW,screenH
def win_error[400]:window
for m = 1 to 5
openwindow win_error[m],2+m*50,screenH-72-m*50,610,50-3,@NOCAPTION|@BORDER,0,"DEVICE ERRORS",&hndr
SETWINDOWCOLOR win_error[m],RGB(235,235,255)
CONTROL win_error[m],@BUTTON,"",85,5,55,35,0x50008000,30
SETCONTROLCOLOR win_error[m],30,RGB(255,255,255),RGB(0,0,255)
FOR n = 1 to 9
CONTROL win_error[m],@STATIC,"-",120+n*50,10,35,30,0x50000000|@CTLSTCTRANS,n
SETCONTROLCOLOR win_error[m],n,RGB(255,0,0),RGB(0,0,0)
next n
SETCONTROLTEXT win_error[m],1,CHR$(47)
SETCONTROLTEXT win_error[m],2,CHR$(63)
SETCONTROLTEXT win_error[m],3,CHR$(112)
SETCONTROLTEXT win_error[m],4,CHR$(118)
SETCONTROLTEXT win_error[m],5,CHR$(123)
SETCONTROLTEXT win_error[m],6,CHR$(125)
SETCONTROLTEXT win_error[m],7,CHR$(59)
SETCONTROLTEXT win_error[m],8,CHR$(39)
SETCONTROLTEXT win_error[m],9,CHR$(105)
DRAWMODE win_error, @TRANSPARENT
move win_error[m],17,5
PRINT win_error[m],"DEVICE"
move win_error[m],15,22
PRINT win_error[m],"ERRORs"
setfont win_error[m],"Verdana",16,4000,0,30
SETCONTROLTEXT win_error[m],30,STR$(m)
next m
run=1
waituntil run=0
end
'-----------------------------------------------------------------------------------
sub hndr
select @class
case @idclosewindow
closewindow #<window>@hitwindow
case @idcontrol
if @controlid=30 THEN
if #<window>@hitwindow.hwnd = win_error[1].hwnd then run=0
CLOSEWINDOW #<window>@hitwindow
beep(4200,30)
endif
Case @IDLButtonDN
SendMessage #<window>@hitwindow.hwnd,WM_NCLBUTTONDOWN,HTCAPTION,0
endselect
return
endsub
end
'-----------------------------------------------------------------------------------
LarryMc
QuoteIt is almost perfect - but only close of 1st window will close all opened windows.
change
if #<window>@hitwindow.hwnd = win_error[1].hwnd then run=0
to
run=0
and closing any window closes them all.
LarryMc