📄 myapp.cpp
字号:
class Q_Form1 :public Q_Form{ public: Q_Items ItemList; Q_Label *Label1; Q_Label *Label2; Q_Label *Label3; Q_Label *Label4; Q_Edit *Edit1; Q_Edit *Edit2; Q_List *List1; Q_RadioGroup *RadioGroup1; Q_Button *Button1; Q_Form1(); public: static void List1OnExit(void *Own); static void Button1OnExit(void *Own); static void Button1OnClick(void *Own);};class _MyApp :public Q_Application{ public: Q_Form1 *Form1; Q_Form1 *Form2; bool Run(); public: _MyApp():Q_Application("测试程序"){ }};//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//---------------------------------------------------------------------------------bool _MyApp::Run(){ Q_Form1 *Form1 = new Q_Form1(); Form1->Show();}//#################################################################################Q_Form1::Q_Form1():Q_Form(24,80,0,0,2,4){ //设定FORM标题 SetCaption("新 Qcurses 函数库测试程序",COLOR_WHITE,COLOR_BLUE); //加入一个菜单,并且制定颜色 AddMenu(COLOR_MAGENTA,COLOR_WHITE); /*加入菜单项 (1,"第一级-1",true,0) 1 = 这些数字是菜单的唯一标志 第一级-1 = 这个菜单的标题 true = 是否有下级菜单 0 = 上级菜单是谁 */ MainMenu->AddMenu(1,"第一级-1",true,0); MainMenu->AddMenu(2,"第一级-2",false,0); MainMenu->AddMenu(3,"第一级-3",true,0); MainMenu->AddMenu(4,"第一级-4",false,0); MainMenu->AddMenu(5,"第二级-1",false,1); MainMenu->AddMenu(6,"第二级-2",true,1); MainMenu->AddMenu(7,"第二级-3",false,1); MainMenu->AddMenu(8,"第二级-4",false,1); MainMenu->AddMenu(9,"第三级-1",false,6); MainMenu->AddMenu(10,"第三级-2",false,6); MainMenu->AddMenu(11,"第三级-3",false,6); MainMenu->AddMenu(12,"第三级-4",false,6); MainMenu->AddMenu(13,"第四级-1",false,12); MainMenu->AddMenu(14,"第四级-2",false,12); MainMenu->AddMenu(15,"第四级-3",false,12); MainMenu->AddMenu(16,"第四级-4",false,12); MainMenu->AddMenu(17,"第二级-1-1",false,3); MainMenu->AddMenu(17,"第二级-2-1",false,3); MainMenu->AddMenu(17,"第二级-3-1-1",false,3); MainMenu->AddMenu(17,"第二级-4-1",false,3); //为ITEMS列表加入列表项 ItemList.push_back("WindowsXP"); ItemList.push_back("Linux AS3"); ItemList.push_back("SCO Unix 5.5"); ItemList.push_back("FreeBSD"); ItemList.push_back("BEOS"); /*建立Q_Label 类,GetWinHandel() = 获取当前 Q_Form 的窗口指针 10 = Label1 的宽度 5 = Label1 的起始行 3 = Label1 的起始列 COLOR_WHITE = Label1 的字体颜色 COLOR_BLACK = Label1 的背景颜色 */ Label1 = new Q_Label(GetWinHandle(),10,5,3,COLOR_WHITE,COLOR_BLACK); //设定Label1 显示内容为 "姓名" ,显示类别是 0 = 显示的样式(0=正常,4=闪烁....) Label1->Set(0,"姓名:"); Label2 = new Q_Label(GetWinHandle(),10,7,3,COLOR_WHITE,COLOR_BLACK); Label2->Set(0,"年龄:"); Label3 = new Q_Label(GetWinHandle(),10,9,3,COLOR_WHITE,COLOR_BLACK); Label3->Set(0,"国籍:"); Label4 = new Q_Label(GetWinHandle(),10,15,3,COLOR_WHITE,COLOR_BLACK); Label4->Set(0,"系统:"); /*建立Q_Edit 类,GetWinHandel() = 获取当前 Q_Form 的窗口指针 12 = Edit1 的宽度 5 = Edit1 的起始行 15 = Edit1 的起始列 COLOR_BLACK = Edit1 的字体颜色 COLOR_CYAN = Edit1 的背景颜色 MSTRING = 显示的为字符串类型,可以调整为 int,float 等 */ Edit1 = new Q_Edit(GetWinHandle(),12,5,15,COLOR_BLACK,COLOR_CYAN,MSTRING); Edit2 = new Q_Edit(GetWinHandle(),3,7,15,COLOR_BLACK,COLOR_CYAN,MINTAGER); /*建立Q_List 类,GetWinHandel() = 获取当前 Q_Form 的窗口指针 6 = List1 的高度 20 = List1 的宽度 9 = List1 的起始行 15 = List1 的起始列 true = 是否为 list 类画框,如果画框则实际显示列表项 的数量 = 6-2 就是4项,实际容纳字符宽度 = 20-4 COLOR_WHITE = List1 的字体颜色 COLOR_CYAN = List1 的背景颜色 */ List1 = new Q_List(GetWinHandle(),6,20,9,15,true,COLOR_BLACK,COLOR_CYAN); //设定List1的退出事件 List1->OnExit = &List1OnExit; /*建立Q_RadioGroup 类,GetWinHandel() = 获取当前 Q_Form 的窗口指针 7 = RadioGroup1 的高度 20 = RadioGroup1 的宽度 15 = RadioGroup1 的起始行 15 = RadioGroup1 的起始列 COLOR_WHITE = RadioGroup1 的字体颜色 COLOR_CYAN = RadioGroup1 的背景颜色 ItemList = 选项的列表 Q_Items ItemList; 其实就是 vector<string> false = 是否允许多选 */ RadioGroup1 = new Q_RadioGroup(GetWinHandle(),7,20,15,15,COLOR_BLACK,COLOR_CYAN,ItemList,false); /*建立Q_Button 类,GetWinHandel() = 获取当前 Q_Form 的窗口指针 10 = Button1 的宽度 20 = Button1 的起始行 50 = Button1 的起始列 COLOR_BLACK = Button1 的字体颜色 COLOR_CYAN = Button1 的背景颜色 */ Button1 = new Q_Button(GetWinHandle(),10,20,50,COLOR_BLACK,COLOR_CYAN); //设置按钮标题是退出 Button1->Set("退出"); //设定Button按钮的退出事件 Button1->OnClick = &Button1OnClick; Button1->OnExit = &Button1OnExit; //为List1添加列表项 List1->Add("中国"); List1->Add("美国"); List1->Add("日本"); List1->Add("韩国"); List1->Add("印度"); List1->Add("朝鲜"); List1->Add("俄罗斯"); List1->Add("瑞士"); List1->Add("德国"); List1->Add("法国"); List1->Add("英国"); List1->Add("朝鲜"); List1->Add("其他"); //将所有的控件加入到Q_Form中(按照您要遍历的顺序) //加入后,可以用键盘的↑,↓,←,→,来遍历控件 AddObj(Label1); AddObj(Label2); AddObj(Label3); AddObj(Label4); AddObj(Edit1); AddObj(Edit2); AddObj(List1); AddObj(RadioGroup1); AddObj(Button1);}//---------------------------------------------------------------------------------void Q_Form1::List1OnExit(void *Own){ Q_Form1 *QForm1 = (Q_Form1 *)Own; //把 Own 转换为 Q_form1 类型的指针 QForm1->Edit1->Set(QForm1->List1->GetValue());}//---------------------------------------------------------------------------------void Q_Form1::Button1OnClick(void *Own){ //把 Own 转换为 Q_form1 类型的指针 Q_Form1 *QForm1 = (Q_Form1 *)Own; QForm1->Close();}//---------------------------------------------------------------------------------void Q_Form1::Button1OnExit(void *Own){ //把 Own 转换为 Q_form1 类型的指针 Q_Form1 *QForm1 = (Q_Form1 *)Own; QForm1->Label1->Set(4,"确定");}//---------------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -