能力值:
( LV2,RANK:10 )
|
-
-
2 楼
那你为什么不试试将矩形四个坐标值分别赋值给四个int变量,然后再用这四个int变量传过去呢
|
能力值:
( LV8,RANK:130 )
|
-
-
3 楼
传个代码上来看看
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
这个应该不难实现吧,楼主拿你代码来看看啊
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我这里vs2010的直接用也没问题啊
//定义窗口大小
RECT r1;
(GetDlgItem(IDC_TAB_MAIN))->GetClientRect(&r1);
r1.top = 25;
r1.left = 5;
r1.bottom -= 20;
r1.right -= 20;
//设置窗口位置
page1.MoveWindow(&r1);
page2.MoveWindow(&r1);
//默认 page1
page1.ShowWindow(true);
test(r1.top, r1.left, r1.right, r1.bottom);
void CTabControlDlg::test(int a, int b, int c, int d)
{
m_edt_sValues = _T("top: ") + IntToStr(a) + ",left: " + IntToStr(b) + ",right:" +IntToStr(c) + ",bottom:" + IntToStr(d);
UpdateData(false);
}
CString CTabControlDlg::IntToStr(int iInput)
{
char msg[32];
memset(msg, 0, sizeof(msg));
itoa(iInput, msg, 10);
return CString(msg);
}
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
肯定代码有问题喽,你不上代码我们怎么知道
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
你在函数里打个log,把4个参数的值都打出来看看,看当用crect->传递的时候,究竟是不是传的正确的值
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
CRect rect,rect1;
gameh=::FindWindow(NULL,_T("强暴"));
::GetWindowRect(gameh,&rect);
//::GetWindowRect(gameh,&rect1);
//rect.left+=487;rect.top+=283;rect.right=rect.left+50;rect.bottom=rect.top+50;
HBITMAP hMap = CopyScreenToBitmap(rect);
int fx=0,fy=0;
//int add=FindBmpEx(rect.left,rect.top,rect.right,rect.bottom,_T("是的.bmp"),1,1,1,fx,fy);
//int add=FindBmpEx(480,73,1000,866,_T("是的.bmp"),1,1,1,fx,fy);
调试时明显看到数值正确传过去了。但第一条传RECT的就找不到图。。直接传数字的那个就行;很奇怪。。
我也试过把定int XX来保存RECT的四个值。。然后再传。一样,,也没成功找到图。。
这是个屏幕找图函数FindBmpEx()。。
|
能力值:
( LV9,RANK:370 )
|
-
-
9 楼
对象没初始化。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
这也太奇怪了吧,感觉应该还是rect的值获取错误了,你为什么不在最后试着MessageBox弹出一下看看那四个字真得对吗?
|
|
|