Hejsan <code></code> jepp men jag har bara ett MDI forum i mitt projekt :) har nu testat båda och inget funkar tyvärr Jag gissar på att du skickat med fel argument till ListChildren().visa alla childs till ett MDIForm?
Jag har ett MDIForm och vill loopa igenom alla childs till det (jag vill loopa ut namnen till ett textfält)
Går det på nått smart sätt?Sv: visa alla childs till ett MDIForm?
Om du har mer än ett MDI formulär öppet samtidigt. Inte så troligt. Men då kan använda API. Annars bör Henkoz funktion retunera alla.
<code>
'Placera koden i en modul eller överst i formuläret:
Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long
Public Function ListChildren(MDIForm As MDIForm) As Collection
Dim hwnd As Long
Dim frmForm As Form
Set ListChildren = New Collection
hwnd = FindWindowEx(MDIForm.hwnd, 0&, "MDIClient", "")
For Each frmForm In Forms
If GetParent(frmForm.hwnd) = hwnd Then
ListChildren.Add frmForm
End If
Next
End Function
'Litet exempel som listar alla underligande fönster.
Private Sub mnuList_Click()
Dim frmForm As Form
Dim strText As String
For Each frmForm In ListChildren(Me)
strText = strText & frmForm.Name & vbCrLf
Next
Text1 = strText
End Sub
</code>Sv: visa alla childs till ett MDIForm?
ska testa Henkoz kod nuSv: visa alla childs till ett MDIForm?
med Henkoz kod fick jag bara fram de forms som inte var mdichilds och med Andreas fink jag inte fram nått alls.Sv: visa alla childs till ett MDIForm?
Vad är det för fönster du har i formuläret?
Är det vb forms?
Vad har du för Caption i dessa?
Om de är tomma kommer det ju inte synas något i text rutan.
Hur instansierar du dina fönster?
Hur stänger du dina fönster?Sv: visa alla childs till ett MDIForm?
menar du childen? det är vanliga forms som jag satt till MDIForm = True
ja de har captions.
instansierar vet jag inte vad det är så det vet jag inte om jag gjort
eftersom ListChildren körs direkt när MDIFormen öppnas är inget annat öppet