سلام
یک سری از CD ها قدیم ا چک کردم ولی پیدا نشد.
چون ساده است، اگر بخواهید میتوانم کد کاملش را تحت VB9 بنویسم.
ولی من VS6 ندارم. پس یک توضیح کلی برایتان میدهم.
فرم frmSeach را با شمای ظاهری که میدانید درست کنید و کد زیر را برایش وارد کنید.
کنترلر f_Text را برای متن (TextBox)
کنترلر f_MatchCase هم که مشخص است. (CheckBox)
f_SearchDown و f_SearchUp هم RadioButton هستند.
کد زیر را هم به فرم frmMain تان اضافه کنید.کد:Option Explicit
Private m_frmMain As frmMain
'جهت نمایش به حالت شناوری و گرفتن اشاره گر فرم اصلی
Public Sub ShowFloat(owner As frmMain)
Set m_frmMain = owner
Call Me.Show(vbModeless, owner)
End Sub
'رویداد کلیک دکمه سرچ پنجره شناور
Private Sub btnSearch_Click()
'اجرای متد مورد نظر در فرم اصلی
Call m_frmMain.OnSearch(Me.f_Text.Text, Me.f_MatchCase.Value = vbChecked, Me.f_SearchDown.value)
End Sub
حالا باید مشکلات نمایشی و ارتباط بین دو فرم حل شده باشد.کد:Option Explicit
Private m_frmSearch As frmSearch
'رویداد کلیک منوی جستجو
Private Sub miFind_Click()
'اگر فرم تا خال ساخته نشده بود و موجود نبود، می سازیمش
If (m_frmSearch Is Nothing) Then
Set m_frmSearch = New frmSearch
End If
Call m_frmSearch.ShowFloat(Me)
End Sub
'مت اصلی جستجو
Friend Sub OnSearch(txt As String, matchcase As Boolean, down As Boolean)
'...
End Sub
'اختیاری - جهت از حافظه خارج کردن فرم شناور
Private Sub Form_QueryUnload(cancel As Integer, mode As Integer)
If Not (m_frmSearch Is Nothing) Then
Call Unload(m_frmSearch)
Set m_frmSearch = Nothing
End If
End Sub
فقط میماند خود ذات جستجو در فرم اصلی که باید در متد OnSearch داخل فرم اصلی تکمیل شود.