窗口标识符

This commit is contained in:
taynpg 2024-01-25 14:52:04 +08:00
parent d07cc4295e
commit 6bd8e59e1d
5 changed files with 179 additions and 3 deletions

View File

@ -17,8 +17,11 @@ include(${wxWidgets_USE_FILE})
add_executable(wxWidgetStudy main.cpp)
add_executable(wxEvent event_binary.cpp src/event_demo.cpp)
add_executable(wxWindowSign window_sign_bin.cpp src/window_sign.cpp)
target_link_libraries(wxWidgetStudy PRIVATE ${wxWidgets_LIBRARIES})
target_link_libraries(wxEvent PRIVATE ${wxWidgets_LIBRARIES})
target_link_libraries(wxWindowSign PRIVATE ${wxWidgets_LIBRARIES})
set_target_properties(wxWidgetStudy PROPERTIES WIN32_EXECUTABLE TRUE)
set_target_properties(wxEvent PROPERTIES WIN32_EXECUTABLE TRUE)
set_target_properties(wxEvent PROPERTIES WIN32_EXECUTABLE TRUE)
set_target_properties(wxWindowSign PROPERTIES WIN32_EXECUTABLE TRUE)

View File

@ -116,9 +116,9 @@ public:
void OnSize(wxSizeEvent& event);
void OnButtonOK(wxCommandEvent& event);
#ifndef USE_DYNAMIC_CONNECT
private:
DECLARE_EVENT_TABLE()
#endif
};
#endif

46
src/window_sign.cpp Normal file
View File

@ -0,0 +1,46 @@
#include "window_sign.h"
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
END_EVENT_TABLE()
bool MyApp::OnInit()
{
MyFrame* frame = new MyFrame(wxT("Minimal wxWidgets App"));
frame->Show(true);
return true;
}
void MyFrame::OnAbout(wxCommandEvent& event)
{
wxString msg;
msg.Printf(wxT("Hello and welcome to %s"), wxVERSION_STRING);
wxMessageBox(msg, wxT("About Minimal"), wxOK | wxICON_INFORMATION, this);
}
void MyFrame::OnQuit(wxCommandEvent& event)
{
Close();
}
MyFrame::MyFrame(const wxString& title) : wxFrame(NULL, wxID_ANY, title)
{
// 设置窗口图标
// SetIcon(wxIcon(mondrian_xpm));
// 创建菜单条
wxMenu* fileMenu = new wxMenu;
// 添加“关于”菜单项
wxMenu* helpMenu = new wxMenu;
helpMenu->Append(wxID_ABOUT, wxT("&About...\tF1"),
wxT("Show about dialog"));
fileMenu->Append(wxID_EXIT, wxT("E&xit\tAlt-X"), wxT("Quit this program"));
// 将菜单项添加到菜单条中
wxMenuBar* menuBar = new wxMenuBar();
menuBar->Append(fileMenu, wxT("&File"));
menuBar->Append(helpMenu, wxT("&Help"));
// ...然后将菜单条放置在主窗口上
SetMenuBar(menuBar);
CreateStatusBar(2);
SetStatusText(wxT("Welcome to wxWidgets!"));
}

123
src/window_sign.h Normal file
View File

@ -0,0 +1,123 @@
#ifndef WINDOW_SIGN
#define WINDOW_SIGN
#include "wx/wx.h"
/*
(frame窗口和它的所有子窗口)
使wxID_OK这个标识符使
使wxID_ANY作为其标识符wxWidgets自动为你生成一个标识符
使 wxEvtHandler::Connect函数或者在静态事件表中使
wxID_ANY作为窗口的标识符wxWidgets自动创建的标识符是总是一个负数
wxWidgets提供的一些标准的标识符使
(GTK+OK和取消按钮)(
wxID_CANCEL事件来响应Escape键) Mac OS X系统上wxID_ABOUT, wxID_PREFERENCES和
wxID_EXIT菜单项也有特别的处理wxWidgets的控件也会自动处理标识符为 wxID_COPY,
wxID_PASTE或 wxID_UNDO等的一些菜单或者按钮的命令
wxID_ANY wxWidgets自动产生一个标识符
wxID_LOWEST (4999)
wxID_HIGHEST (5999)
wxID_OPEN
wxID_CLOSE
wxID_NEW
wxID_SAVE
wxID_SAVEAS ()
wxID_REVERT
wxID_EXIT 退
wxID_UNDO
wxID_REDO
wxID_HELP (
)
wxID_PRINT
wxID_PRINT_SETUP
wxID_PREVIEW
wxID_ABOUT
wxID_HELP_CONTENTS
wxID_HELP_COMMANDS
wxID_HELP_PROCEDURES
wxID_HELP_CONTEXT 使
wxID_CUT
wxID_COPY
wxID_PASTE
wxID_CLEAR
wxID_FIND
wxID_DUPLICATE
wxID_SELECTALL
wxID_DELETE
wxID_REPLACE
wxID_REPLACE_ALL
wxID_PROPERTIES
wxID_VIEW_DETAILS
wxID_VIEW_LARGEICONS
wxID_VIEW_SMALLICONS
wxID_VIEW_LIST
wxID_VIEW_SORTDATE
wxID_VIEW_SORTNAME
wxID_VIEW_SORTSIZE
wxID_VIEW_SORTTYPE
wxID_FILE1 to wxID_FILE9 使
wxID_OK
wxID_CANCEL
wxID_APPLY
wxID_YES YES
wxID_NO No
wxID_STATIC
wxID_FORWARD
wxID_BACKWARD
wxID_DEFAULT
wxID_MORE
wxID_SETUP
wxID_RESET
wxID_CONTEXT_HELP
wxID_YESTOALL
wxID_NOTOALL
wxID_ABORT
wxID_RETRY
wxID_IGNORE
wxID_UP
wxID_DOWN
wxID_HOME
wxID_REFRESH
wxID_STOP
wxID_INDEX
wxID_BOLD
wxID_ITALIC
wxID_JUSTIFY_CENTER
wxID_JUSTIFY_FILL
wxID_JUSTIFY_RIGHT
wxID_JUSTIFY_LEFT
wxID_UNDERLINE 线
wxID_INDENT
wxID_UNINDENT
wxID_ZOOM_100 100%
wxID_ZOOM_FIT
wxID_ZOOM_IN
wxID_ZOOM_OUT
wxID_UNDELETE
wxID_REVERT_TO_SAVED
使wxID_HIGHEST的标识符或者小于wxID_LOWEST的标识符
*/
class MyApp : public wxApp {
public:
virtual bool OnInit();
};
class MyFrame : public wxFrame {
public:
MyFrame(const wxString& title);
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
private:
DECLARE_EVENT_TABLE()
};
#endif

4
window_sign_bin.cpp Normal file
View File

@ -0,0 +1,4 @@
#include "src/window_sign.h"
IMPLEMENT_APP(MyApp)
DECLARE_APP(MyApp)