弱问题请教:如何保存工具条的位置?

goodsong 2002-09-12 09:07:02
我想保存用户设置后的工具条位置,以及应用程序窗口的大小和位置
请问如何做?
最好给出源代码
sz0001@163.net
谢谢
凡是给出有效信息或例子者均有分
UP也有分:)
...全文
57 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodsong 2002-09-15
  • 打赏
  • 举报
回复
先给分吧,不过我还是希望得到源代码
goodsong 2002-09-14
  • 打赏
  • 举报
回复
没有做过界面相关的东东,太弱了
cadinfo(无语清风)
麻烦你给我代码,sz0001@163.net
谢谢!
goodsong 2002-09-13
  • 打赏
  • 举报
回复
cadinfo(无语清风)
谢谢!
那这两个函数放在什么地方好呢?
cadinfo 2002-09-13
  • 打赏
  • 举报
回复
而且实现起来完全正确(刚刚给你测试过了)
cadinfo 2002-09-13
  • 打赏
  • 举报
回复
我认为较简单的实现方法应该如下:
----------------------------------------------------
// 获得工具栏和状态栏的属性
SaveBarState(AfxGetApp()->m_pszProfileName);
// 恢复工具栏状态栏
LoadBarState(AfxGetApp()->m_pszProfileName);
vfe 2002-09-13
  • 打赏
  • 举报
回复
随便保存到一个文件里也行!
goodsong 2002-09-13
  • 打赏
  • 举报
回复
给个例子好吗?初学VC,对注册表也不熟,做不来阿
cadinfo 2002-09-13
  • 打赏
  • 举报
回复
如何读取注册表中的值,然后复原窗口和状态栏位置及尺寸就作为联系留给你自己完成了,实在不行我给你代码!!!
cadinfo 2002-09-13
  • 打赏
  • 举报
回复
对了下午没来,放在消息WM_CLOSE的响应函数OnClose中!
另外可以保存窗口的其它属性,详见以下代码:
----------------------------------------------
// 存取窗口状态 //
WINDOWPLACEMENT WndStatus;
WndStatus.length=sizeof(WINDOWPLACEMENT);
GetWindowPlacement(&WndStatus);

AfxGetApp()->WriteProfileInt("DXFGLWS","FLAGS",WndStatus.flags);
AfxGetApp()->WriteProfileInt("DXFGLWS","SHOWCMD",WndStatus.showCmd);
AfxGetApp()->WriteProfileInt("DXFGLWS","LEFT",WndStatus.rcNormalPosition.left);
AfxGetApp()->WriteProfileInt("DXFGLWS","TOP",WndStatus.rcNormalPosition.top);
AfxGetApp()->WriteProfileInt("DXFGLWS","RIGHT",WndStatus.rcNormalPosition.right);
AfxGetApp()->WriteProfileInt("DXFGLWS","BOTTOM",WndStatus.rcNormalPosition.bottom);

SaveBarState(AfxGetApp()->m_pszProfileName);

CXXXFrameWnd::OnClose();
qrlvls 2002-09-13
  • 打赏
  • 举报
回复
创建工具条时往往有一CToolBar变量,得到窗口位置不就行了吗?
agree to sans(sans)
kingcom 2002-09-13
  • 打赏
  • 举报
回复
save的在DestroyWindow中

load的在OnCreate中并在生成工具栏代码之后。。。

顺便问一个:
WINDOWPLACEMENT wp;
怎么用??/?

比如说窗口在关闭前是最大化(或最小化)。。。但下次启动加载进来就错了。。。。。。。。。
goodsong 2002-09-13
  • 打赏
  • 举报
回复
帮帮我呀,我想这个很基础的,不少人都会做吧
sans 2002-09-12
  • 打赏
  • 举报
回复
使用GetWindowRect得到工具条、窗口的位置和大小,使用ScreenToClient将工具条的位置转换为相对于窗口的相对位置,然后将这些位置存放到注册表中,下次启动后,从注册表中读出,先用SetWindowPos恢复窗口的位置,在使用同样的函数恢复工具条的位置...

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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