社区
界面
帖子详情
一个窗口从继承CControlBar继承而来,创建时如何指定它的大小?另外程序关闭时如何取得它的位置大小?
Kaile
2005-08-18 12:29:03
有一个窗口,继承CControlBar,希望得到VC6中的output窗口的效果,现在创建时不知道如何指定它的大小,另外想程序关闭时取得它的位置和大小信息保存到注册表,下次启动恢复原样,该如何实现?
结贴快,给分多,顶者有分。
...全文
192
12
打赏
收藏
一个窗口从继承CControlBar继承而来,创建时如何指定它的大小?另外程序关闭时如何取得它的位置大小?
有一个窗口,继承CControlBar,希望得到VC6中的output窗口的效果,现在创建时不知道如何指定它的大小,另外想程序关闭时取得它的位置和大小信息保存到注册表,下次启动恢复原样,该如何实现? 结贴快,给分多,顶者有分。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
i_noname
2005-08-18
打赏
举报
回复
写注册表:
RegOpenKeyEx
RegCreateKeyEx
RegSetValueEx
读:
RegOpenKeyEx
RegQueryValueEx
i_noname
2005-08-18
打赏
举报
回复
SetWindowPos就可以啊。
放在注册表还不如保存在文件中呢。
goodboyws
2005-08-18
打赏
举报
回复
CSize CGuiOutPut::CalcFixedLayout(BOOL bStretch, BOOL bHorz)
{
CSize size;
size.cx = 200
size.cy = 20;
return size;
}
CSize CGuiOutPut::CalcDynamicLayout(int, DWORD nMode)
{
CSize size;
size.cx = 200
size.cy = 20;
return size;
}
goodboyws
2005-08-18
打赏
举报
回复
重载CalcFixedLayout和CalcDynamicLayout
Kaile
2005-08-18
打赏
举报
回复
继承关系:
CGuiOutPut m_OutControl;
class CGuiOutPut : public CGuiControlBar
class GUILIBDLLEXPORT CGuiControlBar : public CControlBar
Kaile
2005-08-18
打赏
举报
回复
请看代码:
这是希望控制大小的窗口的OnCreate代码,窗口中只有一个listcontrol
int CGuiOutPut::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CGuiControlBar::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_TabSolExplorer.Create(WS_VISIBLE|WS_CHILD,CRect(0,0,0,0),this,0x9999))
return -1;
CFont m_Font;
m_Font.CreateStockObject (DEFAULT_GUI_FONT);
CRect rectClient (0, 0, lpCreateStruct->cx, lpCreateStruct->cy);
const DWORD dwStyle = LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL;
m_listControl.Create(WS_CHILD|WS_VISIBLE|LVS_REPORT,CRect(0,0,1000,1000), &m_TabSolExplorer, 0);
m_listControl.SetFont (&m_Font);
m_listControl.SetOwner (this);
CRect rect;
m_listControl.GetClientRect(&rect);
LV_ITEM lvi;
TCHAR szItem[256];
TCHAR szCol[256];
lvi.mask = LVIF_TEXT;
m_TabSolExplorer.SetImageList(IDB_DBPROJECTS, 16,8, RGB (255, 0, 0));
m_TabSolExplorer.Addtab(&m_listControl,"当前步",6);
SetIcon(IDB_BITMAPHELP,16,5,RGB(255,0,0),3);
return 0;
}
以下是mainframe.cpp中的OnCreate代码
if (!m_OutControl.Create(_T("高级控制"),WS_CHILD | WS_VISIBLE, this, 0x997))
{
TRACE0("Failed to create m_OutControl\n");
return -1;
}
m_OutControl.SetBarStyle(m_OutControl.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
m_OutControl.EnableDocking(CBRS_ALIGN_ANY);
//m_OutControl.SetMenuContext(IDR_MENUTOOLBARS);
DockControlBar(&m_OutControl, AFX_IDW_DOCKBAR_RIGHT);
现在可以停靠在右边,但大小每次都是固定的,不能调整,晕死。
teli_eurydice
2005-08-18
打赏
举报
回复
up
goodboyws
2005-08-18
打赏
举报
回复
在Floate状态下, CControlbar的父窗口是CDockBar, CDockBar的父窗口是一个叫CMiniDockFrameWnd的类,改变CMiniDockFrameWnd的位置才可以改变CControlbar的位置
在Dock状态下, CControlbar的父窗口是CDockBar, CDockBar的父窗口是CFrameWnd, 位置是自动安排的
仔细看MFC的代码就知道了
goodboyws
2005-08-18
打赏
举报
回复
CControlbar的大小应该不需要指定,而是由他的内容决定的。重载CalcFixedLayout和CalcDynamicLayout可以改变他的大小
dirdirdir3
2005-08-18
打赏
举报
回复
加了SetRegistryKey("llt");之后
在app中直接用
WriteProfileInt;
WriteProfileString:
...
等来写入。
GetProfileInt;
...
等来读出。
lixiaosan
2005-08-18
打赏
举报
回复
http://www.datamekanix.com/sizecbar/
Kaile
2005-08-18
打赏
举报
回复
我是这样做的:
CSize CGuiOutPut::CalcDynamicLayout(int nLength, DWORD nMode)
{
CSize size;
size = CControlBar::CalcDynamicLayout(nLength, nMode);
if(size.cx < 500) size.cx = 500;
return size;
}
这样,启动时大小为500,也可以动态调整了,不过不能小于500。
我想启动时设为500, 以后可以任意调整,有办法吗?
浮动
窗口
代码及实例
继承
C
Control
Bar类实现浮动
窗口
类,
创建
四周可停靠的浮动
窗口
【MFC】 C
Control
Bar如何实现横向/竖向控件条和动态摆放?
【MFC】C
Control
Bar如何实现横向/竖向空间条?...控件条一般是
一个
在框架
窗口
左边或右边的
窗口
。它可以包括子项,如基于HWND的控件(生成和响应消息的Windows
窗口
)和非基于HWND的控件(不是
窗口
,
基础语法篇_9——VS2019+MFC:修改应用
程序
窗口
的外观【
窗口
光标|图标|背景】、模拟动画图标、工具栏编程、状态栏编程、进度栏编程、在状态栏上显示鼠标当前
位置
、启动画面
对于MFC应用
程序
来说,为了改变MFC AppWizard自动生成的应用
程序
外观和
大小
,既可以在应用
程序
窗口
创建
之前进行,也可以在该
窗口
创建
之后进行。 首先新建
一个
单文档类型的MFC AppWizard (exe)工程,工程取名为: ...
MFC 控制工具条的停靠
位置
在VC中开发大型应用
程序
时
,工具条通常是
程序
中必不可少的重要功能因素,其中工具条在整个
窗口
中的停靠
位置
尤其关键,它直接影响到
程序
界面的外观形象。下面针对笔者实际开发中各类工具条停靠
位置
的控制过程,...
MFC 窗体
大小
控制
窗口
让
窗口
一启动就最大化 把应用
程序
类(CxxxApp)的 InitInstance() 函数中的 m_pMainWnd->ShowWindow(SW_SHOW); 改为 m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); 则
窗口
一启动就最大化显示。 ...
界面
15,980
社区成员
115,900
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章