NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 5
  • 매뉴얼

    NGM 5의 매뉴얼입니다.

    NGM 5

    NGM 5의 매뉴얼입니다.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    커스텀 [2부] Ctrl+C, V 키보드 액션 만들기. (복사, 붙여넣기 한방에 처리하기)

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. 이전 시간에 알아본 Ctrl+C 액션에 기능을 좀 더 추가해보도록 하겠습니다. 처음부터 이 예제를 따라 하신 분들은 쉽게 쉽게 이해하며 넘어갈 수 있을 거라 생각되네요. 그래서 바로 시작하도록 하겠습니다^^

     

    아래 코드를 보면 여러가지가 추가된 것을 알 수 있습니다. 우선, 17~20라인의 코드를 하나씩 ㅈ 자세히 살펴봅시다.

    CtrlCModel.cs
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace CustomAction
    {
        [Serializable]
        public class CtrlCModel : NGM.Models.Interface.BaseCustomToolModel
        {
            public override string DisplayCategory { get { return "NGM Exemple"; } }
     
            public override string DisplayName { get { return "복사하기"; } }
     
            [DisplayName("전체 선택")]
            [Description("Ctrl+A키를 눌러서 전체 선택합니다.")]
            [DefaultValue(null)]
            public bool SelectAll { get; set; }
     
            public override void Execute()
            {
                if (SelectAll)
                {
                    NGM.Utility.MouseKeyboardManager
                    .KeyboardSimulator.KeyDown(System.Windows.Forms.Keys.LControlKey);
                    NGM.Utility.MouseKeyboardManager
                        .KeyboardSimulator.KeyDown(System.Windows.Forms.Keys.A);
                    NGM.Utility.MouseKeyboardManager
                        .KeyboardSimulator.KeyUp(System.Windows.Forms.Keys.A);
                    NGM.Utility.MouseKeyboardManager
                        .KeyboardSimulator.KeyUp(System.Windows.Forms.Keys.LControlKey);
                }
     
                NGM.Utility.MouseKeyboardManager
                    .KeyboardSimulator.KeyDown(System.Windows.Forms.Keys.LControlKey);
                NGM.Utility.MouseKeyboardManager
                    .KeyboardSimulator.KeyDown(System.Windows.Forms.Keys.C);
                NGM.Utility.MouseKeyboardManager
                    .KeyboardSimulator.KeyUp(System.Windows.Forms.Keys.C);
                NGM.Utility.MouseKeyboardManager
                    .KeyboardSimulator.KeyUp(System.Windows.Forms.Keys.LControlKey);
            }
        }
    }
    cs
     

     

    17라인의 DisplayName은 사용자에게 보일 메서드의 이름을 나타냅니다. 메소드의 이름은 SelectAll이죠. 그리고, 18라인은 설명을 입력하는 특성입니다. 이 값을 설정하면 사용자가 액션을 추가하고 SelectAll 속성을 클릭하면 하단에 설명이 표시됩니다. 19라인은 처음 등장하는 특성인데요. 말 그대로 기본 값을 말합니다. 이 특성이 부여되면~ 해당 속성에서 우클릭 후 초기화를 선택할 수 있게 됩니다. 물론, 값이 변경되었을 때만 말이죠~

    img.png

     

     

     

    20라인은 속성입니다. get, set이 있으므로 읽기, 쓰기가 가능한 속성이죠. 만약, get만 존재한다면 읽기 전용 속성이 됩니다. 그리고 처음에 등장하는 public(퍼블릭)은 공개가 된 속성이라는 뜻입니다. 어디에서건 호출하여 사용할 수 있다는 뜻이죠. 만약, private(프라이빗)으로 접근 한정자(또는 제한자)를 변경하면 자기 자신 이외의 클래스에서 SelectAll 속성을 사용할 수 없게 됩니다. 이외에도 접근 한정자는 몇 가지 더 있지만, 다음에 자세히 알아보도록 하겠습니다.

     

    24~34라인이 추가된 핵심 코드입니다. 앞서 추가한 속성의 값을 True로 변경하면 Execute 메서드에서 체크가 되고 True, False 여부에 따라 실행되거나 건너뛸 수 있게 됩니다. 이 내용은 실제 예제에서 한번 같이 보도록 하고, 우선은 버전을 올리고 빌드해봅시다.

    1. AssemblyInfo.cs 더블 클릭
    2. 어셈블리와 파일 버전을 1.0.0.6으로 변경
    img.png

     

     

    NGM을 실행한 후 메뉴의 ①관리자를 클릭하고 ②도구 모듈 설치를 클릭하세요.

    img.png

     

     

    아래 그림처럼 ①CustomAction.dll을 선택한 후 ②열기 하세요.

    img.png

     

     

    아래 그림처럼 광클릭 마우스와 복사하기 액션이 보입니다. 카테고리 이름이 동일하기 때문에 같은 위치에 추가된 것을 알 수 있습니다. 새로운 스크립트 에디터를 만들고 액션을 추가하세요.

    1. NGM Exemple 카테고리의 복사하기 액션 선택
    2. 스크립트 에디터로 드래그 앤 드롭하여 추가
    3. 전체 선택 값을 True로 변경
    4. 속성 설명 표시 확인
    img.png

     

     

     

    이대로 실행하면 아무것도 볼 수 없습니다-_-; 뭔가 시각적으로 확인하려면 어떤 행동이 발생해야 하기 때문이죠. 전체 선택은 확인이 되겠군요. 이 액션이 정상적으로 동작하는지 확인하기 위해 메모장을 하나 열어줍니다. 그리고, 메모장에 "안녕하세요!"라고 적은 후 NGM에서 실행 전 지연에 3000을 입력하고 실행해보세요.

    img.gif

     

     

     

    3초 지연 시간 동안 메모장을 재빠르게 클릭해둡니다. 그러면 액션이 시작되면서 메모장에 있는 텍스트가 전체 선택(Ctrl+A)되고 복사하기(Ctrl+C)가 실행됩니다. 아직 붙여 넣기를 안 만들었기 때문에 사용자가 엔터를 2번 입력하고 Ctrl+V를 직접 수행합니다. 입력한 텍스트가 그대로 붙여지죠?

    img.gif

     

     

     

    붙여 넣기(Ctrl+V)는 여러분이 직접 만들어보세요^^; 스크립트 공유 게시판에 올려주면 더 좋겠죠~ 키보드 관련 내용은 여기까지 알아보고 마치도록 하겠습니다. 다음에는 이미지 관련해서 알아볼게요.

    img.gif

     

     

     

    개발자에게 후원하기

    img.jpg

     

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해 줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.