中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 100KB的DOS图形界面开发(Borland/DJGPP 库)
« [1] [2] [3] [4] [5] [6] [7] [8] »
作者:
标题: 100KB的DOS图形界面开发(Borland/DJGPP 库) 上一主题 | 下一主题
ecurb2006
中级用户

www.ecgui.com



积分 272
发帖 123
注册 2006-9-23
状态 离线
『第 16 楼』:  恩。不打算支持窗口重叠。

打算支持更有用的功能,如 Unicode 编码支持!

ps:任务拦切换也很方便哦



eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
2007-3-19 06:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
henrya2
中级用户





积分 486
发帖 171
注册 2006-2-12
状态 离线
『第 17 楼』:  

Good.



Those who do not study the past are condemned to repeat it
2007-3-19 07:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 18 楼』:  

顶出来!



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-4-30 23:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 19 楼』:  

试过了,并比较了一下以下的GUI开发库

1.实时微内核:最新图形模式多窗口演示
http://www.cn-dos.net/forum/viewthread.php?tid=16538&fpage=1

2.DOS的界面开发终结者  
http://www.cn-dos.net/forum/viewthread.php?tid=14489&fpage=1

其中1.运行效果不好,而且不稳定,2.的功能确实很强大,但同时体积也太大
还是老兄的DOS GUI开发(Borland库)功能也不错,体积也很小,而且UI也是
三个当中最好的,支持!!

不过程序显示区域头部显示 GUI 的介绍性信息,不太好,而且影响用用户的程
式美观,建议还是去掉为好.... 再说,这对推广的作用也不大。关键是好用,大家
自然会都去用。。用的好的也会帮你推广!



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-5-1 00:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ecurb2006
中级用户

www.ecgui.com



积分 272
发帖 123
注册 2006-9-23
状态 离线
『第 20 楼』:  皮肤界面的初步支持!

GUI皮肤界面的尝试!
连接 http://www.ecurb2006.com/blog/post/36.html

Blog: http://www.ecurb2006.com/

谢谢楼上!会考虑去掉头部显示的.



eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
2007-5-1 02:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yws
初级用户




积分 115
发帖 6
注册 2003-4-4
状态 离线
『第 21 楼』:  

不错,继续努力

2007-5-9 12:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
defrag
中级用户

痴迷DOS者


积分 456
发帖 570
注册 2004-10-9
状态 离线
『第 22 楼』:  

可不可以做成Win98样式?
X-Window有许多人不熟悉



DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload]
2007-5-13 19:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ecurb2006
中级用户

www.ecgui.com



积分 272
发帖 123
注册 2006-9-23
状态 离线
『第 23 楼』:  

你是指界面吗?



eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
2007-5-14 22:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ecurb2006
中级用户

www.ecgui.com



积分 272
发帖 123
注册 2006-9-23
状态 离线
『第 24 楼』:  演示如何创建对象,使用TEXTBOX文本框


/*
微型嵌入式GUI - 应用开发

Website: [url]www.ecurb2006.com[/url]

演示如何创建对象,使用TEXTBOX文本框。

*/
#include "gui.h"


#define MyWinCommand_A 4 /* 按钮的ID*/
#define MyWinCommand_B 5

/* 私有数据,可以用来保存对象的句柄 */
/* 句柄实质是结构(struct)指针 */
typedef struct _MyWinData
{
HAND a;
HAND b;
HAND c;
}MyWinData,*PMyWinData;

/*
USER_PRO 为简单的宏定义
#define USER_PRO void
表明为对象消息处理函数
HAND 为对象句柄
MEEAGE 为消息结构
更多请查阅 微型嵌入式GUI 编程指南([url]http://www.ecurb2006.com)[/url]
*/

USER_PRO MyMainWin(HAND hd,MESSAGE msg)
{
if(msg.type == GM_SYSTEM)/* 先判断消息类型 */
switch(msg.message)
{
case GM_Draw:/* 对象显示(或重绘)时,产生这个消息*/
  {
  HDC hdc; /* HDC 为图形设备句柄 */
  PefGDITag g=efGDI;
  /*
  efGDI为作图类, ef类操作方法之一,
   整个GUI中对象类都采用了这种API封装方法,接口统一,简单易用
  */
  hdc=g->Start(hd);/* 开始作图 */
  g->SetColor(hdc,COLOR_BLACK); /* 设定颜色 */
  g->DrawText(hdc,5,50,"Input a");/* 输出文字  */
  g->DrawText(hdc,5,75,"Input b");
  g->DrawText(hdc,5,100,"Show");
  g->End(hd,hdc); /* 结束作图 */
  }
  return;
case GM_Create: /* 对象创建后产生的消息 ,可以在这里完成一些初始化操作 */
  {
  
  PMyWinData mydata=NULL;
  mydata=(PMyWinData)Gmalloc(sizeof(MyWinData),"");/* 分配内存 */
  if(!mydata) return; /* return NULL */
   
  mydata->a=CreateObject(hd,TEXTBOX,1,0,"",70,50,200,70,0,0);
  mydata->b=CreateObject(hd,TEXTBOX,2,0,"",70,75,200,95,0,0);
  mydata->c=CreateObject(hd,TEXTBOX,3,0,"",70,100,200,120,0,0);

  CreateObject(hd,BUTTON,MyWinCommand_A,0,"Show A",10,130,90,155,0,0);
  CreateObject(hd,BUTTON,MyWinCommand_B,0,"Show B",100,130,180,155,0,0);

  SetObjVar(hd,(HAND)mydata);/* 设定对象的私有数据指针 */
   
  }
  return;
case GM_Destroy:
  {
  PMyWinData mydata=NULL;
  mydata=(PMyWinData)GetObjVar(hd);/* Get Object Var */
  Gfree(mydata,sizeof(MyWinData));
  }
  return;
default:return;
}
if(msg.type == GM_COMMAND)
{
char strbuf[257];
PMyWinData mydata=NULL;
mydata=(PMyWinData)GetObjVar(hd);/* 获得对象的私有数据指针  */
  if(!mydata) return;
  memset(strbuf,0,257);

  switch(msg.message)
   {
   case MyWinCommand_A:
      efTextBox->Text(mydata->a,strbuf);/* 获得文本框内容*/
      efTextBox->Set(mydata->c,strbuf);/* 设定文本框内容 */
      return;
  case MyWinCommand_B:
         efTextBox->Text(mydata->b,strbuf);
         efTextBox->Set(mydata->c,strbuf);
    return;
  default:return;
  }

}
}

int gmain(void*data) /* GUI 应用程序的入口,相当于 main 函数  */
{
CreateObject(0,MAINWINDOW,1,1,"Hello,World",10,10,400,400,MyMainWin,data);/* 创建对象 */
return 0;
}




eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
2007-5-15 19:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ecurb2006
中级用户

www.ecgui.com



积分 272
发帖 123
注册 2006-9-23
状态 离线
『第 25 楼』:  演示如何创建对象,使用菜单,多选框和对话窗口


/*
微型嵌入式GUI - 应用开发

Website: www.ecurb2006.com

演示如何创建对象,使用菜单,多选框和对话窗口

*/

#include "gui.h"
MENU mymenu[]={
{1,"aaaa",0,0},
{1,"aaaa",0,0},
{1,"aaaa",0,0}
};
typedef struct _MyData
{
HAND a;
HAND menu;
}MyData,*PMyData;

USER_PRO MyWin(HAND hd,MESSAGE msg)
{
if(msg.type == GM_SYSTEM)
switch(msg.message)
{
case GM_Create:
   {
   PMyData md;
   int i;
   md=(PMyData)Gmalloc(sizeof(MyData),"");
   CreateObject(hd,BUTTON,1,1,"Create Dialog",10,40,150,100,0,0); /* 创建按钮 */
   md->a=CreateObject(hd,CHECKBOX,1,1,"Hello",10,120,100,140,0,0);/* 创建多选框 */
   md->menu=CreateObject(hd,MAINMENU,1,1,"Menu",160,40,220,60,0,0);/* 创建对话窗口 */
   for (i=0;i<3 ;i++ )
   efMainMenu->Add(md->menu,&mymenu[i]);/* 添加菜单子项 */
   SetObjVar(hd,(HAND)md);
   }
    return;
default:return;
}
if(msg.type == GM_COMMAND)
switch(msg.message)
{
case 1:
   {
   PMyData md;
   md=(PMyData)GetObjVar(hd);
   if(!md) return;
   if(efCheckBox->Get(md->a)) /* 获得多选框状态 */
   efDialogWin->Start(hd,0,0,"选择了!",50,50,200,200,0,0); /* 启动对话窗口 */
   else efDialogWin->Start(hd,0,0,"没选择!",50,50,200,200,0,0);
   }
   return;
default:return;
}
}

int gmain(void*data)
{
CreateObject(0,MAINWINDOW,1,1,"Hello,World",10,10,400,400,MyWin,0);
return 0;
}




eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
2007-5-15 20:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 26 楼』:  

试过,不错~不过textbox的示例中,屏幕顶部会显示以下的start!等字啊~~~
是debug用的吧?

还有那个广告内容,还是去掉的好啊,只要好用大家自然会帮你好好宣传的



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-5-15 21:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ecurb2006
中级用户

www.ecgui.com



积分 272
发帖 123
注册 2006-9-23
状态 离线
『第 27 楼』:  更新微型嵌入式GUI的DOS的开发库。

请去 http://www.ecurb2006.com  下载!


会不断更新!



eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
2007-5-23 20:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 28 楼』:  

不错,不过启动界面的进度条给人的感觉不好,为什么不肯全部去掉开始的广告呢?
如果实在不行,我认为保留结尾时的广告就足够了~~~

我有向朋友们推荐过这个开发库,可是大家都对程式中的广告不满....



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-5-24 08:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ecurb2006
中级用户

www.ecgui.com



积分 272
发帖 123
注册 2006-9-23
状态 离线
『第 29 楼』:  

谢谢happybasic的关心和支持!
如果用黑色字体在屏幕底部显示 GUI 信息,可能更友好一些.
呵呵,再把拼音输入法也加上.最近有朋友开始用这个GUI开发启动光盘盘里的程序了.

to happybasic:
我一开始学的编程语言就是 Basic,呵呵.现在想起来刚学编程的情形,真的很有意思.



eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
2007-5-24 14:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 30 楼』:  

呵呵, 我也正因为是对Basic的喜爱,所以才开的happyBASIC小站,不过工作上基本上是以DJGPP/DOS or Borland C++ Builder/WIN为主了~

而Turbo C与QBasic都作为珍藏放在HD上,偶尔也用来做一些小程式~ 原来在QBasic中用过QBWIN, 一直希望出现类似于QBWIN的TC库... 你的这个库,刚好可以和QBWIN媲美了~~~

ps: QBWIN也没有任何的广告,可是也发展的很好啊~ 而Borland C/C++ 3.1的功能远比QB7强大,所以说你的这个库即使完全去掉广告,只能功能强大完全可以比QBWIN发展的更好!



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-5-24 19:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] [5] [6] [7] [8] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: