最近作一个项目,用.net包原有的vb功能,通过引用dll调用,但是无法将vb非模式窗体show出来,所以我们在vb的dll中使用了API函数将其显示在.net窗体上。但是问题出来了,有一个vb窗体上有个RichText控件,现在无法使用回车换行、无法支持五笔输入法,Ctrl+C,Ctrl+V失效以及其他问题。
我们怀疑是否这些触发了什么windows消息,然后被.net背后的窗体或者.net框架底层捕获走了,哪位高人是否遇到过这种问题,万请相告解决,高分相送。
我们怀疑是否这些触发了什么windows消息,然后被.net背后的窗体或者.net框架底层捕获走了,哪位高人是否遇到过这种问题,万请相告解决,高分相送。
解决方案 »
- 【求助】类与类之间数据调用
- wince 智能设备 datagrid
- 求计算平均价的SQL语句
- HtmlPage.Window.Navigate打开指定页面
- dataGridView_SelectionChanged事件中如何返回我选择了dataGridView表中第几行??
- C# 中如何使用 safearray 安全数组
- 求助---C#调用VB6.0下做的控件时的数据转换怎么这么困难啊
- 原创控件,多栏表格。望大家支持
- 大神们,求助啊
- 如何阻止.net自动回收我new的对象
- 如何把c#2003项目加密,解决方案加密,或窗口等子项加密?及时雨在那里?
- 有高手能告诉我纯XML数据库的时间并发性怎么解决吗?
果然是.net的消息机制的问题,.net的消息机制和vb的传统消息机制不一样
当模式方式显示的时候采用的传统消息机制,没有问题
非模式的时候,.net的消息机制会接管上面的vb窗体上的消息,当然这个控件也有缺陷,在这种情况下这些操作的消息被.net底层消息机制截获后,它认为这个控件不需要这个消息了,没有传递给这些控件,所以出问题了
我们用钩子函数解决此问题,补发消息给控件
因这两天用vba搞cad.