CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

控件大小 按 对话框的大小 比例缩放的问题.

楼主lexyohi(lexyohi)2005-09-16 09:44:33 在 VC/MFC / 基础类 提问

如题.对话框里有一个   Picturebox(IDC_WORKSPACE),使用下面  
  代码,但没有效果.  
  如何修改?  
  int   cx,   int   cy   起什么作用?  
   
  void   CDrawTestDlg::OnSize(UINT   nType,   int   cx,   int   cy)    
  {  
  CDialog::OnSize(nType,   cx,   cy);  
   
    CRect   rcTmp;  
    this->GetWindowRect(&rcTmp);  
    ScreenToClient(&rcTmp);  
   
  SetWindowPos(GetDlgItem(IDC_WORKSPACE),  
                                                  10,   10,  
                                                  rcTmp.Width(),  
                                                  rcTmp.Height(),  
                                                  SWP_DRAWFRAME   |   SWP_SHOWWINDOW);  
  } 问题点数:30、回复次数:5Top

1 楼phoenix96_2000(Arcrest)回复于 2005-09-16 09:48:06 得分 30

void   CDrawTestDlg::OnSize(UINT   nType,   int   cx,   int   cy)    
  {  
  CDialog::OnSize(nType,   cx,   cy);  
   
  CWnd   *   pWnd   =   GetDlgItem(IDC_WORKSPACE);  
  if(   pWnd   )  
  {  
    CRect   rcTmp;  
    GetClientRect(&rcTmp);  
  pWnd->MoveWindow(&rcTmp);  
  }  
  }  
  Top

2 楼lexyohi(lexyohi)回复于 2005-09-16 09:52:26 得分 0

ok,thanks   a   lot.  
   
  pay   money!Top

3 楼happyparrot(快乐鹦鹉)回复于 2005-09-16 09:57:00 得分 0

函数根本没有用对阿。  
  BOOL   SetWindowPos(   const   CWnd*   pWndInsertAfter,   int   x,   int   y,   int   cx,   int   cy,   UINT   nFlags   );  
   
  看看这个函数第一个参数吧。看参数名称也能知道是啥意思阿。你怎么传递你要移动的控件的指针呢。Top

4 楼lexyohi(lexyohi)回复于 2005-09-16 10:13:01 得分 0

to     happyparrot  
  能否指出错在哪里   及   正确的用法  
   
  抱歉,分已经给完了.不过我在  
  http://community.csdn.net/Expert/topic/4274/4274320.xml?temp=.1445734  
   
  等你,可以pay   money!      
  也欢迎其他朋友参加Top

5 楼phoenix96_2000(Arcrest)回复于 2005-09-16 12:39:52 得分 0

void   CDrawTestDlg::OnSize(UINT   nType,   int   cx,   int   cy)    
  {  
  CDialog::OnSize(nType,   cx,   cy);  
   
  CWnd   *   pWnd   =   GetDlgItem(IDC_WORKSPACE);  
  if(   pWnd   )  
  {  
    CRect   rc;  
    GetClientRect(&rc);  
    pWnd->SetWindowPos(&CWnd::wndNoTopMost,rc.left,rc.top,rc.Width(),rc.Height(),SWP_SHOWWINDOW);  
   
  }  
  }  
   
  具体参数参考MSDN就知道了Top

相关问题

  • 当对话框的大小变化时,如何依据比例调整控件的大小
  • *********对话框控件**********
  • 如何准确得控制对话框、控件得大小
  • 有关对话框中控件的大小问题
  • 怎么改变对话框中的控件的字体大小
  • 怎么改变对话框中控件上文字的大小?
  • 如何根据对话框大小改变,自动改变对话框中控件的大小!
  • 如何让对话框地地控件大小随着对话框面板地大小改变?
  • 对话框里的控件大小怎么随对话框的大小的改变而改变
  • 怎样绑定对话框上的控件和对话框同比例的变大变小

关键词

  • idc
  • rctmp
  • onsize
  • ntype
  • cy
  • pwnd
  • cx
  • workspace
  • setwindowpos
  • swp

得分解答快速导航

  • 帖主:lexyohi
  • phoenix96_2000

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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