topic "MenuBar"; [i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class] [l288;2 $$2,0#27521748481378242620020725143825:desc] [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] [l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] [i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] [b42;2 $$9,9#13035079074754324216151401829390:normal] [2 $$0,0#00000000000000000000000000000000:Default] [{_} [ {{10000@3 [s0;%% [*@(229)4 MenuBar]]}}&] [s3; &] [s1;:MenuBar`:`:class: [@(0.0.255)3 class][3 _][*3 MenuBar][3 _:_][@(0.0.255)3 public][3 _][*@3;3 Ba rCtrl]&] [s2;%% &] [s2;%% @@image:831&643 (A4UAZwAAAJn/AAAAAHic7Z3PaxNBFMe39d/wn/Aq3qzYi715FW+CQkG8eJPqpQWJ7VEqevAiJPSUg0dRaxEsLRLEgJKWFIriJYX2ENquQyLr7Pzayf6Y95J8vzzCspmdeW8++96YZOp2Op04jqOL29HlTnSlM3NjP7q6I2xm7p/NDuzCNdVm5/63gZVlnQGOS3c3K7I/v77D/A04WBlwsDLgYGXAwcocOOK0jA2S11FxRJJCxhulNdKFpYxbBIf7zpcb2Br7hBaYSPgR5eGSY6MPHHCEN0Ic7pM5cCgVLHk1th9pNuR0VrJbv8GKlDv9En04mwNlFbqkE7lnz7XDkRHuFcTtniNkffIzz+SeH//hcg+qQzRGPWp2lIvD4Rh/HPnMESxwAIce7Eg49JJLhcN/UHeNkoPK8bnDuJTbiDg8NK5lxgZGEJGk3LeobTi9c/2tUUfUr9I7H99P5cXrBlXnjuGAgxaHkjLji2MiDThYGXCwsiGOxpvnMBKz4Yih4BLTvriyIRtwEEqfdgVHdYsITDbgYGXAwcoSHEdHRycnJ/1+/+zs7Pz8HDhocURpAQctjmazubW1JUAcHx+LBKkIR1IMyQO3Oebwzf1WKXElONbX1wURgUNUrYpwxNpvIkxMcSa2/FJj87nEuBIcq6urjUZD4Oj1eqenp1XjYGVGx/LhKO7JcNprtVq9XifBoWS68WartMrZcCRpoudLRZkeEkfmrNqirrrKubPDfZ/4xMUWhzGcWJKRQpwWLQ63MwXdI8dhK022NlVY8ewYRxyOmc93XBEO280QwD0FR6vVCr92GHPf1qZ0Fpk++CRpWe4FxgFjgiOKYt3Iw+dmyA5WBhysDDhYmScOKKTkzx3G3zugkFKyAzho5YmDfDPYBFsOHFAYNQa/lQMHEwEHKwEHKwEHKwEHKzXwqZyTgIOVgIOVwuBQtgGX2HNxN2yOkfgcDEeJvRk79BlCn3DlpO04mIDDeNKzw9JFiEMJ3FgZjIVFPlBaGq+yuTHNOIxTLR/obznOOKbaUXBsa4etn8ALR0xdrGzTUh2OTN+mJDts54FDlvwliTigXTuUt8LjcFwbRsFwOIp2MtXG9cWdQcooxqscl9jGzezfHW9uDYuV6L9SHD4iuRu5KQAO46ZQUzPgyP6DAiikgIOV8I0uKwEHKwEHKwEHK3niIN85OcGWAwcURsDBSsDBSsDBSsDBSsDBSo30Hl3goBVwsBKKFSuFyQ7jj7N6mxJHHFOFyQ7/qZ5yKMDBSoQ4jBt7HNVsGhQMh3HTjnyg762aQtEWK30PFXAABx8xXDtKHHfsFH7tcGwKVc5PofAlCStRfUmSuUd0OoXvrFgpKVbDTaER/hMMUsk4aP+gAIq17AAOWgEHKzlwwEjMiGNxZUO8Jo9p3vu5LRosLy8vLCzMz8+LY/HvsXsDiePrA4mDJ48fToDdvnWzJknEJcJMYjQGXktLP+Oj4VXDB9W12235QXUKjoP9XeWT9dLSkoAoXuWTL1+sTYA9uH+nLskn8Hpa+hmb9E6Gj3HsdrvyYxwVHIcHrc6PL1933n3+9HbzQ1Px8OP75iTZs6ePWhYpgduaFZHIC8FCVKp+v588c1bB8fvwmyDS3dsVVUtwmWx7/WqtRyflEcB/AUMeCEU=) &] [s0;%% &] [s9;%% This class provides the menu hierarchy. It can be used either as Frame or as regular Ctrl (in that case it represents top`-level menu), or be pop`-up as local menu (PopUp or Execute).&] [s3;%% &] [s0; &] [ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&] [s3; &] [s5;:MenuBar`:`:GetStdHeight`(Font`): [@(0.0.255) static] [@(0.0.255) int]_[* GetStdHeight]( [_^Font^ Font]_[*@3 font]_`=_StdFont())&] [s2;%% The height of top`-level menu using the [%-*@3 font].&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:CloseMenu`(`): [@(0.0.255) void]_[* CloseMenu]()&] [s2;%% Forces closing any open sub`-menus.&] [s3;%% &] [s4; &] [s5;:Upp`:`:MenuBar`:`:Set`(Event`): [@(0.0.255) void] [* Set](Event [*@3 menu])&] [s2;%% Sets the top`-level [%-*@3 menu]. Use for top`-level menu bars only.&] [s3; &] [s4; &] [s5;:Upp`:`:MenuBar`:`:Post`(Event`): [@(0.0.255) void] [* Post](Event [*@3 bar])&] [s2;%% Deprecated `- do not use.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:PopUp`(Ctrl`*`,Point`,Size`): [@(0.0.255) void]_[* PopUp]([_^Ctrl^ Ctrl]_`* [*@3 owner], [_^Point^ Point]_[*@3 p], [_^Size^ Size]_[*@3 rsz]_`=_[_^Size^ Size]([@3 0], [@3 0]))&] [s2;%% Pop`-ups the menu at [%-*@3 p ]in the [%-*@3 owner] view area. [%-*@3 sz] is the size of menu, if zero, needed size is computed. Menu can be defined by issuing individual Add methods before calling PopUp.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:PopUp`(Point`): [@(0.0.255) void]_[* PopUp]([_^Point^ Point]_[*@3 p])&] [s2;%% Same as PopUp(GetActiveWindow(), p).&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:PopUp`(`): [@(0.0.255) void]_[* PopUp]()&] [s2;%% Same as previous method, with p set to the current mouse position.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:Execute`(Ctrl`*`,Point`): [@(0.0.255) bool]_[* Execute]([_^Ctrl^ Ctrl]_`*[*@3 o wner], [_^Point^ Point]_[*@3 p])&] [s2;%% Pop`-ups the menu at [%-*@3 p ]in the [%-*@3 owner] view area and performs the modal loop for it. Returns false when menu is canceled without performing any action.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:Execute`(Point`): [@(0.0.255) bool]_[* Execute]([_^Point^ Point]_[*@3 p])&] [s2;%% Same as Execute(GetActiveWindow(), [%-*@3 p]). Returns false when menu is canceled without performing any action.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:Execute`(`): [@(0.0.255) bool]_[* Execute]()&] [s2;%% Same as previous method, with p set to the current mouse position. Returns false when menu is canceled without performing any action.&] [s3;%% &] [s4; &] [s5;:Upp`:`:MenuBar`:`:Execute`(Upp`:`:Ctrl`*`,Upp`:`:Event``,Upp`:`:Point`): [@(0.0.255) s tatic] [@(0.0.255) bool]_[* Execute]([_^Upp`:`:Ctrl^ Ctrl]_`*[*@3 owner], [_^Upp`:`:Event^ Event]_[*@3 proc], [_^Upp`:`:Point^ Point]_[*@3 p])&] [s2;%% Pop`-ups the menu based on [%-*@3 proc]. Returns false when menu is canceled without performing any action.&] [s3;%% &] [s4; &] [s5;:Upp`:`:MenuBar`:`:Execute`(Upp`:`:Event``,Upp`:`:Point`): [@(0.0.255) s tatic] [@(0.0.255) bool]_[* Execute]([_^Upp`:`:Event^ Event]_[*@3 proc], [_^Upp`:`:Point^ Point]_[*@3 p])&] [s2;%% Same as previous method, using GetActiveWindow() as owner. Returns false when menu is canceled without performing any action.&] [s3;%% &] [s4; &] [s5;:Upp`:`:MenuBar`:`:Execute`(Upp`:`:Event``): [@(0.0.255) static] [@(0.0.255) bool]_[* Execute]([_^Upp`:`:Event^ Event]_[*@3 proc])&] [s2;%% Same as previous method, using current mouse position. Returns false when menu is canceled without performing any action.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:IsEmpty`(`): [@(0.0.255) bool]_[* IsEmpty]()&] [s2;%% Returns true if MenuBar has no items.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:Clear`(`): [@(0.0.255) virtual] [@(0.0.255) void]_[* Clear]()&] [s2;%% Removes all items from MenuBar.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:LeftGap`(int`): [_^MenuBar^ MenuBar][@(0.0.255) `&]_[* LeftGap]([@(0.0.255) i nt]_[*@3 cx])&] [s2;%% Minimum size reserved on the left side of menu items for icons in pixels. Default value is 16. Returns `*this.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:SetFont`(Font`): [_^MenuBar^ MenuBar][@(0.0.255) `&]_[* SetFont]([_^Font^ Fon t]_[*@3 f])&] [s2;%% Sets the font to be used in MenuBar. Default is standard GUI font. Returns `*this.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:GetFont`(`)const: [_^Font^ Font]_[* GetFont]()_[@(0.0.255) const]&] [s2;%% Returns the font used in MenuBar.&] [s3;%% &] [s4; &] [s5;:MenuBar`:`:MaxIconSize`(Size`): [_^MenuBar^ MenuBar][@(0.0.255) `&]_[* MaxIconSize]([_^Size^ S ize]_[*@3 sz])&] [s2;%% Sets the maximum size of an iconn displaye inside a menu item to [%-*@3 sz].&] [s3;%% &] [s4; &] [s5;:Upp`:`:MenuBar`:`:MaxIconSize`(int`): MenuBar[@(0.0.255) `&] [* MaxIconSize]([@(0.0.255) i nt] [*@3 n])&] [s2;%% Same as MaxIconSize([%-*@3 n], [%-*@3 n]).&] [s3; &] [s4; &] [s5;:MenuBar`:`:GetMaxIconSize`(`)const: [_^Size^ Size]_[* GetMaxIconSize]()_[@(0.0.255) co nst]&] [s2;%% Returns the maximum icons size.&] [s3; &] [s0;%% ]]