原本以为做个对话框应该很简单,但是好像并不简单,以下是代码,编译没有问题,就是不能弹出对话框,看来java程序在我的脑子中根深蒂固了,在DFL上这样的模式估计不行。
需求很简单,就是一个弹出对话框,上面有几个文本框,可以输入一些数据。
module dfl.AgendaDialog;
import dfl.all;
class AgendaDialog: CommonDialog
{
Panel panelAgenda;
Label labelAgenda;
Label labelDate;
Label labelTimeFrom;
TextBox textBoxDate;
TextBox textBoxTimeFrom;
TextBox textBoxTimeTo;
RichTextBox richTextBoxAgenda;
this()
{
//Application.ppin(cast(void*)this);//有这句话编译都过不去
initializeMyPanel();
}
public override void reset()
{
}
public override DialogResult showDialog()
{
msgBox("befor show dialog, no para! ", "Info", MsgBoxButtons.OK, MsgBoxIcon.INFORMATION);
return runDialog(GetActiveWindow()) ? DialogResult.OK : DialogResult.CANCEL;
}
public override DialogResult showDialog(IWindow owner)
{
msgBox("befor show dialog, has para IWindow!", "Info", MsgBoxButtons.OK, MsgBoxIcon.INFORMATION);
return runDialog(owner ? owner.handle : GetActiveWindow()) ? DialogResult.OK : DialogResult.CANCEL;
}
public override bool runDialog(HWND owner)
{
return true;
}
private void initializeMyPanel()
{
panelAgenda = new Panel();
panelAgenda.name = "MyPanel";
panelAgenda.bounds = dfl.all.Rect(0, 0, 376, 248);
labelDate = new Label();
labelDate.name = "labelDate";
labelDate.text = "日期";
labelDate.textAlign = dfl.all.ContentAlignment.MIDDLE_RIGHT;
labelDate.bounds = dfl.all.Rect(8, 16, 44, 23);
labelDate.parent = panelAgenda;
textBoxDate = new TextBox();
textBoxDate.name = "textBoxDate";
textBoxDate.text = "textBoxDate";
textBoxDate.bounds = dfl.all.Rect(64, 16, 296, 23);
textBoxDate.parent = panelAgenda;
textBoxTimeFrom = new TextBox();
textBoxTimeFrom.name = "textBoxTimeFrom";
textBoxTimeFrom.text = "textBoxTimeFrom";
textBoxTimeFrom.bounds = dfl.all.Rect(64, 56, 120, 23);
textBoxTimeFrom.parent = panelAgenda;
labelTimeFrom = new Label();
labelTimeFrom.name = "labelTimeFrom";
labelTimeFrom.text = "时间";
labelTimeFrom.textAlign = dfl.all.ContentAlignment.MIDDLE_RIGHT;
labelTimeFrom.bounds = dfl.all.Rect(8, 56, 44, 23);
labelTimeFrom.parent = panelAgenda;
textBoxTimeTo = new TextBox();
textBoxTimeTo.name = "textBoxTimeTo";
textBoxTimeTo.text = "textBoxTimeTo";
textBoxTimeTo.bounds = dfl.all.Rect(240, 56, 120, 23);
textBoxTimeTo.parent = panelAgenda;
labelAgenda = new Label();
labelAgenda.name = "labelAgenda";
labelAgenda.text = "事件";
labelAgenda.textAlign = dfl.all.ContentAlignment.MIDDLE_RIGHT;
labelAgenda.bounds = dfl.all.Rect(8, 96, 44, 23);
labelAgenda.parent = panelAgenda;
richTextBoxAgenda = new RichTextBox();
richTextBoxAgenda.name = "richTextBoxAgenda";
richTextBoxAgenda.scrollBars = dfl.all.RichTextBoxScrollBars.VERTICAL;
richTextBoxAgenda.bounds = dfl.all.Rect(64, 96, 296, 144);
richTextBoxAgenda.parent = panelAgenda;
}
}
分享到:
相关推荐
转换结束后,会产生一个名为 test_EXP 的文件夹,Expedition PCB 文件就存放在该文件夹下的 PCB 文件夹里,名称是 test.pcb,与 Allegro 设计的名称相同。 Allegro to Expedition PCB 转换是一个复杂的过程,需要...
PADS、AD和Candence之间的...5. 继续在 Command 中输入:main out,回车,这时会弹出一个对话框。 6. 点击“StarOneWay Translation”,等待运行结束。 7. 打开 PADS LAYOUT ---file---import,之后等待转换结束即可。
通过以上步骤,我们成功地在RedHat或Fedora环境中搭建了一个完整的交叉编译环境。不仅学习了如何配置minicom以实现与开发板的串口通信,还深入了解了NFS和TFTP这两种网络服务的配置与使用方法。这对于进行嵌入式系统...
使用后,会弹出一个对话框,我们直接关闭就行。 第四步,我们转换allegro文件,将《skill load "dfl_main.il"》命令复制到命令框下,然后按回车键。这一步骤是为了加载allegro文件的skill脚本。然后,我们复制...
4. 转换完成后,会在PCB文件夹下生成一个名为`design_********.pcb#`的新文件。使用PADS Layout打开这个文件,并调整颜色显示等设置。 #### 四、总结 通过上述步骤,可以高效地将Allegro设计的PCB文件转换为PADS...