Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2707525
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类: C/C++

2008-12-10 22:05:50

+ rcClient {top=40 bottom=355 left=14 right=434} CRect
+ rcClient {top=11 bottom=326 left=11 right=431} CRect
+ rcWindow {top=0 bottom=313 left=0 right=418} CRect
+ rcWindow {top=41 bottom=354 left=15 right=433} CRect
// 对话框还没有移动,Dialog原点与屏幕坐标原点都为(0,0)处绘制
BOOL CMPEGTestDlg::OnInitDialog()
{
 CDialog::OnInitDialog();

 // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
 //  执行此操作
 SetIcon(m_hIcon, TRUE);   // 设置大图标
 SetIcon(m_hIcon, FALSE);  // 设置小图标
CRect rcClient, rcWindow;
 GetDlgItem(IDC_STA_PREVIEW)->GetWindowRect(&rcClient);

 ScreenToClient(&rcClient);

 GetDlgItem(IDC_STA_PREVIEW)->GetClientRect(&rcWindow);
 GetDlgItem(IDC_STA_PREVIEW)->ClientToScreen(&rcWindow);
 return TRUE;
}

/*******************************************************/
+ rcClient {top=275 bottom=590 left=510 right=930} CRect
+ rcClient {top=11 bottom=326 left=11 right=431} CRect
+ rcWindow {top=0 bottom=313 left=0 right=418} CRect
+ rcWindow {top=276 bottom=589 left=511 right=929} CRect
// 对话框移动应该所在的位置,以屏幕坐标为原点处绘制
void CMPEGTestDlg::OnPaint()
{
 CPaintDC dc(this); // 用于绘制的设备上下文
 // 相差一象素是因为IDC_STA_PREVIEW的边框占一朴素
 CRect rcClient, rcWindow;
 GetDlgItem(IDC_STA_PREVIEW)->GetWindowRect(&rcClient);
 
 ScreenToClient(&rcClient);

 GetDlgItem(IDC_STA_PREVIEW)->GetClientRect(&rcWindow);
 GetDlgItem(IDC_STA_PREVIEW)->ClientToScreen(&rcWindow);
}

 
OnInitDialog执行在OnPaint前,之间有过移动
阅读(2717) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~