cpp
// 对话
主标 DIALOGEX 0, 0, 100,100
STYLE DS_SHELLFONT|DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "动作"
FONT 12, "MS Sans Serif"
BEGIN
//ICON 翻译标,IDC_STATIC,0,0,20,20
DEFPUSHBUTTON "开始",开始标,30,20,30,12
PUSHBUTTON "完成",完成标,30,40,30,10,WS_GROUP
EDITTEXT 编辑标,10,60,80,10
PUSHBUTTON "退出",退出标,61,22,30,14
PUSHBUTTON "改径",改标,11,82,40,10
//GROUPBOX "",IDC_STATIC,7,7,115,88
END
主标 ACCELERATORS DISCARDABLE
BEGIN
"S",开始标,VIRTKEY
"F",完成标,VIRTKEY
"A",改标,VIRTKEY
"X",退出标,VIRTKEY
END
主对话框:
cpp
#include"资源.h"
#include"标头.h"
C应用模块 _模;
//要声明一个,
#include"窗口基本.cpp"
#include"对话.cpp"
元<类 T>构 简对话{
简对话(例柄 k,整 n){
果柄 h=::初化康(零效);断定ー(成功ー(h));
::默认窗口过程(零效,0,0,0L);
初化常见控件(窗旧类);
h=_模.初化゜(零效,k);断定ー(成功ー(h));
_模.加消泵(&p);e=n;
}
整 动作(){
T m;m.创建(零效);m.显示窗口(e);
整 o=p.跑();中 o;
}//T d;整 o=d.模态();这是有模态.现在无模态了
~简对话(){
_模.删消泵();
_模.终止();::析构康();
}
C消泵 p;整 e;
};//简单对话的意思.
整 接口项 文主窗口(例柄 k,例柄,钉文串,整 n)
{
高清环境;
简对话<C主框>t(k,n);
整 i=t.动作();中 i;
}
T m;m.创建(零效);m.显示窗口(e);
,这里要无模态创建!不然不能接收快捷键
C应用模块 _模;
,要加上!
编辑框:
cpp
构 编辑啊:公 C窗口实现<编辑啊,C编辑>{
开映消(编辑啊)
尾映消()
};//要从C窗口实现继承,否则就是个垃圾.
从窗口实现
继承,不然无法取数据
.
主对话框:
cpp
构 C主框:公 C对话实现<C主框>,公 简交控件<C主框>,公 C过滤消息
{
枚{对标=主标};
C主框(){快捷=零效;}
开映消扩(C主框)
//原因在这里,开映消支持不够,要加扩.所以在好和退出时就崩溃了.
初化对话消窗(初化对话时)
命标处扩(开始标,开始时)//实现略了.
命标处扩(完成标,完成时)
命标处扩(退出标,退出时)
命标处扩(改标,改时)
//反射通知()
尾映消()
整 预翻译消息(消息*p)
{
如(快捷 != NULL)
{
if(::TranslateAccelerator(m_hWnd, 快捷, p))中 1;
}
中 CWindow::IsDialogMessage(p);
}//用来取快捷键!
开交映(C主框)
交控件(编辑标,编辑);
交文字(编辑标,内容);
尾映交()//DDX
长果 初化对话时(窗柄ー,后参)
{
动*p= _模.GetMessageLoop();
p->AddMessageFilter(本);//加消息.
多附加呀<C主框>(*本,一步,开始标,二步,完成标,改径,改标,退钮,退出标);
//多子类化<C主框>(*本,退钮,退出标);
多子类化<C主框>(*本,编辑,编辑标);
//子类化,与各种附加!
变量转控();加载快捷();中 假;
}//
C按钮 一步,二步,改径,退钮;
//按钮稍后再加背景颜色.
编辑啊 编辑;C串 内容;
HACCEL 快捷;
};
xmake.lua
文件,见前面文章!