[Controls] 13. Menu

윈도우 프로그램에서 가장 중요한 컨트롤중에 하나인 메뉴에 대해 이야기 해보겠습니다. 메뉴는 주로 MDI( 다중 문서 인터페이스 [multiple document interface]) 형태의 윈도우 프로그램(예:MS 오피스)등에서 서로 관련된 기능들을 모아서 한정된 크기의 폼에 표현하기 위한 컨트롤입니다.

메뉴는 다양한 형태의 상용컨트롤과 Win32 API에서 호출하는 형태 그리고 비주얼스튜디오 닷넷등의 개발툴에서 제공되는 컨트롤 형태로서 코드를 작성할 수 있습니다. WPF에서도 역시 다른 컨트롤들과 동일하게 XAML 형태로 작성이 가능합니다.  


그림 1.메뉴화면

<Window x:Class="wpf13.Window1"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
    Title
="Window1" Height="450" Width="600">
   
<Grid>
       
<Menu Background="White" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" 
                Width
="39" Margin="6,1,0,4">
           
<MenuItem Header="_파일">
               
<MenuItem Header="_새로만들기" IsCheckable="True" InputGestureText="Ctrl+N" />
                <
MenuItem Header="_열기" IsCheckable="True" InputGestureText="Ctrl+O" />
                <
MenuItem Header="_닫기" IsCheckable="True" InputGestureText="Ctrl+F4" />
                <
Separator />
                    <
MenuItem Header="_프린트">
                       
<MenuItem Header="_미리보기" IsCheckable="True" />
                        <
MenuItem Header="출력" />
                    </
MenuItem>
           
</MenuItem>
       
</Menu>
       
         
<Menu Background="White" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" 
                Width
="39" Margin="64,1,0,4">
           
<MenuItem Header="_편집">
               
<MenuItem Header="_실행취소" IsCheckable="True" />
                <
MenuItem Header="_다시실행" IsCheckable="True" />
                <
Separator />
                <
MenuItem Header="_잘라내기" IsCheckable="True" InputGestureText="Ctrl+X" />
                <
MenuItem Header="_복사" InputGestureText="Ctrl+C" />
                <
MenuItem Header="_붙여넣기" InputGestureText="Ctrl+V" />
            </
MenuItem>
       
</Menu>
   
</Grid>
</Window>

Header=“파일“ : 메뉴의 CAPTION을 표시하는 속성입니다.
IsCheckable="true" : 특정메뉴를 선택했을때 체크표시를 하기위한 속성입니다.
InputGestureText="Ctrl+N" : 단축키를 지정하는 속성입니다.

그림 2.파일메뉴

그림 3.편집메뉴

<Separator /> 태그는 메뉴아이템 사이에 경계를 지정합니다.


wpf13.zip



※ 테스트 환경
-----------------------------------------------------------------------------------------
운영체체 : Windows Vista Ultimate 32bit
개발툴 : Microsoft Visual C# Codename "Orcas"
-----------------------------------------------------------------------------------------


'닷넷 프로그래밍(~2012)' 카테고리의 다른 글

[Controls] 16. Expender  (0) 2007.01.12
[Controls] 15. Treeview  (0) 2007.01.11
[Controls] 14. Slider Style DataBinding  (0) 2007.01.10
[Controls] 13. Menu  (0) 2006.12.22
[Controls] 12. ListBox  (0) 2006.12.22
[Controls] 11. PasswordBox  (0) 2006.12.22
[Controls] 9. ProgressBar  (0) 2006.12.22
[Controls] 8. TabControl  (0) 2006.12.22