windows开发记事本程序纪实(一)界面
序
毕业后开始学习windows UI编程,工作中总是会处理一些API,但从来没有做过完整的接口程序。因此,我计划利用业余时间做一个小项目来总结我所学到的东西。在网上,很多人建议自己写完整的项目可以快速提高,所以他们计划从模仿windows的记事本开始,真正实现一个基本的windows界面程序。考虑到写一个完整的windows Notepad程序需要大量的工作,计划记录每个阶段的成果,可以帮助大家总结复习所学的知识,也可以和其他网友一起讨论,让大家在讨论中共同进步。
本节描述了
如本文标题所示,本部分主要实现记事本的主界面设计,包括主界面窗口的构建和菜单的添加。虽然都是基本操作,但我们还是要完整记录这些基本步骤,以备后续验证。本文的开发环境为:系统为win 7 64位,IED为VS2008。好了,废话不多说,就开始流程介绍:
1.新的win32项目
本文通过windows API实现了一个简单的记事本程序,因此在创建项目时选择了windows应用,如图1所示。同时,为了方便起见,选择从一个空的项目开始,并在后续过程中添加任何资源。
图1新的win32空项目
2.构建主界面
当您打开窗口附带的记事本程序时,您可以看到整个窗口是一个带有菜单和编辑控件的对话框。因此,为了方便本文,整个程序的主界面直接由Dialog Box构建。具体方法如下图2所示:资源文件-添加-资源… :
图2创建一个新的对话资源
图2中的资源窗口打开后,选择对话框资源并添加它。此时,会出现一个系统默认对话框,如图3所示:
图3系统默认对话框
此时,您需要将视图切换到资源视图进行操作。首先,重命名对话框。一个有意义的变量名使程序更易读,更易于以后维护。因此,对话框资源名称被更改为IDD_MAIN。同时,记事本中没有“确定”和“取消”按钮,所以直接在对话框中选择和删除。效果如图4所示:
图4主界面对话框中重命名和删除冗余按钮的效果
3.构建菜单
构建菜单时,第一步与构建主界面相同。在图2的资源添加中选择菜单并选择新建。默认情况下,新菜单资源名为IDR_MENU1。它也被重命名为IDR_MENU。稍后将填写菜单项。这里主要是根据windows记事本中对应的文字填写的。主要有两个小细节需要注意:
3.1字母快捷方式
在windows记事本中,可以用快捷键调出相应的菜单项(例如打开记事本后,可以用alt F打开文件选项,如图5所示)。
图5窗口菜单快捷键
这里的做法其实很简单,就是在对应的字母前加上,比如“file (f)”填充为“file (f)”,这样默认就可以打开快捷键了。“文件”选项下的“打开”和“保存”等快捷键设置也会添加到相应的字母之前。
3.1建立下拉分界线
在如图5所示的文件下拉菜单中,可以看到划分“另存为”和“页面设置”的分界线。那么如何生成这条分界线其实很简单。右键点击对应的菜单项,选择“插入分隔符”,如图6所示(因为我机器上的VS2008是英文的,如英文版的菜单项所示,中文VS应该在同一个地方找到“插入样式行”的选项):
图6添加菜单选项分割线
4.调出主界面
在主程序中,目前只是为了显示当前界面的效果,所以IDD_MAIN。代码直接用DialogBox显示,如下所示:
/* * * *日期: 2014-8-29 233:22:37 *博客: http://www.cnblogs.com/lhglihuagang/*/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *包含windows . h # include ' resource . h '/IDD _ MAIN定义位置int winapi winmain(_ in hInstance,_ _ in _ opt hinstance hprevinstance,__in_opt LPSTR lpCmdLine,返回EXIT _ SUCCESS}由于Dialog中的window procedure函数直接设置为NULL,并且由于此窗口打开后无法通过关闭按钮关闭(可以通过资源管理器关闭),当前效果如下图7所示:
图7错误输出?
从上面的图7可以看出,它只是一个空白窗口。好的菜单选项呢?max-min按钮呢?窗口大小还是不变?这里还有一个注意事项:在创建和编辑新的菜单资源后,该资源只存在于项目文件中,不会添加到任何窗口中。因此,我们需要向IDD_MAIN窗口添加菜单资源。同时,新创建的对话框窗口默认没有最大和最小按钮,需要在IDD_MAIN的属性中进行调整。具体操作如下:
4.1添加菜单、最大化和最小化按钮
从IDD_MAIN的“属性”菜单中选择“IDR _ Menu”,并将最小化框和最大最小化框都设置为真。具体操作如下图8所示:
图8添加菜单、最大和最小按钮
4.2窗口大小可以调整
在IDD_MAIN的“属性”中选择“调整大小”,即将Boader的属性设置为可调,如下图9所示:
图9对话框大小可变
界面效应
添加菜单、最大和最小按钮,修改边框调整属性后,整个程序运行后的主界面如图10所示:
图10程序UI效果
结论
虽然真正的逻辑功能还没有开发出来,但是为了实现这个接口已经研究了一段时间。即使是这么简单的界面展示程序其实也能学到一些小知识点:
1.菜单字母快捷键(添加在字母前面)
2.菜单下拉分割线(右击选择添加分割线)
3.新创建的菜单资源需要添加到窗口中才能显示(在IDD_MAIN属性的菜单中选择IDR_MENU)
解释
这将是一系列的博文,将继续补充逻辑功能的开发步骤。希望与更多博主交流。
如果你觉得这篇文章还可以,请喜欢,哈哈~ ~
免责声明:如无说明,本文为原年糕。注:转载时必须保留全文。如有必要,请联系作者。
版权声明:windows开发记事本程序纪实(一)界面是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。