wxWidget中创建动态菜单及动态创建其它控件和动态事件关联
这里的动态菜单是关联的单独可执行的程序,点击菜单,可启动对应外部程序.
1.创建动态菜单的方法类
dynamic_create.h
#define DYNAMIC_CREATE_H
#include <vector>
#include <iostream>
#include <wx/string.h>
#include <wx/textfile.h>
using namespace std;
class dynamic_create
{
public:
const static int MENU_ID = 500;
vector<wxString> item;
wxString itemName;
public:
dynamic_create(wxString& menu_config); //菜单配置文件路径
~dynamic_create();
};
#endif // DYNAMIC_CREATE_H
dynamic_create.cpp
#include "dynamic_create.h"
dynamic_create::dynamic_create(wxString& menu_config)
{
size_t menuNum;
wxTextFile file;
if (file.Open(menu_config)) {
size_t i;
menuNum = file.GetLineCount();
for ( i = 1; i < file.GetLineCount(); i++) {
item.push_back(file[i]);
}
}
for(int i =0; i < item.size(); i++) {
wxString aa = item[i