1 / 1 / 1
Регистрация: 11.04.2016
Сообщений: 7
1

Зависает форма

19.11.2019, 14:18. Показов 1087. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Я создаю на форме через WinAPI меню верхнего уровня. Ну естественно для обработки пунктов меню использую субклассирование:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Function WindowProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Dim n As Long
  
  n = CallWindowProc(OldWndProc, hwnd, Msg, wParam, lParam)
  Select Case Msg
    Case WM_COMMAND
      Select Case LowOrd(wParam)
        Case 2
          MsgBox "Î ïðîãðàììå"
 
          
        Case 30
          
          frmDirectorySetting.Show vbModal
      End Select
  End Select
  WindowProc = n
  
End Function
Public Sub InitMenu()
  Dim hPopupMenu As Long
  
  hwnd = FindWindow(vbNullString, "FLEX")
  hMenu = CreateMenu()
  hPopupMenu = CreatePopupMenu()
  AppendMenu hMenu, MF_STRING Or MF_POPUP, hPopupMenu, "Ïðîôèëü"
  AppendMenu hMenu, MF_STRING, 2, "Î ïðîãðàììå"
  AppendMenu hPopupMenu, MF_STRING, 10, "Ñîçäàòü ïðîôèëü..."
  AppendMenu hPopupMenu, MF_STRING, 20, "Íàñòðîèòü ïðîôèëü..."
  AppendMenu hPopupMenu, MF_SEPARATOR, 40, ""
  AppendMenu hPopupMenu, MF_STRING, 30, "Êàòàëîã ïðîôèëåé..."
  SetMenu hwnd, hMenu
  OldWndProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub
Public Sub SetOldWndProc()
  DestroyMenu hMenu
  SetWindowLong hwnd, GWL_WNDPROC, OldWndProc
End Sub
У меня такая проблема: На форме создается меню верхнего уровня При открытии основной формы, на которой создано меню в НЕМОДАЛЬНОМ режиме, форма зависает. Не могу понять в чем дело. Если форма открывается в модальном режиме, все работает , пункты меню вызывают нужные функции. Но мне какрас форма нужна в немодальном режиме,т.к пользователь должен выбирать объекты вне формы.
т.к для Corel Draw делаю

Добавлено через 1 минуту
Я незнаю , может как то можно пункты меню без субклассирования обрабатывать, но что то не нашел как это делать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2019, 14:18
Ответы с готовыми решениями:

Зависает форма
Работает приложение как повезет. Не повезет - зависнет, повезет - все нормально отработает....

Форма зависает
форма зависает с помощью цикла и цикл записывает текст в файл бесконечно, а он должен только один...

Зависает форма
Здравствуйте, товарищи. Пишу приложение Windows Form. На форме есть элемент dataGridView, имеет...

зависает форма
форма получает данные из бд .В какой-то момент времени я сврачиваю форму затем через какое-то время...

0
19.11.2019, 14:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2019, 14:18
Помогаю со студенческими работами здесь

Зависает вторая форма
Добрый день. Помогите пожалуйста с такой проблемой... пишу программу на тиражирование данных в...

Форма зависает во время вычислений
У меня такая проблема. У меня есть форма, которая проверяет, скачался ли файл. Так вот, после того,...

Зависает форма при Sleep
Здравствуйте! У меня вопрос, когда я в Windows Form использую Sleep(5000); у меня зависает...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru