<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=49789&amp;view=findpost&amp;p=327880</guid>
        <pubDate>Tue, 30 Mar 2004 16:21:57 +0000</pubDate>
        <title>Как создать динамическое PopUp меню</title>
        <link>https://forum.sources.ru/index.php?showtopic=49789&amp;view=findpost&amp;p=327880</link>
        <description><![CDATA[Dufa: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Const MF_CHECKED = &amp;H8&amp; </div><div class="code_line">Const MF_APPEND = &amp;H100&amp; </div><div class="code_line">Const TPM_LEFTALIGN = &amp;H0&amp; </div><div class="code_line">Const MF_DISABLED = &amp;H2&amp; </div><div class="code_line">Const MF_GRAYED = &amp;H1&amp; </div><div class="code_line">Const MF_SEPARATOR = &amp;H800&amp; </div><div class="code_line">Const MF_STRING = &amp;H0&amp; </div><div class="code_line">&nbsp;</div><div class="code_line">Private Type POINTAPI </div><div class="code_line">x As Long </div><div class="code_line">y As Long </div><div class="code_line">End Type </div><div class="code_line">&nbsp;</div><div class="code_line">Private Declare Function CreatePopupMenu Lib &quot;user32&quot; () As Long </div><div class="code_line">Private Declare Function TrackPopupMenu Lib &quot;user32&quot; (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, ByVal lprc As Any) As Long </div><div class="code_line">Private Declare Function GetSystemMenu Lib &quot;user32&quot; (ByVal hwnd As Long, ByVal bRevert As Long) As Long </div><div class="code_line">Private Declare Function AppendMenu Lib &quot;user32&quot; Alias &quot;AppendMenuA&quot; (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long </div><div class="code_line">Private Declare Function DestroyMenu Lib &quot;user32&quot; (ByVal hMenu As Long) As Long </div><div class="code_line">Private Declare Function GetCursorPos Lib &quot;user32&quot; (lpPoint As POINTAPI) As Long </div><div class="code_line">&nbsp;</div><div class="code_line">Dim hMenu As Long </div><div class="code_line">&nbsp;</div><div class="code_line">Private Sub Command1_Click() </div><div class="code_line">Call AppendMenu(hMenu, MF_STRING, ByVal 0&amp;, &quot;новое меню&quot;) </div><div class="code_line">End Sub </div><div class="code_line">&nbsp;</div><div class="code_line">Private Sub Form_Load() </div><div class="code_line">&#39;Создаём пустое всплывающие меню </div><div class="code_line">hMenu = CreatePopupMenu() </div><div class="code_line">&#39;Добавляем несколько пунктов в меню </div><div class="code_line">AppendMenu hMenu, MF_STRING, ByVal 0&amp;, &quot;Hello !&quot; </div><div class="code_line">AppendMenu hMenu, MF_GRAYED Or MF_DISABLED, ByVal 0&amp;, &quot;Testing ...&quot; </div><div class="code_line">AppendMenu hMenu, MF_SEPARATOR, ByVal 0&amp;, ByVal 0&amp; </div><div class="code_line">AppendMenu hMenu, MF_CHECKED, ByVal 0&amp;, &quot;TrackPopupMenu&quot; </div><div class="code_line">End Sub </div><div class="code_line">&nbsp;</div><div class="code_line">Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) </div><div class="code_line">Dim Pt As POINTAPI </div><div class="code_line">&#39;Получаем позицию курсора мыши </div><div class="code_line">GetCursorPos Pt </div><div class="code_line">If Button = 1 Then </div><div class="code_line">&#39;Показываем всплывающие меню </div><div class="code_line">TrackPopupMenu hMenu, TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&amp; </div><div class="code_line">Else </div><div class="code_line">&#39;Показываем всплывающее меню по умолчанию </div><div class="code_line">TrackPopupMenu GetSystemMenu(Me.hwnd, False), TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&amp; </div><div class="code_line">End If </div><div class="code_line">End Sub </div><div class="code_line">&nbsp;</div><div class="code_line">Private Sub Form_Unload(Cancel As Integer) </div><div class="code_line">Call DestroyMenu(hMenu)</div><div class="code_line">End Sub</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Dufa</author>
        <category>Работа с меню</category>
      </item>
	
      </channel>
      </rss>
	