Member 11700078 Ответов: 2

Значения оконных сообщений


Я кодирую приложение в VB (VS-2008). Это приложение MDI с одной родительской формой и многими дочерними формами. Дочерние формы могут быть сведены к минимуму, но не могут быть развернуты.

Я хочу знать 4 значения обмена сообщениями Windows.
1. В чем ценность ВМ при виде ребенка отображается на клиентской области MDI
2. В чем ценность ВМ при виде ребенка закрыт/удален.
3. В чем ценность ВМ при сворачивании дочерней формы является.
4. В чем ценность ВМ при виде ребенка нормализуется.

Используя функцию WinProc, я мог видеть сообщения, но не мог различить, что для чего, если какое-либо тело может предоставить мне значения сообщений окна, я буду очень благодарен.

Спасибо.

К. К. Бармен
kanoj.k.barman@gmail.com
8 сентября 2020 года

Что я уже пробовал:

<system.security.permissions.permissionsetattribute(system.security.permissions.securityaction.demand, name:="FullTrust" )=""> _
       Protected Overrides Sub WndProc(ByRef m As Message)
        Dim MyRec As Integer = Me.DataGridView1.Rows.Count + 1
        Dim MyString() As String = {MyRec.ToString, m.Msg, m.WParam.ToString, m.LParam.ToString}
        Me.DataGridView1.Rows.Add(MyString)
        'RaiseEvent LBItemAdded()
        ' Listen for operating system messages
        Select Case (m.Msg)
            ' The WM_ACTIVATEAPP message occurs when the application
            ' becomes the active application or becomes inactive.
            Case WM_ACTIVATEAPP
                'MsgBox("App Active." & Chr(13) & _
                '       "Value = " & m.Msg)
                ' The WParam value identifies what is occurring.
                appActive = (m.WParam.ToInt32() <> 0)

                ' Invalidate to get new text painted.
                Me.Invalidate()

        End Select

        MyBase.WndProc(m)
    End Sub

2 Ответов

Рейтинг:
2

Richard MacCutchan

К сожалению, это не так просто. Видеть О многодокументного интерфейса - Win32-приложений, Майкрософт документы[^].


Member 11700078

Дорогой Ричард Маккатчан,

На самом деле это может быть просто, кто знает об этом. Я не прояснил этот случай должным образом.
У меня есть родитель Mdi, на котором есть DataGridView, MenuStrip с тремя кнопками.
Нажатие одной кнопки загружает дочернюю форму и отображает ее. В то же время 15 сообщений записываются в DGV. 77 сообщение записывается при смещении родительской формы. При загрузке дочерней формы было написано еще 15 сообщений. я хотел бы знать, какое значение сообщения отображается для дочерней формы. Я понимаю, что после отображения дочерней формы также отправляется активное сообщение. Просто посмотрите, может ли какое-нибудь тело дать какую-нибудь идею.

С уважением.
К. К. Бармен.

Richard MacCutchan

Ну, вы можете понять, почему это не просто. Вы должны посмотреть на каждое отдельное сообщение в документации MSDN для получения полной информации о том, когда и почему они отправляются.

Рейтинг:
1

OriginalGriff

Вы можете посмотреть здесь: Список Сообщений Windows - WineHQ Wiki[^]