wxWidgets에서 wxID_CUT과 TextCtrl에서 Cut을 지원해준다.
wxMain.h에서는 이벤트 핸들러를 추가해주고,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// Edit 메뉴에 적용할 이벤트 핸들러
void OnUndo(wxCommandEvent& event);
void OnRedo(wxCommandEvent& event);
void OnCut(wxCommandEvent& event);
void OnSelectAll(wxCommandEvent& event);
void OnInsertDateTime(wxCommandEvent& event);
// 메뉴 동적 활성화 하기 위한 이벤트 핸들러
void OnUpdateUndo(wxUpdateUIEvent& event);
void OnUpdateRedo(wxUpdateUIEvent& event);
void OnUpdateCut(wxUpdateUIEvent& event);
|
cs |
wxMain.cpp에서 하위 메뉴와 이벤트 핸들러를 연결하고, 구현한다.
하위 메뉴 추가
1
2
3
4
5
6
7
8
|
m_menuEdit = new wxMenu;
m_menuEdit->Append(wxID_UNDO, "&Undo\tCtrl+Z", "Undo the last action");
m_menuEdit->Append(wxID_REDO, "&Redo\tCtrl+Y", "Redo the last undone action");
m_menuFile->AppendSeparator();
m_menuEdit->Append(wxID_CUT, "Cu&t\tCtrl+X", "Cut the selected text to the clipboard");
m_menuEdit->Append(ID_SELECT_ALL, "&Select All\tCtrl+A", "Select all text");
m_menuFile->AppendSeparator();
m_menuEdit->AppendCheckItem(ID_DATETIME, "&DateTime\tF5", "DateTime");
|
cs |
이벤트 핸들러 연결
1
2
3
4
5
6
7
8
9
10
11
12
|
// 메뉴 Edit에 관련된 이벤트 핸들러
Bind(wxEVT_MENU, &MyFrame::OnUndo, this, wxID_UNDO);
Bind(wxEVT_MENU, &MyFrame::OnRedo, this, wxID_REDO);
Bind(wxEVT_MENU, &MyFrame::OnCut, this, wxID_CUT);
Bind(wxEVT_MENU, &MyFrame::OnSelectAll, this, ID_DATETIME);
Bind(wxEVT_MENU, &MyFrame::OnInsertDateTime, this, ID_DATETIME);
// 메뉴바 갱신 이벤트 핸들러
Bind(wxEVT_UPDATE_UI, &MyFrame::OnUpdateUndo, this, wxID_UNDO);
Bind(wxEVT_UPDATE_UI, &MyFrame::OnUpdateRedo, this, wxID_REDO);
Bind(wxEVT_UPDATE_UI, &MyFrame::OnUpdateCut, this, wxID_CUT);
|
cs |
이벤트 핸들러 구현
1
2
3
4
5
6
7
8
|
void MyFrame::OnCut(wxCommandEvent& event) {
m_textControl->Cut();
}
void MyFrame::OnUpdateCut(wxUpdateUIEvent& event)
{
event.Enable(m_textControl->CanCut());
}
|
cs |
이렇게 해서 TextCtrl에서 잘라내는 기능을 구현할 수 있다.
'프로그래밍 > wxWidgets' 카테고리의 다른 글
[wxWidgets] 붙여넣기(Paste) 기능 구현하기 (0) | 2024.02.17 |
---|---|
[wxWidgets] 복사(Copy) 메뉴 추가하기. (0) | 2024.02.16 |
[wxWidgets] 다시 실행(Redo) 기능 구현하기. (1) | 2024.02.15 |
[wxWidgets] 실행 취소(Undo) 기능 구현하기. (0) | 2024.02.15 |
[wxWidgets] 텍스트 컨트롤에 글 모두 선택하기 기능 넣기 (0) | 2024.02.14 |