界面和程序的关系————刚学VC,一直困扰的一个说不太清的有关问题

界面和程序的关系————刚学VC,一直困扰的一个说不太清的问题
这方面感到特迷茫:
Window程序界面是是编译时生成的还是运行时生成的?通过SDK创建窗口类、注册窗口类、生成显示窗口类像是运行生成的,但通过编辑对话框资源文件却又像编译时就生成好了。
在VC里设计对话框等资源文件,编译时怎么处理的,运行时又是怎么生成的?
VC里用资源号ID就可以确定资源是怎么处理的,资源文件被编译到可执行文件里了吗?

还有一个最重要的问题就是怎样随心所欲生成所要的界面,通过一大堆代码来生成界面太痛苦了。

------解决方案--------------------
在下所学不深,但是也冒昧的对楼主问题发表下粗浅的看法,供楼主参考。


个人认为,窗口类在SDK这个层面上,是程序的核心,开始的部分,先完成创建与注册之类这些操作。

至于对话框与菜单等资源类,是编译时会进行处理的,和窗口确实有所不同。 

关于资源在编译时的处理,以及编译之后资源在exe中的分布,楼主可以看下Win32汇编方面的文档,关于PE结构就是说这个的。
 
至于快速的生成界面,VC做这个不是十分的适合,Delphi或VB做界面还是比较快和省事的,楼主可以考虑用VB或Delphi调用VC做的dll,这样可以比较充分的发挥各自的优势。
------解决方案--------------------


我也没学多久VC,我觉得界面当然是运行时生成的了,通过SDK通过编程生成.exe文件,exe文件内部的机器码是编译生成的,编辑对话框资源文件可以看到对话框等东西,最后还要编译到exe文件吧。

资源文件是包含在exe文件里,因为你可以在其他机器上看到同样的东西,运行时候就是机器内部码了。。不了解具体内容

资源string table里面有ID号对应的值

学习VC就应该按着它的要求做啊。。不然人人都随心所欲的话也不好统一标准和学习啊
------解决方案--------------------
界面是运行时生成的。编辑资源是“可视化”程序设计,便于开发,但实际运行时创建的界面不一定与编辑资源时相同。项目中的资源会被编译、连接到可执行文件里面,程序运行时从文件中取出资源,根据资源中的信息来创建相应的控件。
------解决方案--------------------
资源就是一种方便你开发的手段,
实际上这个世界本来没有界面的,在显示器上显示字符,显示多了,也就出来界面了。

都是画上去的了,界面只能是运行期画出来啊,
就是在编译期,只不过是用一些手段,说明了到时候怎么画,

你比如说Java的Swing,很多时候都是靠代码堆界面。也看不到什么资源文件,也很少有UI的编辑器。

------解决方案--------------------
另外一点,真正漂亮的界面都是代码堆出来的,靠脱脱拽拽控件,永远就只能做点中规中矩的事情。
------解决方案--------------------
个人觉得可视化设计的时候只是将参数提供给vc,编译运行的时候根据你可视化设计的结果创建界面,并嵌入相应的资源(图标等).........
------解决方案--------------------
所有界面都是运行的时候生成 的,在资源里编辑的界面,只是IDE显示给你看,以方便你编译的,实际保存的内容是一个描述你所编辑界面的文本文件,这个文本文件保存在生成的二进制文件中,以运行的时候读出来再生成真正的界面
------解决方案--------------------
漂亮的界面都是界面都是自己写出来的,VC本身的界面控件只是考虑功能的实现并不注重美观。
------解决方案--------------------
 
Window程序界面是是编译时生成的还是运行时生成的?

运行时生成

 
在VC里设计对话框等资源文件,编译时怎么处理的,运行时又是怎么生成的? 

可以用记事本打开资源文件,后缀时.rc

VC里用资源号ID就可以确定资源是怎么处理的,资源文件被编译到可执行文件里了吗? 

可以看resource.h文件

还有一个最重要的问题就是怎样随心所欲生成所要的界面,通过一大堆代码来生成界面太痛苦了。

没有好的方法。
------解决方案--------------------
探讨
很高兴这么多人参与,都给我一定启示。看来分给少了。

6楼: 另外一点,真正漂亮的界面都是代码堆出来的,靠脱脱拽拽控件,永远就只能做点中规中矩的事情。
如果是这样的话,解除我我的一个大迷惑。

欢迎再发表自己的看法!

------解决方案--------------------
你可以参考下<MFC深入浅出>中关于可执行文件是如何生成的,首先将每个代码文件*.cs编译成目标文件*.obj,然后链接器把若干个*.obj与rc文件链接在起来,产生exe文件.所以窗体的资源信息在链接那一步加入到程序中.
------解决方案--------------------
在资源文件rc中每个资源前总有一个标识符,有时可能还有Begin 与end,其结构有点复杂,你可以参考如下网址:
http://tech.ccidnet.com/art/1077/20050225/216051_1.html
希望对你有用.
------解决方案--------------------
界面就是相当于把代码IDE