here is my current IE lib. needless to say most of it doesn't work, the windows get created and get populated, but the event handling, the focus, and such do not work. Most of these functions do not work at all (work in progress) and the rest do not work correctly.

My concept is to create a 'gui' console using IE, and when necessary for user input\popup messages use IE comboboxes, input fields, etc. HTML can 'simulate' many of the functions and appearance of kixforms/kixgui windows, yet doesn't require an extra dll to be distributed.
code:
break on 
;$=setconsole("minimize")

$Window = IECreateWindow("This Damn Thing",300,300,640,480)

IEWrite($Window,"hello","Arial","4","#00ff00")
IEWrite($Window,"hello1",,"2","#ff0000")
IEWrite($Window,"hello2","Courier","5","#0000ff")
IEWrite($Window,"hello3")

$b1=IEAddButton($Window,"Button1",10,0,50,25)
$b2=IEAddButton($Window,"Button2",70,0,50,25)
$b3=IEAddButton($Window,"Button3",130,0,50,25)

? IEInputBox("What is your name?", "Enter your name")

?"pause..." get$k

$window.quit
$window = 0
exit 1


;***********************************************************************************************
Function IECreateWindow($title,$left,$top,$width,$height, optional $html)
$ie = createobject("internetexplorer.application")
$ie.addressbar = 0
$ie.menubar = 0
$ie.toolbar = 0
$ie.statusbar = 0
$ie.top = $top
$ie.left = $left
$ie.width = $width
$ie.height = $height
$ie.navigate("about:blank")
while $ie.busy and $ie.readystate <> 4 and @error = 0 loop
$ie.document.body.scroll = no
if $html
$ie.document.write('$html')
else
$ie.document.write('<title>$title</title>')
endif
$ie.document.body.bgcolor = "threedface"
$ie.document.body.border = "1px solid #cccccc"
$IECreateWindow = $ie
$ie.Visible = 1
while setfocus("$title") <> 0 loop
EndFunction

Function IEWrite($Window,$text, optional $font, optional $size, optional $color, optional $Clear)
if not $font $font='Verdana, Helvetica, sans-serif' endif
if not $size $size='3' endif
if not $color $color='#000000' endif
if not $bgcolor $bgcolor='#ffffff' endif
$HTML = '<font size="$size" FACE="$font" color="$color">$text<br></font>'
$window.document.write($HTML)
WHILE $window.busy <> 0 AND @ERROR = 0 LOOP
EndFunction

Function IEAddButton($Window,$Caption,$Left,$Top,$Width,$Height)
dim $Button
$Button = $Window.Document.CreateElement("input")
$Button.Type = "Button"
$Button.Value = $Caption
$Button.Style.Position = "Absolute"
$Button.Style.PixelTop = $Top
$Button.Style.PixelLeft = $Left
$Button.Style.PixelWidth = $Width
$Button.Style.PixelHeight = $Height
$Button = $Window.Document.Body.AppendChild($Button)
$IEAddButton = $Button
EndFunction

Function IESetBackColor($Window,$Color)
$Window.Document.Body.BGColor = $Color
EndFunction

Function IEComboBox($Window,$title,$text,$ElementArray)

$html='<HTML><HEAD><TITLE>$title</TITLE></HEAD><BODY><BR>$text<BR>
<OBJECT ID="ComboBox" WIDTH=200 HEIGHT=24 CLASSID="CLSID:8BD21D30-EC42-11CE-9E0D-00AA006002F3">
</OBJECT></BODY></HTML> '
$window.document.write('$html')
WHILE $window.busy <> 0 AND @ERROR = 0 LOOP

$combobox=IE.document.GetElementById("combobox")
for each $element in $ElementArray
$=$combobox.additem("$Element")
next
$combobox.value=$ElementArray[0]

EndFunction

Function IEInputBox($title, Optional $prompt, optional $Ok, optional $Cancel)
Dim $click, $html, $Window, $status, $click

If not $prompt $prompt = "Please enter your password." endif
If not $ok $ok = "OK" endif
If not $Cancel $cancel = "Cancel" endif

$html = '
<html><head><title>$title</title><style>
<!---body{ background-color: silver; color: black;font-family: tahoma, arial; font-size:
10pt; margin: 3px "input.tbox { border: lpx black solid;}td { font: 10pt tahoma; }--->
</style></head>
<body scroll=no >
<table align=center>
<form name=frm>
<tr>
<td align=right>$prompt </td>
<td colspan=2><input id=input value="" class=tbox></td>
</tr>
<tr>
<td><input id=ok type=button value=" $ok " onclick="frm.status.value=1">
<input type=hidden id=status name=status value=0></td>
<td align=right><input id=cancel type=button value=" $Cancel "
onclick="frm.status.value=2"></td>
</tr>
</form>
</table></body></html>'

$Window = IECreateWindow($title,100,100,300,130,$html)
while $window.busy and $window.readystate <> 4 and @error = 0 loop

$window.GetElementById("input").focus
$status = $window.GetElementById("status")
$click = $window.GetElementById("input")
? "$status $status.value @serror"
while @error = 0 and $status.value <> ""
select
case $status.value = "1" ;Ok was clicked
$IEInputBox = $password1.value
case $status.value = "2" ;cancel was clicked
$IEInputBox = "Cancel"
endselect
loop
? "$status $status.value @serror"
$window.quit
$window=""
EndFunction



[ 11 June 2002, 19:56: Message edited by: Radimus ]
_________________________
How to ask questions the smart way <-----------> Before you ask