看图学习用D语言编写win32 GUI程序
2007-10-26 20:24
507 查看
这篇文章给大家讲述如何用D语言写win32 GUI程序,读过的请评论。
write by DKink|棼紫
QQ:8566427
如果有还不会配置D语言编程环境的朋友请看我的前一篇文章《看图配置D语言集成开发环境》 http://blog.csdn.net/dkink/archive/2007/10/24/1841907.aspx 记得给我评论。
在D语言的老家里有这篇文章 http://www.digitalmars.com/d/windows.html 就是讲 win32 GUI 开发的。英文好的看这个,其实很简单的,我以前英文很少及格的都能看懂。
在C/C++ 中 要包含
#include <windows.h>
在D语言中换成了
import std.c.windows.windows;
在配好的Poseidon中建立如下图的工程。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/Screenshot - 2007-10-26 , 下午 06_56_51.png)
注意“项目路径”必须是已经存在的目录,再次强调。
在main.d里面写如下代码:
点击“生成并运行”,结果出来了。晕,怎么还有console控制台在?
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/ddd.png)
进“项目属性”的编译器 的 编译器选项 ,“不显示控制台窗口”那项勾上。完成~
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/wanch.png)
英文文章上说了下面这段文字
意思是必须有个 *.def 文件里面写了
EXETYPE NT
SUBSYSTEM WINDOWS
这两行然后编译的时候加上就能去掉控制台。
我们用这种方法,首先在“项目属性”的“编译器选项”里面把“不显示控制台窗口”前面的勾去掉。
进入项目目录里建一个叫 main.def 文件,把那两行 写进去记得用另存为 存成UTF8的纯文本,记得是UTF8。如果编译的时候总是出错,就把D:/dmd/samples/d/winsamp.def 复制过来改名成main.def。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/maindef.png)
回到“项目属性”的“编译器选项里”在额外选项里面填上 main.def 如下图:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/rrr.png)
还接着 “生成并执行” 完成,看到输出 里面显示的东西没?那个就是控制台命令。
如果 我们 没有IDE环境的话 就要 输入 下图这样 命令 来编译程序。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/cc.png)
下篇文章教大家写一个更复杂的Win32 GUI 程序。看过记得写评论。
write by DKink|棼紫
QQ:8566427
如果有还不会配置D语言编程环境的朋友请看我的前一篇文章《看图配置D语言集成开发环境》 http://blog.csdn.net/dkink/archive/2007/10/24/1841907.aspx 记得给我评论。
在D语言的老家里有这篇文章 http://www.digitalmars.com/d/windows.html 就是讲 win32 GUI 开发的。英文好的看这个,其实很简单的,我以前英文很少及格的都能看懂。
在C/C++ 中 要包含
#include <windows.h>
在D语言中换成了
import std.c.windows.windows;
在配好的Poseidon中建立如下图的工程。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/Screenshot - 2007-10-26 , 下午 06_56_51.png)
注意“项目路径”必须是已经存在的目录,再次强调。
在main.d里面写如下代码:
import std.c.windows.windows; extern (C) void gc_init(); extern (C) void gc_term(); extern (C) void _minit(); extern (C) void _moduleCtor(); extern (C) void _moduleDtor(); extern (C) void _moduleUnitTests(); extern (Windows) int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { int result; gc_init(); // initialize garbage collector _minit(); // initialize module constructor table try { _moduleCtor(); // call module constructors _moduleUnitTests(); // run unit tests (optional) result = myWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow); _moduleDtor(); // call module destructors } catch (Object o) // catch any uncaught exceptions { MessageBoxA(null, cast(char *)o.toString(), "Error", MB_OK | MB_ICONEXCLAMATION); result = 0; // failed } gc_term(); // run finalizers; terminate garbage collector return result; } int myWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { /* ... insert user code here ... */ MessageBoxA(null, "HelloWorld", "MSG",MB_OK | MB_ICONEXCLAMATION); //就这行是我写的,其他都是英文说明上的 return 1; } |
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/ddd.png)
进“项目属性”的编译器 的 编译器选项 ,“不显示控制台窗口”那项勾上。完成~
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/wanch.png)
英文文章上说了下面这段文字
A .def (Module Definition File) with at least the following two lines in it: EXETYPE NT SUBSYSTEM WINDOWS Without those, Win32 will open a text console window whenever the application is run. |
EXETYPE NT
SUBSYSTEM WINDOWS
这两行然后编译的时候加上就能去掉控制台。
我们用这种方法,首先在“项目属性”的“编译器选项”里面把“不显示控制台窗口”前面的勾去掉。
进入项目目录里建一个叫 main.def 文件,把那两行 写进去记得用另存为 存成UTF8的纯文本,记得是UTF8。如果编译的时候总是出错,就把D:/dmd/samples/d/winsamp.def 复制过来改名成main.def。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/maindef.png)
回到“项目属性”的“编译器选项里”在额外选项里面填上 main.def 如下图:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/rrr.png)
还接着 “生成并执行” 完成,看到输出 里面显示的东西没?那个就是控制台命令。
如果 我们 没有IDE环境的话 就要 输入 下图这样 命令 来编译程序。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/dkink/cc.png)
下篇文章教大家写一个更复杂的Win32 GUI 程序。看过记得写评论。
相关文章推荐
- 看图学习用D语言编写包含资源的win32 GUI程序
- 一个使用Win32SDK编写Windows GUI程序的教程: "theForger's Win32 API Tutorial"
- [汇编语言学习笔记][第四章第一个程序的编写]
- 学习Windows Mobile开发系列笔记(win32基本程序框架)
- [初学Python]学习如何编写GUI界面(初级)
- 用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序
- C语言编写GUI程序
- 【Rebol 学习笔记】第一篇:编写一个简单的 CGI 程序
- 第一章 为什么要学习编写程序?
- 在Qt调用OpenCV库编写GUI程序
- 学习WinxGui - WTL消息转换程序
- python编写一个计算小程序-学习笔记8
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?
- ARM 汇编学习——编写简单的ARM汇编程序
- linux c 简单的ls程序编写 学习笔记
- ASP.NET 3.5核心编程学习笔记(43):HTTP处理程序的编写之图片查看器
- error:2014-03-11周二:在编写win32程序时依旧使用控制台程序。
- 学习 VS6.0 Win32 Application 创建服务程序解决实际项目问题之:SERVICE_STATUS
- 关于PE病毒编写的学习(六)——关于PE文件结构操作的程序编写
- 汇编学习--7.10--程序编写