对界面有困惑的新手都看过来

gz_qmc 2020-01-05 05:03:58
我就是非常喜欢装逼的自绘狂人,今天无聊来跟大家交流一下思想

一、界面其实只是整个工程或软件中比重极其小的一部分工作,而主要工作是图片处理
所以,PHOTOSHOP的简单使用还是要会的,当然。美工基础不好的,也不要紧。
平时多收集点各种素材的图片也是可以解决大问题的。

二、虽然界面比重很小,但我非常理解新手们对一个好界面的向往。所以,要把学习重
心离开界面,其实最有效果的方法就是进快掌握并熟练。

三、Windows框架下,我们对MFC的依赖其实还是内心的恐惧。而这种自卑的根源是
还没有用数据结构去思考问题。不断奶就长不大。所以,我建议我们对界面有点小
追求的朋友应该给自己一个自绘的思考机会

四、 MFC的框架,其实好就好在这个CWnd。再往下就是五花八门的应用了。比如
CButton或者CStatic或者CEdit,就是微软对CWnd的应用。而如果你认为你自己的
应用不如别人的好,而非要嫁接在别人的应用上,其实最后就是个痛苦的轮回。
就如同在别人的草稿纸上写文章一样,最后把自己搞乱。关键是你最后会认为文章
写不好是你自己的水平问题,而不会去怀疑别人草稿上的痕迹影响了你的表达。

五、说完这些装逼的话,下面就来点实惠的。这一次呢我教大家从CWnd直接做控件。
...全文
2069 3 收藏 61
写回复
61 条回复
ooolinux 01月18日
个人觉得SDK纯API方式编写Windows程序已经过时了,效率太低,了解一下原理就可以了,主要是消息机制。 图形用户界面(GUI)编程可以学习C++ Builder,架构先进(和C#一样拖控件),入门比较容易。   C++ Builder是真正的可视化的开发工具。C++ Builder可以用鼠标拖拉控件加上设置属性轻松的“设计”出一个程序的图形用户界面,利用可视的组件/控件像“搭积木”一样,以“所见即所得”的方式搭建应用程序的界面,这也是C++ Builder这个名字中Builder的概念。这样,只需要用C++语言编写业务逻辑代码,类似于DOS下文本界面编程,只要专注于实现业务逻辑功能就可以了,代码非常简洁。数据的输入和表现,都在图形用户界面,非常直观、易用。这就是RAD开发(Rapid Application Development,快速应用程序开发)。 书籍推荐: 《C++Builder 6程序设计教程(第二版)》 (陆卫忠,刘文亮 等编著 /2011-04-01 /科学出版社)(当当网) 《C++Builder 6编程实例精解》(赵明现),PDF,是数字版的,非扫描版的,里面还有一个俄罗斯方块游戏的完整实现。 《精彩C++Builder 6程序设计》(台湾 吴逸贤),里面有10几个简单小游戏的实现,可以自己看懂以后再重写,才是自己掌握的。 《C++ Builder 5高级编程实例精解》(刘滨 编著)都是较大的实用的程序。 C++ Builder 6.0几个示例程序项目源代码下载: C++ Builder第一个程序(模拟聊天室)v1.11 C++ Builder模拟数字双时钟示例(未完成)v0.2.1 C++ Builder纸牌游戏Demo v0.03 C++ Builder不规则图像透明贴图(位图的透明显示)三种方法及简单动画v1.3 C++ Builder写的《ZEC 四则运算练习程序》 海底海星情景v0.9.2 C++ Builder简单电话簿Demo例子v1.11
回复 点赞
gz_qmc 01月03日
下不了的发邮件给我, gz_qmc@126.com
有空我给你们发
回复 点赞
短暂幻影 2020年12月31日
小白路过,看了大佬的话,很有道理啊,但是你这个下载不了啊,没币就很难受啊
回复 点赞
gz_qmc 2020年01月18日
引用 47 楼 weixin_44346860 的回复:
希望出WIN32 API做的界面教程,DIRECT2D 等等,没有任何包装的


这个更简单,完全自定义数据结构
自定义一个矩形做窗口
直接应用主窗口的DC画图就可以
http:////download.csdn.net/download/gz_qmc/12109956

希望你通过这个例子能够想明白了原理
然后直接分一块内存做DC
画好的图直接把颜色数据COPY到主窗口上(用这个SetDIBitsToDevice)
那就基本掌握了通理
这样的窗口每一个点都完全控制在自己手里
更加的无所不能

回复 点赞
gz_qmc 2020年01月17日
喜欢的抓紧下
我明明设置的是0分下载
怎么转眼就好多分了????????????????????
回复 点赞
gz_qmc 2020年01月17日
这个案例说明跟着CButton走的人
到底拐了多少弯路
同时戳破MFC做界面难的谎言
封装一个自己的控件只需要业余的一点点时间
非要说应用要浪费大量时间
我还真不知道应用的时候还需要另外花时间去弄代码
明明是自己南辕北辙
非要让MFC背锅


下面继续编辑框案例,
简单的做了个十六进制输入框
让跟着CEdit走的人也艹一下
http:////download.csdn.net/download/gz_qmc/12087784
回复 点赞
一彤 2020年01月16日
引用 16 楼 gz_qmc 的回复:
[quote=引用 14 楼 一彤 的回复:] 在控件里面直接定义定时器,在控件类里面刷新是不是更骚。大神求带
看懂了基础的范例,这些都是小事情,就是你去理解"按钮"的时候,越简单越好 因为其他的效果都和"按钮"没有关系了。一旦关系撇清楚 ,想加什么就加什么 下面教你加定时器,其实就是一个线程 第一步:手动在头文件类的定义前面加一个函数定义(注意,不是类的成员函数) void WINAPI Timer100ms(LPVOID lpParam); 第二步:手动在CPP文件里增加实现代码(注意,不是类的成员函数) void WINAPI Timer100ms(LPVOID lpParam) { CMyButton *x=(CMyButton *)lpParam; while(1) { x->OnFlash(); Sleep(100); } } 第三步:给类增加两个私有变量 DWORD ID001; HANDLE TH001; 第四步:在类的构造函数最尾部调用线程 TH001=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Timer100ms,LPVOID(this),0,&ID001); 这回你删去主对话框的计时器及其调用,控件本身能自己骚了 定时的时间就是Sleep里的数据,以毫秒为单位 [/quote] 够骚,确实喜欢
回复 点赞
xiguayihao 2020年01月13日
回复 点赞
草梗 2020年01月11日
回复 点赞
a136721438 2020年01月11日
回复 点赞
Rockismej 2020年01月10日
这个逼王,我还是比较佩服的,自绘这块确实很牛,前几年见识过很多力作!
回复 点赞
qingsong0326 2020年01月10日
积分害死人啊
回复 点赞
weixin_41172740 2020年01月10日
回复 点赞
翅膀又硬了 2020年01月09日
能不能贴几张图呀,懒得下载看
回复 点赞
xuezhirong1987 2020年01月09日
学习了,非常有帮助
回复 点赞
「已注销」 2020年01月09日
网:我都告诉你了我就
回复 点赞
sichuanwww 2020年01月09日
回复 点赞
_…_ 2020年01月09日
厉害了!好好学习!!
回复 点赞
weixin_44346860 2020年01月09日
希望出WIN32 API做的界面教程,DIRECT2D 等等,没有任何包装的
回复 点赞
许文君 2020年01月08日
引用 27 楼 sdghchj 的回复:
[quote=引用 13 楼 许文君 的回复:] [quote=引用 12 楼 gz_qmc 的回复:] [quote=引用 6 楼 许文君 的回复:] 仁兄还在自己干么
是的,自由 今年项目太少,100万都不到,明年要勒紧皮带过了[/quote] 有没有能合作的地方,我搞地理信息的,地图遥感导航什么的,今年几万都没干到,快饿死了。[/quote] 我专业也是那个,感觉一个破专业,早几年放弃了那个方向。[/quote] 我是回不了头了,近十年都是干这一行,以前在北京的时候还行,这方向的项目总多多少少有些,一回到老家就坑了,地方上没关系根本拿不到项目,哥们你要有导师同学有项目的一块合作合作。
回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7972

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告