PDA

View Full Version : نمایش Form1 روی Form2



loads
دوشنبه 09 مرداد 1385, 17:21 عصر
سلام دوستان
چجوری میشه form1 رو همیشه روی form2 ( نه همه پنجره ها ) نمایش داد حتی اگر فکوس روی form2 باشه ؟
ممنون

Payman62
دوشنبه 09 مرداد 1385, 17:47 عصر
سلام.
از show vbmodal استفاده کن.

loads
سه شنبه 10 مرداد 1385, 09:08 صبح
سلام
خیلی ببخشید Payman جان از اینکه نتونستم منظورم رو برسونم . show vbmodal فرم2 رو تا زمان بسته شدن فرم1 غیرفعال نگه میداره ، ولی من میخوام هر دو فرم فعال باشن و از commandهای هر دو فرم استفاده کنم . ممنون میشم راهنمایی بفرمائید .

omidmehraban
سه شنبه 10 مرداد 1385, 12:50 عصر
سلام
می تونی Always on Top بکنی شون. هرکودوم رو که خواستی.بشکل زیر:
این کد هارو در general Declarition بنوس:
Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) As Long
If Topmost = True Then 'Make the window topmost
SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
Else
SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
SetTopMostWindow = False
End If
End Function

به غیر از این که معلوه ماله کجاست:
Private Sub Form_Load()
Dim lR As Long
lR = SetTopMostWindow(Form1.hwnd, True)
'For inactive always on top Properties : lR = SetTopMostWindow(Form1.hwnd, False)
End Sub

البته اینجا غالبش به هم خورده بری تو VB درست میشه

loads
سه شنبه 10 مرداد 1385, 14:47 عصر
سلام
جناب omidmehraban شما واقعاً مهربان هستید ممنون از کد . امیدوارم بیشتر بتونم از تجربیات شما استفاده کنم
موفق باشید .

amirsadeghi
یک شنبه 22 مرداد 1385, 00:31 صبح
سلام
یه راه دیگه هم هست
اینکه فرم زیر mdi باشه و فرم رو را در هنگام اجرای فرم زیر بار گذاری کنی و فرم رو دکمه بستن نداشته باشه
اگه متوجه نشدی بگو تا یه سورس برات بزارم
فعلا بای