powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Может быть кто-нибудь сталкивался с ... ?!
2 сообщений из 2, страница 1 из 1
Может быть кто-нибудь сталкивался с ... ?!
    #32088607
LCD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LCD
Гость
Всем привет!

Столкнулся с одной проблемой и пока не могу найти ответ. Может быть кто-нибудь уже встречался, тогда помогите с советом!

Короче есть клиент, в котором к родительской форме (MDIForm) присабачена куча отпрысков. Дочерние формы можно вызывать через меню родительской, к которому добавлены "горячие клавиши" (в общем стандартный случай).

Сама проблема в следующем:

Когда я запускаю проект на выполнение из VB 6.0 (VS 6.0), все работает на ура. После того, как проект скомпилирован и запускаешь уже экзешник, происходить следующее:

если пытаешься открыть какое-нибудь окно, которое было ранее открыто, а поверх него потом открыто другое (не модальное), не происходит ровным счетом ничего.

В меню прописаны команды типа:
Код: plaintext
1.
2.
3.
...
ShowForm frmImport
...

И далее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Declare Function FindWindowEx Lib  "user32"  Alias  "FindWindowExA"  _
    (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
    ByVal lpsz2 As String) As Long

Declare Function BringWindowToTop Lib  "user32.dll"  (ByVal hWnd As Long) As Long

Public Sub ShowForm(MyForm As Form)

    Dim lHWnd As Long

    lHWnd = FindWindowEx(frmMDI.hWnd,  0 ,  "MDIClient" , vbNullString)
    lHWnd = FindWindowEx(lHWnd,  0 ,  "ThunderFormDC" , MyForm.Caption)
    With MyForm
        If .Visible Then
            lHWnd = BringWindowToTop(lHWnd)
        Else
            .Show
        End If
    End With

End Sub


Как побороть эту ошибку?
Заранее спасибо, LCD.
...
Рейтинг: 0 / 0
Может быть кто-нибудь сталкивался с ... ?!
    #32089105
SilencerID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Dim lHWnd As Long

lHWnd = FindWindowEx(frmMDI.hWnd, 0, "MDIClient", vbNullString)
lHWnd = FindWindowEx(lHWnd, 0, "ThunderFormDC", MyForm.Caption)
With MyForm
If .Visible Then
lHWnd = BringWindowToTop(lHWnd)
==========================================================


Ты уверен?
А проще нельзя? Например просто сделать ее активной, свойством формы.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Может быть кто-нибудь сталкивался с ... ?!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]