1

Тема: AHK: Ограничить высоту Menu

Доброго времени суток .Помогите ограничить высоту "Menu", а то получается выпадающий список на весь экран.Если можно сделать так что бы показывало 10 строк вниз а не все строки сразу.

~vk20::

Menu, m, Add, *, ItemName 
Menu, m, Add, *~, ItemName
Menu, m, Add, $, ItemName
Menu, m, Add, ~, ItemName
Menu, m, Add, =, ItemName
Menu, m, Add, :=, ItemName
Menu, m, Add, &, ItemName
Menu, m, Add, @, ItemName
Menu, m, Add, #, ItemName
Menu, m, Add, while, ItemName
Menu, m, Add, Loop, ItemName
Menu, m, Add, Break, ItemName
Menu, m, Add, Menu, ItemName
Menu, m, Add, GetKeyState, ItemName
Menu, m, Add, Send { }, ItemName
Menu, m, Add, SendRaw, ItemName    
Menu, m, Add, SendMessage, ItemName    
Menu, m, Add, Input, ItemName    
Menu, m, Add, KeyWait, ItemName    
Menu, m, Add, SetKeyDelay, ItemName
Menu, m, Add, SetTimer, ItemName    
Menu, m, Add, Sleep, ItemName
Menu, m, Add, Pause, ItemName
Menu, m, Add, Suspend, ItemName
Menu, m, Add, Reload, ItemName    
Menu, m, Add, Return, ItemName
Menu, m, Add, LButton, ItemName 
Menu, m, Add, RButton, ItemName 
Menu, m, Add, MButton, ItemName
Menu, m, Add, WheelDown, ItemName 
Menu, m, Add, WheelUp, ItemName 
Menu, m, Add, XButton1, ItemName 
Menu, m, Add, XButton2, ItemName
Menu, m, Add, Up, ItemName
Menu, m, Add, Down, ItemName
Menu, m, Add, Left, ItemName
Menu, m, Add, Right, ItemName
Menu, m, Add, LeftClick, ItemName
Menu, m, Add, LeftClickDrag, ItemName    
Menu, m, Add, RightClick, ItemName    
Menu, m, Add, RightClickDrag, ItemName
Menu, m, Add, MouseClick, ItemName    
Menu, m, Add, MouseClickDrag, ItemName    
Menu, m, Add, MouseGetPos, ItemName    
Menu, m, Add, MouseMove, ItemName
Menu, m, Add, SetMouseDelay, ItemName
Menu, m, Add, SetControlDelay, ItemName    
Menu, m, Add, SetDefaultMouseSpeed, ItemName    
Menu, m, Add, SetTitleMatchMode, ItemName
Menu, m, Add, SetBatchLines, ItemName    
Menu, m, Add, SetWinDelay, ItemName    
Menu, m, Add, SetWorkingDir, ItemName    
Menu, m, Add, Shutdown, ItemName
Menu, m, Add, ToolTip, ItemName    
Menu, m, Add, TrayTip, ItemName
Menu, m, Add, SoundBeep, ItemName    
Menu, m, Add, Process, ItemName    
Menu, m, Add, PixelGetColor, ItemName    
Menu, m, Add, PixelSearch, ItemName    
Menu, m, Add, PostMessage, ItemName    
Menu, m, Add, Run, ItemName    
Menu, m, Add, RunAs, ItemName    
Menu, m, Add, RunWait, ItemName    
Menu, m, Add, Exit, ItemName    
Menu, m, Add, ExitApp, ItemName
Menu, m, show
Return 

ItemName:
  clipboard =
   clipboard = %A_ThisMenuItem%
   ClipWait
   Return

   *Mbutton::
Send, ^{vk56}
Sleep 20
Reload
Return 
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2

Re: AHK: Ограничить высоту Menu

В меню такой возможности нет, пользуйтесь DDL.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Ограничить высоту Menu

Большое спасибо.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

4 (изменено: serzh82saratov, 2014-02-13 23:56:27)

Re: AHK: Ограничить высоту Menu

Тогда уж ListView с иконками и стилями.
Что-то наподобие:


Gui, Font, s14
Gui, Margin, 0, 0
Gui -Caption -DPIScale
Gui, Add, ListView, r10 Grid -Hdr vMyListView hwndhListView, 1
ImageListID := IL_Create(), LV_SetImageList(ImageListID)  
Loop 20  
    IL_Add(ImageListID, "shell32.dll", A_Index+133)   
    , LV_Add("Icon" . A_Index, " item " A_Index) 
LV_ModifyCol()  
SendMessage, 0x101D, 0, , , ahk_id %hListView% ; LVM_GETCOLUMNWIDTH
WIDTH := ErrorLevel + 25
GuiControl, Move, MyListView, w%WIDTH% 
Gui Show, w%WIDTH%
return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5 (изменено: teadrinker, 2015-04-27 00:02:53)

Re: AHK: Ограничить высоту Menu

С DDL не так красиво, но проще гораздо. Контекстное меню окна:

Loop, % A_ProgramFiles "\*", 2
   Folders .= (A_Index = 1 ? "" : "|") . A_LoopFileName

Gui, Menu:-Caption +ToolWindow
Gui, Menu:Add, DDL, x0 y0 w150 hwndhDDL gDDL vDDL, % Folders
PostMessage, CB_SETITEMHEIGHT := 0x153, 0, 17,, ahk_id %hDDL%
PostMessage, CB_SETMINVISIBLE := (CBM_FIRST := 0x1700) + 1, 10,,, ahk_id %hDDL%
GuiControlGet, DDL, Menu:Pos

Gui, Main:Show, w300 h200
return

DDL:
   Gui, Menu: Submit
   Run, % A_ProgramFiles "\" DDL
   return

MainGuiContextMenu:
   GuiControl, Menu:, DDL, |%Folders%
   CoordMode, Mouse
   MouseGetPos, X, Y
   Gui, Menu:Show, % "Hide x" X " y" Y-DDLH
   PostMessage, CB_SHOWDROPDOWN := 0x14F, 1,,, ahk_id %hDDL%
   return
   
MainGuiClose:
   ExitApp
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Ограничить высоту Menu

Да, согласен.
Кстати насчёт красоты, навскидку не помнишь, как задать свою ширину VScroll в контроле?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7

Re: AHK: Ограничить высоту Menu

В смысле, ширину ползунка скроллбара?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Ограничить высоту Menu

Да.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Ограничить высоту Menu

Для этого нужно самому создавать скроллбар с помощью CreateWindowEx() и затем самостоятельно отслеживать события от него.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder