커스텀 [2부] Ctrl+C, V 키보드 액션 만들기. (복사, 붙여넣기 한방에 처리하기)
페이지 정보
본문
안녕하세요. 소심비형입니다. 이전 시간에 알아본 Ctrl+C 액션에 기능을 좀 더 추가해보도록 하겠습니다. 처음부터 이 예제를 따라 하신 분들은 쉽게 쉽게 이해하며 넘어갈 수 있을 거라 생각되네요. 그래서 바로 시작하도록 하겠습니다^^
아래 코드를 보면 여러가지가 추가된 것을 알 수 있습니다. 우선, 17~20라인의 코드를 하나씩 ㅈ 자세히 살펴봅시다.
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라인은 처음 등장하는 특성인데요. 말 그대로 기본 값을 말합니다. 이 특성이 부여되면~ 해당 속성에서 우클릭 후 초기화를 선택할 수 있게 됩니다. 물론, 값이 변경되었을 때만 말이죠~
20라인은 속성입니다. get, set이 있으므로 읽기, 쓰기가 가능한 속성이죠. 만약, get만 존재한다면 읽기 전용 속성이 됩니다. 그리고 처음에 등장하는 public(퍼블릭)은 공개가 된 속성이라는 뜻입니다. 어디에서건 호출하여 사용할 수 있다는 뜻이죠. 만약, private(프라이빗)으로 접근 한정자(또는 제한자)를 변경하면 자기 자신 이외의 클래스에서 SelectAll 속성을 사용할 수 없게 됩니다. 이외에도 접근 한정자는 몇 가지 더 있지만, 다음에 자세히 알아보도록 하겠습니다.
24~34라인이 추가된 핵심 코드입니다. 앞서 추가한 속성의 값을 True로 변경하면 Execute 메서드에서 체크가 되고 True, False 여부에 따라 실행되거나 건너뛸 수 있게 됩니다. 이 내용은 실제 예제에서 한번 같이 보도록 하고, 우선은 버전을 올리고 빌드해봅시다.
- AssemblyInfo.cs 더블 클릭
- 어셈블리와 파일 버전을 1.0.0.6으로 변경
NGM을 실행한 후 메뉴의 ①관리자를 클릭하고 ②도구 모듈 설치를 클릭하세요.
아래 그림처럼 ①CustomAction.dll을 선택한 후 ②열기 하세요.
아래 그림처럼 광클릭 마우스와 복사하기 액션이 보입니다. 카테고리 이름이 동일하기 때문에 같은 위치에 추가된 것을 알 수 있습니다. 새로운 스크립트 에디터를 만들고 액션을 추가하세요.
- NGM Exemple 카테고리의 복사하기 액션 선택
- 스크립트 에디터로 드래그 앤 드롭하여 추가
- 전체 선택 값을 True로 변경
- 속성 설명 표시 확인
이대로 실행하면 아무것도 볼 수 없습니다-_-; 뭔가 시각적으로 확인하려면 어떤 행동이 발생해야 하기 때문이죠. 전체 선택은 확인이 되겠군요. 이 액션이 정상적으로 동작하는지 확인하기 위해 메모장을 하나 열어줍니다. 그리고, 메모장에 "안녕하세요!"라고 적은 후 NGM에서 실행 전 지연에 3000을 입력하고 실행해보세요.
3초 지연 시간 동안 메모장을 재빠르게 클릭해둡니다. 그러면 액션이 시작되면서 메모장에 있는 텍스트가 전체 선택(Ctrl+A)되고 복사하기(Ctrl+C)가 실행됩니다. 아직 붙여 넣기를 안 만들었기 때문에 사용자가 엔터를 2번 입력하고 Ctrl+V를 직접 수행합니다. 입력한 텍스트가 그대로 붙여지죠?
붙여 넣기(Ctrl+V)는 여러분이 직접 만들어보세요^^; 스크립트 공유 게시판에 올려주면 더 좋겠죠~ 키보드 관련 내용은 여기까지 알아보고 마치도록 하겠습니다. 다음에는 이미지 관련해서 알아볼게요.
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해 줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글커스텀 조건 만들기. (사용자에게 입력 받아서 처리하기) 20.01.30
- 다음글[1부] Ctrl+C, V 키보드 액션 만들기. (복사, 붙여넣기 한방에 처리하기) 20.01.29
댓글목록
등록된 댓글이 없습니다.