ClistCtrl能在动态地改变类型(Icon\list\Report)吗? how?thx.bow. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只能Create的时候制定风格,创建完成后是不能来回切换的 kao..综观楼上,信誉大于100的说不行;信誉小于100的说可以;我信誉100,迷惑了……以前也查过MSDN好象有这个类似的函数,但需要XP才能用的。主要用途也是用于列文件呀,不知道explorer是怎么弄的…… 下面是向导生成的响应切换列表视图类型的代码(向导中选择单文档、资源管理器样式、文档/视图支持):void CMainFrame::OnViewStyle(UINT nCommandID){ // TODO: 自定义或扩展此代码以处理“视图”菜单中的选项 CtListViewView* pView = GetRightPane(); // 如果右窗格已创建而且是 CtListViewView, // 则处理菜单命令... if (pView != NULL) { DWORD dwStyle = -1; switch (nCommandID) { case ID_VIEW_LINEUP: { // 要求列表控件与网格对齐 CListCtrl& refListCtrl = pView->GetListCtrl(); refListCtrl.Arrange(LVA_SNAPTOGRID); } break; // 其他命令更改列表控件上的样式 case ID_VIEW_DETAILS: dwStyle = LVS_REPORT; break; case ID_VIEW_SMALLICON: dwStyle = LVS_SMALLICON; break; case ID_VIEW_LARGEICON: dwStyle = LVS_ICON; break; case ID_VIEW_LIST: dwStyle = LVS_LIST; break; } // 更改样式;窗口将自动重新绘制 if (dwStyle != -1) pView->ModifyStyle(LVS_TYPEMASK, dwStyle); }}注意最后一段,应该明白了。 afx_msg void OnViewStyle(UINT nCommandID); ON_COMMAND_RANGE(AFX_ID_VIEW_MINIMUM, AFX_ID_VIEW_MAXIMUM, OnViewStyle)IDR_MAINFRAME TOOLBAR 16, 15BEGIN BUTTON ID_FILE_NEW BUTTON ID_FILE_OPEN BUTTON ID_FILE_SAVE SEPARATOR BUTTON ID_EDIT_CUT BUTTON ID_EDIT_COPY BUTTON ID_EDIT_PASTE SEPARATOR BUTTON ID_FILE_PRINT SEPARATOR BUTTON ID_VIEW_LARGEICON BUTTON ID_VIEW_SMALLICON BUTTON ID_VIEW_LIST BUTTON ID_VIEW_DETAILS BUTTON ID_APP_ABOUTENDSTRINGTABLE BEGIN ID_VIEW_SMALLICON "使用小图标显示各项。\n小图标" ID_VIEW_LARGEICON "使用大图标显示各项。\n大图标" ID_VIEW_LIST "以列表方式显示各项。\n列表" ID_VIEW_DETAILS "显示窗口中每一项的相关详细信息。\n详细信息" ID_VIEW_LINEUP "以网格方式排列图标。" ID_VIEW_BYNAME "按字母顺序对图标排序。"END LVS_TYPEMASK包含的这四个风格是可以在创建之后动态修改的 昨晚回去看了一下微软的示例,是用ModifyStyle OK.在CODEPROJECT上也找到了一段代码。谢谢大家了~~~~ 请教一下关于VC生成PDF的问题!谢谢! 疑难问题,高手请进 创建子进程的作用是什么? 给点思路或是资料,请问如何开发嵌入office工具栏的那样的程序(如金山词霸)?谢谢 我做一个浏览器,用什么视图比较好? 哪里有《win32多线程程序设计》的光盘源代码下载呢? 函数看不懂 急啊______关于FindWindow的问题 哪儿有一些示例的小程序? ADO方式访问Oracle数据库总提示未指定的错误 VC7,去掉调试信息 能否在自定义类中使用message_map??我用socket api写了一个类,但是不知道如何响应用户非常退出。
以前也查过MSDN好象有这个类似的函数,但需要XP才能用的。
主要用途也是用于列文件呀,不知道explorer是怎么弄的……
void CMainFrame::OnViewStyle(UINT nCommandID)
{
// TODO: 自定义或扩展此代码以处理“视图”菜单中的选项
CtListViewView* pView = GetRightPane(); // 如果右窗格已创建而且是 CtListViewView,
// 则处理菜单命令...
if (pView != NULL)
{
DWORD dwStyle = -1; switch (nCommandID)
{
case ID_VIEW_LINEUP:
{
// 要求列表控件与网格对齐
CListCtrl& refListCtrl = pView->GetListCtrl();
refListCtrl.Arrange(LVA_SNAPTOGRID);
}
break; // 其他命令更改列表控件上的样式
case ID_VIEW_DETAILS:
dwStyle = LVS_REPORT;
break; case ID_VIEW_SMALLICON:
dwStyle = LVS_SMALLICON;
break; case ID_VIEW_LARGEICON:
dwStyle = LVS_ICON;
break; case ID_VIEW_LIST:
dwStyle = LVS_LIST;
break;
} // 更改样式;窗口将自动重新绘制
if (dwStyle != -1)
pView->ModifyStyle(LVS_TYPEMASK, dwStyle);
}
}注意最后一段,应该明白了。
ON_COMMAND_RANGE(AFX_ID_VIEW_MINIMUM, AFX_ID_VIEW_MAXIMUM, OnViewStyle)IDR_MAINFRAME TOOLBAR 16, 15
BEGIN
BUTTON ID_FILE_NEW
BUTTON ID_FILE_OPEN
BUTTON ID_FILE_SAVE
SEPARATOR
BUTTON ID_EDIT_CUT
BUTTON ID_EDIT_COPY
BUTTON ID_EDIT_PASTE
SEPARATOR
BUTTON ID_FILE_PRINT
SEPARATOR
BUTTON ID_VIEW_LARGEICON
BUTTON ID_VIEW_SMALLICON
BUTTON ID_VIEW_LIST
BUTTON ID_VIEW_DETAILS
BUTTON ID_APP_ABOUT
ENDSTRINGTABLE
BEGIN
ID_VIEW_SMALLICON "使用小图标显示各项。\n小图标"
ID_VIEW_LARGEICON "使用大图标显示各项。\n大图标"
ID_VIEW_LIST "以列表方式显示各项。\n列表"
ID_VIEW_DETAILS "显示窗口中每一项的相关详细信息。\n详细信息"
ID_VIEW_LINEUP "以网格方式排列图标。"
ID_VIEW_BYNAME "按字母顺序对图标排序。"
END
是用ModifyStyle
谢谢大家了~~~~