转动的问题。求解。大虾请进。算法。急。求大神帮忙。要不死定了。

编程小白_大场 2013-02-20 09:42:13
现在出现的问题是:他在转动的时候。是位置没有计算好吗?,还是区域没有弄对呀。算法难吗?对我来说算是难的。还没有接触过算法。现在在保证字体大小的情况下。让他转起来,字体在下方。
出现的问题:

想要的效果:
在转起来的时候也要像这张图。

求解。
代码给你们贴出一部分来。

void CMyButton::DrawItem(LPDRAWITEMSTRUCT lp) 
{
//m_image.Draw(lp->hDC,lp->rcItem,NULL,true);

CDC *pDC=CDC::FromHandle(lp->hDC);

CRect rc1= lp->rcItem;
if(m_fontFlag==1)
{
}
else
{
if(rc1.Width()<rc1.Height())
rc1.bottom = rc1.top + rc1.Width();
if(rc1.Height()<rc1.Width())
rc1.right = rc1.left + rc1.Height();
}
m_image.Draw(pDC->m_hDC,rc1,NULL,true);

CRect rc;

GetClientRect(&rc);
//ÉèÖÃ×ÖÌåArial Bold
CFont font;
font.CreatePointFont(90,CURFONT);

pDC->SelectObject(font);
CString text ;

GetWindowText(text);

pDC->SetBkMode(TRANSPARENT);

pDC->SetTextColor(RGB(255,255,255));

//DWORD style=DT_SINGLELINE| DT_VCENTER| DT_CENTER;

if(m_fontFlag==1)
style=DT_VCENTER|DT_SINGLELINE|DT_CENTER;
else
style=DT_BOTTOM|DT_SINGLELINE| DT_CENTER;
//ÍùÉÏ»­ÎÄ×Ö

//rc.top=rc1.top*1.2;
pDC->DrawText(text,-1,&rc,style);//---这个地方应该怎么样算呢。

我的想法是,整个矩形的高,是图片的高+图片的20%,这样还是不行。
因为在画的时候,已经有图片的高度了。和已经定义好的,矩形高度。可是在转的时候就出现这样的问题,字跑到了图片的上边。
求解,难道是我想错了。不知道是什么原因。

}
注释都是乱码。英文的系统。
...全文
250 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 12 楼 sadasasdasd 的回复:
引用 11 楼 sadasasdasd 的回复:引用 10 楼 schlafenhamster 的回复:SetWindowPos(NULL,pt.x,pt.y,cx,cy,SWP_NOCOPYBITS); cy 要包含 文字 高度 噢,我试试。谢谢。呵呵。 谢谢,你,非常感谢。好好了,好了,马上结帐。都给你。呵呵。
初学者,好多的概念都还不太懂。呵呵。
  • 打赏
  • 举报
回复
引用 11 楼 sadasasdasd 的回复:
引用 10 楼 schlafenhamster 的回复:SetWindowPos(NULL,pt.x,pt.y,cx,cy,SWP_NOCOPYBITS); cy 要包含 文字 高度 噢,我试试。谢谢。呵呵。
谢谢,你,非常感谢。好好了,好了,马上结帐。都给你。呵呵。
  • 打赏
  • 举报
回复
引用 10 楼 schlafenhamster 的回复:
SetWindowPos(NULL,pt.x,pt.y,cx,cy,SWP_NOCOPYBITS); cy 要包含 文字 高度
噢,我试试。谢谢。呵呵。
schlafenhamster 2013-02-20
  • 打赏
  • 举报
回复
SetWindowPos(NULL,pt.x,pt.y,cx,cy,SWP_NOCOPYBITS); cy 要包含 文字 高度
schlafenhamster 2013-02-20
  • 打赏
  • 举报
回复
那就是 7个 长方形的 大小不一的 按钮。
  • 打赏
  • 举报
回复
引用 7 楼 schlafenhamster 的回复:
Step() 一次移动 几个? 移动的 什么东西 CRect ?Picture ?CStatic ?
七个按钮。
schlafenhamster 2013-02-20
  • 打赏
  • 举报
回复
Step() 一次移动 几个? 移动的 什么东西 CRect ?Picture ?CStatic ?
  • 打赏
  • 举报
回复
引用 5 楼 sadasasdasd 的回复:
引用 4 楼 schlafenhamster 的回复:CRect rc; GetClientRect(&amp;rc); pDC->DrawText(text,-1,&amp;rc,style);//这句使 文字 固定在 一个地方。 我想 应该 还使用 CRect rc1= lp->rcItem; 只是 每项 的 rcItem 应该是个 长方形……
void CMyButton::Step() { m_cur++; if(m_cur >= m_num) m_cur = 0; //É趨´óС£¬Ô²ÐÄ£¨400£¬350£© point &pt = m_point[m_cur]; double ver = pt.y - 350; int cx = 120 + (int)(ver / 3); SetWindowPos(NULL,pt.x,pt.y,cx,cx,SWP_NOCOPYBITS); //SetWindowPos(NULL,pt.x,pt.y,cx,cx,SWP_NOSIZE|SWP_NOCOPYBITS|SWP_NOZORDER); //MoveWindow(NULL,pt.x,pt.y,cx,cx); } 这是移动的算法。试试了好多的办法了,还是不行呀。求解呀。大哥。
  • 打赏
  • 举报
回复
引用 4 楼 schlafenhamster 的回复:
CRect rc; GetClientRect(&rc); pDC->DrawText(text,-1,&rc,style);//这句使 文字 固定在 一个地方。 我想 应该 还使用 CRect rc1= lp->rcItem; 只是 每项 的 rcItem 应该是个 长方形 下面 可以 写 文字;
是的,可是写上字之后就像在第二副图上了。 运行起来就只有图片的矩形区域,没有整个矩形的区域。不解呀。
schlafenhamster 2013-02-20
  • 打赏
  • 举报
回复
CRect rc; GetClientRect(&rc); pDC->DrawText(text,-1,&rc,style);//这句使 文字 固定在 一个地方。 我想 应该 还使用 CRect rc1= lp->rcItem; 只是 每项 的 rcItem 应该是个 长方形 下面 可以 写 文字;
  • 打赏
  • 举报
回复
引用 2 楼 schlafenhamster 的回复:
好像 字的 大小是 固定的,园的大小是 变的?
是的,应该怎么改呢?
schlafenhamster 2013-02-20
  • 打赏
  • 举报
回复
好像 字的 大小是 固定的,园的大小是 变的?
  • 打赏
  • 举报
回复
要沉了吗?希望不要沉呀。大神呢。
打开链接下载源码: https://pan.quark.cn/s/589796089f72 C++课程设计任务列表,涵盖以下内容:1、识别并显示10至99范围内,各位数乘积超过各位数和的数值,例如数字12不满足条件,因为1乘以2小于1加2,故不输出;而数字27满足条件,因为2乘以7大于2加7,因此需要输出该数。2、开发一个功能,用于从用户输入的任意数量实数中找出最大值与最小值:首先要用户输入一个正整数n,代表数值的个数,随后用户可输入任意n个实数,程序需找出这n个数中的最大值和最小值并将它们展示出来。3、实现两个已排序数组的合并操作:设有数组A和B,且假设这两个数组的元素均已按照降序排列。编写程序将A和B合并成一个新的数组C,并确保C中的元素同样保持降序排列。int A[10]={123, 86,80, 49,33,15,7,0,-1,-3};int B[10]={100,64,51,50,27,19,15,12,5,2};4、设计一个函数,用于计算特定分数序列前n项的总和,该序列为1/2,1/3,1/4,1/5,1/6,1/7,...。要在主程序中提示用户输入一个整数n,并验证输入的合法性(n需大于1方为有效),若输入合法,则调用和函数并显示计算结果。5、编写一个程序,计算两个用户输入日期之间的天数差:用户需以year1,month1,day1和year2,month2,day2的格式输入两个日期,程序随后计算这两个日期之间的天数间隔,并将结果输出到屏幕上。要编制具有如下原型的函数difs2Date:long GetDayDifference(int y1,int m1,int d1,int y2,int m2,int d2);并在主函数中调用此函数,将计...

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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