CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  控件与界面

关于OCX控件界面的2个问题(奉送50分)

楼主goodthingxu(白开心帅)2000-12-08 12:37:00 在 PowerBuilder / 控件与界面 提问

1。如何控制自己定义的OCX控件大小?  
  2。如何在控件表面上在指定位置显示特定的信息? 问题点数:50、回复次数:18Top

1 楼Hidy(Hidy)回复于 2000-12-08 14:06:00 得分 0

1.在   OnSize   里改变尺寸,或在   Pre???Window   里指定不行吗?  
  2.在   OnDraw   里用   TextOut   呗Top

2 楼goodthingxu(白开心帅)回复于 2000-12-08 14:19:00 得分 0

能具体点吗?最好给些代码。  
  我在ONDRAW中无法控制其界面大小,而且控件中显示的信息位置在VB与VC中调用时是不一样的,  
  我估计是坐标系统问题。Top

3 楼goodthingxu(白开心帅)回复于 2000-12-08 18:28:00 得分 0

没人会吗???Top

4 楼zhuoran(卓然)回复于 2000-12-08 20:08:00 得分 10

你用的是什么容器,是不是IE。  
  OCX控件在创建窗口时是用的CreateControlWindow方法,在OnCreateClient中调用。这时候可以指定窗口大小,但不是要你直接重载。具体方法你答复后再说,我指的是MFC环境,不是ATL.Top

5 楼oldsunrain()回复于 2000-12-08 21:23:00 得分 20

1、对第一个问题:  
   
  这可是我的sunrain   activex   中的源码!  
   
  在OnDraw()里加入:  
  ///////////////////////////////////////以下代码将是控件的尺寸总是24*24  
  int   pcx;  
  int   pcy;  
   
  GetControlSize(   &pcx,   &pcy   );  
  if(pcx!=24||pcy!=24)  
  {  
    SetControlSize(24,24);  
  }  
  //////////////////////////////////////  
   
  根本不用理会OnSize(),你改变控件大小的时候必然会自动触发OnDraw().  
   
  对第二个问题:  
  你要显示什么?图?字?Top

6 楼goodthingxu(白开心帅)回复于 2000-12-11 10:06:00 得分 0

to   oldsunrain:  
              我想在固化的控件界面中显示特定的图标和相应的文字说明,需要指定位置。  
  不知该如何写才好?  
  Top

7 楼goodthingxu(白开心帅)回复于 2000-12-12 09:32:00 得分 0

难道没人作过吗???Top

8 楼loutingyv(打倒轮子)回复于 2000-12-12 20:33:00 得分 20

1.固定尺寸  
   
  BOOL   CmyCtrl::OnSetExtent(   LPSIZEL   lpSizeL   )  
  {  
  SIZEL   sizeL;  
   
  CDC   cdc;  
        cdc.CreateCompatibleDC(   NULL   );  
        CSize   size(   200,   200   );  
  cdc.DPtoHIMETRIC(   &size   );  
        sizeL.cx   =   size.cx;  
        sizeL.cy   =   size.cy;  
   
        //   Call   the   parent   implementation  
        return   COleControl::OnSetExtent(   &sizeL   );  
  }  
  2.  
  textout   (x,y,...)  
  or   drawtext(..)  
   
  记着给分。  
   
  Top

9 楼goodthingxu(白开心帅)回复于 2000-12-13 10:40:00 得分 0

to   loutingyv:  
            初显控件大小能控制,但如何使其边框不能改变呢?而且在VB中(VC中OK)初现时显示的内容位置没能按设想的显示,这个textout   (x,y,...)的X,Y位置好象是以主边框左上为基点的,如何让XY是以控件左上点为基点来显示呢?应该是坐标参考点的问题。可我不知如何来定位。你能帮我吗?  
  分数我一定会给的。  
  Top

10 楼loutingyv(打倒轮子)回复于 2000-12-13 16:00:00 得分 0

xy   用dpltolp转换一下试试  
  或者用screetoclient  
  或者发个email   给我loutingyu@yeah.netTop

11 楼goodthingxu(白开心帅)回复于 2000-12-13 18:33:00 得分 0

to   loutingyv:  
          您要原代码还是只要个地址给我个例子???Top

12 楼goodthingxu(白开心帅)回复于 2000-12-13 20:18:00 得分 0

真的没人会吗???Top

13 楼loutingyv(打倒轮子)回复于 2000-12-14 09:02:00 得分 0

我用textout可以实现呀  
  它的xy就是相对于控件的坐标Top

14 楼goodthingxu(白开心帅)回复于 2000-12-14 09:34:00 得分 0

to   loutingyv:  
          控件在VC中表现还可以,但在VB中显示是乱的。真不知何故?Top

15 楼loutingyv(打倒轮子)回复于 2000-12-14 16:59:00 得分 0

vb有一个项是调坐标应射方式的,我估计是这个原因  
  具体在哪里调,我也不清楚,我不太熟悉VB  
  Top

16 楼loutingyv(打倒轮子)回复于 2000-12-14 17:02:00 得分 0

还有你送的狗太小了,不够我塞牙  
  下次送《一生所爱》的歌词给我  
  Top

17 楼goodthingxu(白开心帅)回复于 2000-12-14 17:24:00 得分 0

呵呵   ~~~Top

18 楼goodthingxu(白开心帅)回复于 2000-12-14 17:37:00 得分 0

ok!这个问题到此结束。估计要成为历史遗留问题了。:)Top

相关问题

  • QICQ界面控件
  • Delphi界面控件!!
  • 用VC制作OCX时怎么在界面上拖放控件啊
  • ASP中是不是不能调用带有界面的ocx控件?
  • 新手求教!如何将一个已经完成的工程程序 改为OCX控件?步骤是怎样的?控件界面向导又是怎么用?
  • mspaint 的 ocx 控件
  • 下载OCX控件
  • 哪里有Win2000界面的控件?
  • Norton的界面是用什么控件?
  • 求windowsXP界面效果的控件!

关键词

  • 控件
  • 界面
  • 坐标
  • 代码
  • vb
  • sizel
  • loutingyv
  • pcy
  • ocx
  • ondraw

得分解答快速导航

  • 帖主:goodthingxu
  • zhuoran
  • oldsunrain
  • loutingyv

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo