activex控件的问题....online(有请诸位高手)

kane_yj 2003-04-04 08:45:15
本人需要作一个类似于VB中画线的简单控件,在开发过程中遇到一些问题,请打下帮忙:

1.一般做的控件在容器中的编辑状态都会显示一个矩形的边框,他是怎样产生的,是那个接口的方法,怎样能改变它的形态,如在VB中的那个划线控件

2.在容器中的编辑状态(例如VB),控件只能接收WM_SETCURSOR消息,怎样使它能接受mouse消息(如果解决1,也能接受这些消息)

3.就VB的form编辑容器,他在加载控件的生命周期中(特指编辑状态),他调用控件对象接口方法的过程是怎样的?


谢谢!
...全文
34 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kane_yj 2003-04-08
  • 打赏
  • 举报
回复
up
kane_yj 2003-04-07
  • 打赏
  • 举报
回复
up
loopyifly 2003-04-07
  • 打赏
  • 举报
回复
......
fly_pig 2003-04-07
  • 打赏
  • 举报
回复
up
fly_pig 2003-04-06
  • 打赏
  • 举报
回复
up
coyer 2003-04-04
  • 打赏
  • 举报
回复
我在你另外一篇中,已经回复你。欢迎讨论。
醉马不肖 2003-04-04
  • 打赏
  • 举报
回复
1。好象不行,本质改变不了它的,window的异性窗口不都是矩形框做异性的吗?
coyer 2003-04-04
  • 打赏
  • 举报
回复
再ctrl类中,你会发现那个画矩形的函数,控件所有的绘图操作也是放在OnDraw中的,像画线,就在这里修改好了。默认的代码中,会添加一行画矩形的代码
OnDraw函数和你编写的其他程序是一样的。当普通程序看待就可以了。
kane_yj 2003-04-04
  • 打赏
  • 举报
回复
有很多我是从MSDN 的 card和ATLCLT.h中了解的
kane_yj 2003-04-04
  • 打赏
  • 举报
回复
to coyer(网中一虫):
1.你可能没明白我的意思,你说的OnDraw中那个矩形我是知道的,在编辑或者运行状态可以控制;我指的是VB中画线控件与其他控件在拖到form时是有本质不同的,其他控件是由用户选择的矩形范围制定控件大小的,而画线控件只是一条线段范围;我想知道它是怎样实现的,感觉好像是已经做到了容器里面,一般是不好控制的。

2.请注意我说的是编辑状态,就像VB的画线控件一样,在编辑状态就可以控制线段的长短,如果在运行态,mouse消息当然可以得到,但就失去了这个控件的意义。

3.我这几天一直在看这方面的书籍老潘的《com技术与应用》看了几遍,我自己跟踪了一下,大体VB form编辑容器调用一般性控件的是这样的:最先是IOleObject::SetClientSite->IViewObject::SetAdvise->IViewObjectEx::GetViewStatus->IOleObject::GetMiscStatus->IPersistStreamInit::InitNew->IOleObject::GetExtent->IOleObject::DoVerb->IOleInPlaceSite::OnInPlaceActivate->.....IOleInPlaceObject::SetObjectRects->..........->IOleObject::Close->IOleObject::SetClientSite......

当然,我所了解的还有很多不对的地方,希望大家帮忙

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧