| Rapid-Q Documentation by William Yu (c)1999 | Appendix A: QOLECONTAINER |
| Field | Type | R/W | Default |
| Align | INTEGER | RW | alNone |
| AllowInPlace | INTEGER | RW | True |
| AutoShow | INTEGER | RW | True |
| BorderStyle | INTEGER | RW | bsSingle |
| Color | INTEGER | RW | |
| Cursor | INTEGER | RW | crDefault |
| Enabled | INTEGER | RW | True |
| Handle | INTEGER | R | |
| Height | INTEGER | RW | |
| Hint | STRING | RW | |
| Left | INTEGER | RW | 0 |
| Modified | INTEGER | RW | False |
| Parent | QFORM/QPANEL/QTABCONTROL | W | |
| ShowHint | INTEGER | RW | False |
| SizeMode | INTEGER | RW | smClip |
| State | INTEGER | RW | osEmpty |
| TabOrder | INTEGER | RW | |
| Tag | INTEGER | RW | |
| Top | INTEGER | RW | 0 |
| Width | INTEGER | RW | |
| Visible | INTEGER | RW | True |
| Method | Type | Description | Params |
| CreateObject | FUNCTION (ClassName AS STRING) AS INTEGER | Create new embedded object | 1 |
| Free | SUB | Release object | 0 |
| Invoke | FUNCTIONI (ID AS STRING, Params, ...) AS VARIANT | Invoke method/property | Infinite |
| Event | Type | Occurs when... | Params |
| OnKeyDown | SUB (Key AS Word, Shift AS INTEGER) | Key held down | 2 |
| OnKeyPress | SUB (Key AS BYTE) | User presses a key | 1 |
| OnKeyUp | SUB (Key AS Word, Shift AS INTEGER) | User releases a key | 2 |
| OnMouseDown | SUB (Button%, X%, Y%, Shift%) | Mouse button held down | 4 |
| OnMouseMove | SUB (X%, Y%, Shift%) | Mouse moves | 3 |
| OnMouseUp | SUB (Button%, X%, Y%, Shift%) | Mouse button is released | 4 |
| OnObjectMove | SUB (Rect AS QRECT) | OLE Object has moved or resized | 1 |
| OnResize | VOID | After OLE container is resized | 0 |
Example #2 (shockwave player)
You need to have an edit in the Flash Movie with a variable
named 'texto' (dynamic).
CREATE Form AS QFORM
Caption = "Swf"
Center
Visible = 1
CREATE swf AS QOLECONTAINER
CreateObject("ShockwaveFlash.ShockwaveFlash.5")
movie= "c:\windows\escritorio\p1.swf"
setvariable ("t","texto")
height =200
width = 200
END CREATE
Visible = 0
END CREATE
Form.ShowModal
'need to call this before program ends:
swf.Free
Example #3 (Create your own web page)
' ----------------------------------
$ESCAPECHARS ON
$TYPECHECK ON
$INCLUDE "RAPIDQ.INC"
Declare Sub OnClose_frmRapidView
'
Sub DummyProc
End Sub
CREATE frmRapidView AS QFORM
Autoscroll = false
WindowState = wsMaximized
Caption = "Demo RQ & HTML"
Visible = True
WndProc = DummyProc
CREATE msHTML AS QOLECONTAINER
Align = alClient
createObject("Shell.Explorer.1")
END CREATE
Visible = False
Onclose = OnClose_frmRapidView
End Create
DIM c as string
c = "about:<head><basefont face=\"courrier\"></head><body scroll=\"no\">"
c = c + "<center><br><h1>Text Out, Anything you want<BR> One more line<br>WILL BE TOO SLOW</center></h1>"
c = c + "<H2><HR><U>GOOD LUCK</U></H2></basefont></head>"
msHTML.navigate(c)
Sub OnClose_frmRapidView
application.Terminate
End
End Sub
'
' ********************************************
frmRapidView.ShowModal
' ********************************************
Example #4 (Simple web browser)
' frmTestOle J.Philippe, Frbruary 12th, 2003 $TYPECHECK ON $INCLUDE "RapidQ.inc" Const CRLF = Chr$(10) & Chr$(13) 'web site with properties and methods DefStr sURL = "http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dninvbs/html/theinternetexplorerobjectmodel.asp"
Declare Function DeleteUrlCacheEntry Lib "wininet.dll" Alias_
"DeleteUrlCacheEntryA" (ByRef lpszUrlName As String) As Long
'
Declare Sub OnClose_frmTestOle
Declare Sub OnClic_AnyMenu (Sender As QMenuItem)
'
Create frmTestOle As QForm
WindowState = 2 ' wsMaximized
Caption = "frmTestOle V 1.0.0 Loading URL in INTERNET EXPLORER"
OnClose = OnClose_frmTestOle
Visible = True
Create oleIE As QOleContainer
Align = 5 ' =alClient
createObject("Shell.Explorer.1") 'also try "Shell.Explorer.2"
End Create
Visible = False
End Create
frmTestOle.Show
DeleteUrlCacheEntry (sURL) ' Delete the entry from the cache, forces a new download
oleIE.Navigate (sUrl)
Do ' bugs without this
DoEvents
Loop Until oleIE.Busy = False
'
frmTestOle.Caption = "frmTestOle V 1.0.0 Loaded"
'
' OLE IE PROPERTIES TEST
DefInt iReturn = MessageDlg ((" Application = " & Str$(oleIe.Application) & " ???" _
& CRLF & " Busy Flag = " & Str$(oleIE.Busy) & " Work 0, -1)" _
& CRLF & " Document = " & Str$(oleIE.Document) & " ???" _
& CRLF & " Height = " & Str$(oleIE.Height) & " in OLeContainer" _
& CRLF & " Width = " & Str$(oleIE.Width) & " in OleContainer" _
& CRLF & " LocationName = " & oleIE.LocationName & " Works" _
& CRLF & " LocationUrl = " & oleIE.LocationUrl & " Works" _
& CRLF & " Parent = " & Str$(oleIE.Parent) & " " _
& CRLF & " TopLevelContainer = " & Str$(oleIE.TopLevelContainer) & " " _
& CRLF & " Type = " & oleIE.Type & " "), 2, 4, 0) 'mtInformation,MBOK
'
' The Following Properties Bug :
' & "\n FullScreen = " & Str$(oleIE.FullScreen) ' bugs
' & "\n FullName = " & oleIE.FullName ' bugs
' & "\n Name = " & oleIE.Name ' bugs
' & "\n Path = " & oleIE.Path ' bugs
' & "\n StatusBar = " & Str$(oleIE.StatusBar) ' bugs
' & "\n StatusText = " & oleIE.StatusText ' bugs
' & "\n ToolBar = " & Str$(oleIE.ToolBar) ' bugs
' & "\n Visible = " & Str$(oleIE.Visible) ' bugs yet in OleContainer ???
' I Dont even try Methods :)
'
frmTestOle.Caption = "frmTestOle V 1.0.0"
'
' *************************************
frmTestOle.Visible = False
frmTestOle.ShowModal
' *************************************
'
Sub OnClose_frmTestOle
oleIE.Quit
oleIE.Free
Application.Terminate
End
End Sub
'
| Prev Component | Contents | Next Component |