| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 410 人关注过本帖
标题:请教VC的按钮问题
只看楼主 加入收藏
kim88511677
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-3-14
收藏
 问题点数:0 回复次数:2 
请教VC的按钮问题

我边的一个按下一个写着缩小的按牛之后,把按钮的文本改成扩大,随之的窗口也缩小,在按时窗口扩大,为什么按下缩小之后,再按就不扩大了那
void Cdlg::OnButton1()
{
// TOD Add your control notification handler code here
CString str;
if(GetDlgItemText(IDC_BUTTON1,str),str=="缩小")
{

SetDlgItemText(IDC_BUTTON1,"扩张");

}
else{

SetDlgItemText(IDC_BUTTON1,"缩小"); }
static CRect rectold;
static CRect rectnew;
CRect p;
GetWindowRect(&rectold);
GetDlgItem(IDC_PIC)->GetWindowRect(&p);
rectnew.top=rectold.top;
rectnew.left=rectold.left;
rectnew.right=rectold.right;
rectnew.bottom=p.bottom;


if(str=="缩小") { SetWindowPos(NULL,0,0,rectnew.Width(),rectnew.Height(),
SWP_NOMOVE|SWP_NOZORDER); }
else
SetWindowPos(NULL,0,0,rectold.Width(),rectold.Height(),
SWP_NOMOVE|SWP_NOZORDER);}

搜索更多相关主题的帖子: 按钮 
2007-03-28 08:33
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

首先,你点缩小时,rectold是扩张时的矩形大小,rectnew是缩小时的矩形大小.
然后,你点扩张,rectold又获取了一次GetWindowRect();所以,rectold现在就和rectold大小一样了。
那么就无法得到缩小前的大小了,也就无法还原。

你再试试吧,看如何能够还原。


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-28 14:16
kim88511677
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-3-14
收藏
得分:0 

请问我的是静态成员,不是只初始化一次吗

2007-03-28 15:11
快速回复:请教VC的按钮问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030325 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved