Du er nødt til at studere de (eventuelle) SDK'er, der følger med "fremmede" dll'er og ocx'er, for at lære om deres funktionalitet. Desværre er ikke alle producenter af software lige dygtige til at lave dokumentation. Microsoft er heller ikke altid for flinke til det.
MHT til Microsofts egne (f.eks. kernel32) kan du se en oversigt over funktioner og konstanter i en API-text viewer.
(der følger en med Visual Studio -under tools. Her kan du også finde et program der hedder Depends, hvor du kan åbne en dll-fil, og dels se hvilke andre dll'er den er sammenkædet med, og dels se hvilke funktioner den indeholder.).
Ellers kan du anvende andre API-guider. Der er en rigtig god en her, og der er også en masse eksempler m.m.:
http://www.allapi.net/ 'handler stort set kun om Microsoft API'er
MHT til at anvende funktionerne:
f.eks. funktionen SetWindowPos fra user32.dll:
I et modul erklæres funktionen; dels navnet på funktionen, og dels hvilken dll den kommer fra:
Declare Function SetWindowPos Lib "user32" _
(ByVal h, ByVal hb, ByVal x, ByVal y, ByVal cx, ByVal cy, ByVal f) As Long
Oftest erklæres også en række konstanter:
Global Const SWP_NOMOVE = 2
Global Const SWP_NOSIZE = 1
Global Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Global Const HWND_TOPMOST = -1
Global Const HWND_NOTOPMOST = -2
Nu kan du kalde funktionen overalt i din kode: Eks.:
Public Sub Form_OnTop(Form As Form)
Dim lResult As Long
lResult& = SetWindowPos(Form.hwnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, FLAGS)
End Sub
Public Sub Form_NotOnTop(Form As Form)
Dim lResult As Long
lResult& = SetWindowPos(Form.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, FLAGS)
End Sub
Her sættes stort set alle parametre til 0, men det skal man naturligvis vide ;-).
Generelt vil jeg sige at det sommetider kan være svært at finde ud af præcist hvordan man kalder/anvender dll'er og ocx'er. Hvis man kender navnet på dll'en/funktionen kommer man dog som regel langt ved at søge på Google.
-Det er faktisk mit bedste råd ;-)
/tjacob