社区
Windows SDK/API
帖子详情
问关于窗口函数能不能作为类的非静态成员的问题
hear_rain
2004-09-02 09:53:16
听说窗口函数只能是全局函数或者类的静态成员函数,不过如果窗口函数想要用到类里的成员该怎么办呢??有没有什么折中的办法?
请指教
...全文
110
6
打赏
收藏
问关于窗口函数能不能作为类的非静态成员的问题
听说窗口函数只能是全局函数或者类的静态成员函数,不过如果窗口函数想要用到类里的成员该怎么办呢??有没有什么折中的办法? 请指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hear_rain
2004-09-06
打赏
举报
回复
谢谢楼上各位
我曾经在cppfans里看到一个很复杂的例子,而且看到有人回复说在CSDN里有很简单的办法解决,但却没有找到.我想季老大的办法就是这个传说中很简单的办法了.多谢!
jishiping
2004-09-03
打赏
举报
回复
如果回调函数WinProc要用到Form里面的成员的话,那说明hwnd应该是Form的Handle或者
Form里面的控件的Handle了,此时可以用下面的VCL函数将HWND转换为VCL控件:
TWinControl* __fastcall FindControl(HWND Handle);
另外一个办法,如果你想改变控件的消息处理函数(就是你上面说的WinProc),可以使用
VCL的方法,而不采用API函数来实现。使用VCL的方法,消息处理函数必须是class的一个成
员函数,这样就可以满足你的要求了。每个TControl派生的控件,都有一个属性WindowProc
你只要将这个属性指向你自己的成员函数就可以了。
jiangchun_xn
2004-09-03
打赏
举报
回复
这是因为回调函数的原因,Win API回调函数参数不能传递一个类的非静态成员函数的指针
hear_rain
2004-09-02
打赏
举报
回复
就是这样的函数:
LRESULT CALLBACK WinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
可以用在SetWindowLong里
constantine
2004-09-02
打赏
举报
回复
我也不知道那个是窗口函数
eastnofail
2004-09-02
打赏
举报
回复
什么是窗口函数?
purelib.7z
纯粹SDK+thunk机器码注入封装win32窗口,简化窗口创建和事件处理。 纯
类
非
静态成员
函数作为窗口过程函数。
将
类
的
非
静态成员
函数作为函数指针传递
将
类
的
非
静态成员
函数作为函数指针传递
回调函数中如何调用
类
中的
非
静态成员
变量或
非
静态成员
函数
申明:本文
非
笔者原创,原文转载自:http://blog.csdn.net/bzhxuexi/article/details/19831667 【
问
题
1】如何在
类
中...静态函数只能访
问
类
的
静态成员
,
不能
访
问
类
中
非
静态成员
。 【
问
题
2】如何让静态函数
用
静态成员
函数调用
非
静态成员
变量
但是这个时候就
不能
去访
问
非
静态成员
变量了,这里找到一个很好的解决办法: 先上代码: 1.线程函数的定义: private: int Count_time; CTime C_time; bool GetQuestion(); int mark;//考试分值,五个题目,一个...
C++
静态成员
函数 静态线程函数
非
静态成员
函数
一、静态线程函数与
类
的
非
静态函数 ...但是这个时候就
不能
去访
问
非
静态成员
变量了,这里找到一个很好的解决办法: 先上代码: 1.线程函数的定义: private: int Count_time; CTime C_time; bool GetQuestion(...
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章