VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 131|回复: 11

为什么易语言有很多模块的分享,是用C++的程序员比较没有分享精神吗?

[复制链接]
63_avatar_middle
最佳答案
1 
donate_vip 发表于 2020-3-21 13:52:06 | 显示全部楼层 |阅读模式
@VC驿站站长Syc

老师有个疑问,易语言有非常方便的易模块,集中了如 窗口方面、内存方面的各种函数集合,如下图:


问题1:C++中有没有类似易语言的模块的分享的社区或者网站?
请问 C++ 有没有类似的,将集合了能实现各种功能的,自定义的函数的类文件,分享网站或者论坛?
特别是有中文的C++分享社区。



如:在易语言中的  窗口_置位置和大小

  1. .版本 2

  2. .子程序 窗口_置位置和大小, 逻辑型, 公开, 修改窗口的位置和大小
  3. .参数 窗口句柄, 整数型, , 欲改变位置和大小的窗口句柄
  4. .参数 左边位置, 整数型, 可空, 窗口新的左边位置,留空不变;
  5. .参数 顶边位置, 整数型, 可空, 窗口新的顶边位置,留空不变;
  6. .参数 新宽度, 整数型, 可空, 窗口的新宽度,留空不变;
  7. .参数 新高度, 整数型, 可空, 窗口的新高度,留空不变;
  8. .局部变量 位置大小, 精易_矩形

  9. GetWindowRect (窗口句柄, 位置大小)
  10. .如果真 (是否为空 (左边位置))
  11.     左边位置 = 位置大小.左边
  12. .如果真结束
  13. .如果真 (是否为空 (顶边位置))
  14.     顶边位置 = 位置大小.顶边
  15. .如果真结束
  16. .如果真 (是否为空 (新宽度))
  17.     新宽度 = 位置大小.右边 - 位置大小.左边
  18. .如果真结束
  19. .如果真 (是否为空 (新高度))
  20.     新高度 = 位置大小.底边 - 位置大小.顶边
  21. .如果真结束
  22. 返回 (MoveWindow (窗口句柄, 左边位置, 顶边位置, 新宽度, 新高度, 真))
复制代码


问题2:在C++ 中如何  判断是 NULL 还是  数字 0?
但是,在C++ 中没有  判断是 NULL 还是  数字 0的方法
如下的代码,当要将窗口 移动到 0,0 位置时,是无法实现的,窗口还是在原地
只要是非0就可以实现。




  1. BOOL Win_SetPosSize(HWND hwd, int left=NULL, int top=NULL, int newWidth = NULL, int newHight = NULL)
  2. {

  3.         RECT rect;
  4.         GetWindowRect(hwd, &rect);

  5.         if (left==NULL)
  6.         {
  7.                 left = rect.left;

  8.         }
  9.         if (top== NULL)
  10.         {
  11.                 top = rect.top;

  12.         }
  13.         if (newWidth == NULL)
  14.         {
  15.                 newWidth =rect.right - rect.left;

  16.         }
  17.         if (newHight == NULL)
  18.         {
  19.                 newHight = rect.bottom - rect.top;

  20.         }


  21.         return MoveWindow(hwd, left, top, newWidth, newHight, TRUE);

  22. }
复制代码










上一篇:CString[] 自定义数组如何求数组长度
下一篇:为什么要用 FindWindowExA 才获取到 正确的窗口句柄?原理是什么?
85_avatar_middle
最佳答案
2 
在线会员 发表于 2020-3-21 14:07:33 | 显示全部楼层
我也是 易语转C  没转C++.   一样有很多. 易语叫模块,C语言叫库   基本的C库什么的相当于易语系统函数
85_avatar_middle
最佳答案
2 
在线会员 发表于 2020-3-21 14:10:48 | 显示全部楼层
窗口库就很多了    MFC QT什么的就是很大的窗口库    太大了还花不少时间去学那些封装  
但是这些封装很成熟 值得学习
58_avatar_middle
最佳答案
26 
online_vip 发表于 2020-3-21 14:20:36 | 显示全部楼层
https://www.cctry.com/thread-298851-1-1.html
https://www.cctry.com/thread-299039-1-1.html

Visual C++开发实例大全 基础班 提高班,这几本书,几千个实例,还有参考。

为什么易语言有很多模块的分享,是用C++的程序员比较没有分享精神吗? MFC类库详解.chm (1.5 MB, 下载次数: 5)
63_avatar_middle
最佳答案
1 
ico_lz  楼主| 发表于 2020-3-21 14:39:41 | 显示全部楼层
thzzl 发表于 2020-3-21 14:20
https://www.cctry.com/thread-298851-1-1.html
https://www.cctry.com/thread-299039-1-1.html

感谢您的分享,API函数很齐全,但是,我想表达的是,其实易语言的模块里也是基于windowsAPI函数的基础上实现的各种功能,如本帖所说的易语言中的 窗口_置窗口位置大小    ,我们在 C++ 中就需要自己重新实现。
我的意思是说,国内是否也有这样的论坛,可以直接分享 C++的自定义API函数集合,也就是集合了程序员各自优化的重新编写的自定义函数?
08_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-21 15:01:42 | 显示全部楼层
thzzl 发表于 2020-3-21 14:20
https://www.cctry.com/thread-298851-1-1.html
https://www.cctry.com/thread-299039-1-1.html

他问的不是GUI界面。问的是 有没有把一些操作封装起来。比如 用到十几个API 封装成 一个函数 叫做 XXX实现一个功能。。。。
08_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-21 15:06:31 | 显示全部楼层
问题1:C++中有没有类似易语言的模块的分享的社区或者网站?
这个论坛就是专门聊C++的。不仅是MFC。还有其他一些内容。
gitbuh上面又很多源码。你也可以访问下。

问题2:在C++ 中如何  判断是 NULL 还是  数字 0?
  1. /* Define NULL pointer value */
  2. #ifndef NULL
  3. #ifdef __cplusplus
  4. #define NULL    0
  5. #else  /* __cplusplus */
  6. #define NULL    ((void *)0)
  7. #endif  /* __cplusplus */
  8. #endif  /* NULL */
复制代码

https://blog.csdn.net/u013266600 ... _relevant.none-task
58_avatar_middle
最佳答案
26 
online_vip 发表于 2020-3-21 15:29:05 | 显示全部楼层
safeboy 发表于 2020-3-21 14:39
感谢您的分享,API函数很齐全,但是,我想表达的是,其实易语言的模块里也是基于windowsAPI函数的基础上实 ...


MoveWindow 这个API,可以移动窗口,改变窗口大小。
86_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-21 15:30:18 | 显示全部楼层
不是有com  网上蛮多的
58_avatar_middle
最佳答案
26 
online_vip 发表于 2020-3-21 15:31:17 | 显示全部楼层
SummerGull 发表于 2020-3-21 15:06
问题1:C++中有没有类似易语言的模块的分享的社区或者网站?
这个论坛就是专门聊C++的。不仅是MFC。还有其 ...

易语言好像大部分模块,都只是API的直译,比较好的模块并不多吧?
08_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-21 15:48:05 | 显示全部楼层
thzzl 发表于 2020-3-21 15:31
易语言好像大部分模块,都只是API的直译,比较好的模块并不多吧?

是啊。几乎写易语言模块的 都是用API。
你可以参考他们写的模块 不管是 super 还是 精益模块 我看了下源码 都是API直接写的。要么就是核心命令。几乎不用第三方任何支持库 更加不会模块包装模块。
75_avatar_middle
最佳答案
13 
online_supermod 发表于 2020-3-21 22:17:37 | 显示全部楼层
C++的模块  我不太清楚 但是一般我们拿到一个祖传代码  自己阅读以下 直接把类文件加进去就行了 或者调用别人的DLL   我不懂易语言,但是C++的可能会简单些吧 我只懂点C++   我说的基于我自己的理解
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-4-9 21:31

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表