vc 2008开发outlook界面

fage87295970 2011-02-14 07:58:49
最近我需要做一个软件(开发工具是vc2008 带feature pack),我决定界面是这样设计的:多文档结构,客户区左端采用outlook风格的面板,视图区采用vs风格的。我知道可以在面板上AddButton或一些控件,可怎样像在对话框上自己自由摆放各种控件啊,我试过将一个Dialog加入(addTab),好像不行呢,恳请各位大侠指教一下,本人做界面比较少,关于这个feature pack,各位有些什么好的资料可供学习的么,向导生成的好多带CMFC头的函数都晕菜了。
另外,我在一个面板中加入了TreeCtrl,我写了自己的TreeCtrl,在OnEraseBkgd中用一个图片做为背景,可树文字背景还是白色的,怎么让背景是透明的啊。
...全文
611 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
_Sodo_ 2011-03-05
  • 打赏
  • 举报
回复
我到想来,可就是菜鸟一个,默默的支持你
taojielun 2011-03-04
  • 打赏
  • 举报
回复
用Directui开发蛮方便的,而且对技术要求不高,只需要对Directui进行操作就行了,可以去他们官网做详细了解。
http://www.directui.com
fage87295970 2011-03-03
  • 打赏
  • 举报
回复
唉,我发现现在csdn越来越不行了,牛人都不愿意来了
fage87295970 2011-02-25
  • 打赏
  • 举报
回复
谢谢楼上的,我试试
darenxiu 2011-02-22
  • 打赏
  • 举报
回复
用Directui不知道可以不可以,楼主可以去了解一下。
fage87295970 2011-02-20
  • 打赏
  • 举报
回复
继续求解。。。。
fage87295970 2011-02-19
  • 打赏
  • 举报
回复
我现在背景图片是出来了,可程序刚启动时,图片会闪两下,另外,当背景有被遮挡时,如果鼠标单击这个多文档任何地方,背景图片就会消失,当软件改变大小或背景重新被遮挡时,图片才会出来,当另一个程序在背景上移动时,被遮挡区域会闪烁。哪位达人指点一下。。。。
Formular1 2011-02-19
  • 打赏
  • 举报
回复
建议去codeproject/sourceforge上找一些开源项目,重新自己开发,周期太长。
fage87295970 2011-02-19
  • 打赏
  • 举报
回复
现在有个新的问题了,怎样给多文档主框架贴背景图片啊,我是这样做的:
先写一个类CMYMDIClient继承CWnd,在其OnEraseBkgnd()中加载背景图片,然后在CMainFrame::OnCreate中m_wndMYMDIClient.SubClassWindow(m_hwndMDIClient);(wndMYMDIClient是CMYMDIClient类的一个对象),这种方式在vc6中是可以的,可为什么在vc2008 sp1中不行呢,报错的地方是在wincore.cpp中的Attach()函数中的ASSERT(FromHandlePermanent(hWndNew) == NULL)。报错的原因是m_hwndMDIClient已经在permanent map中了,所以不能再对m_hwndMDIClient进行Attach了,可我不知道这是为什么,为什么在vc6中没有问题
于是,我采用另外一种方式,方法如下:用PreTranslateMessage(MSG* pMsg) 截获MDI客户窗口WM_PAINT消息,在这个函数中向主框架窗口发送WM_PAINT消息,在该消息的处理函数中实现彩色位图的显示。的具体实现如下:
1、向程序添加256色彩色位图资源,命名为IDB_BITMAP1;
2、用ClassWizard向主框架类添加函数CMainFrame::PreTranslateMessage(MSG* pMsg);
3、用ClassWizard向主框架类添加函数CMainFrame::OnPaint();
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{  
if(pMsg->hwnd==m_hWndMDIClient && pMsg->message==WM_PAINT)   
PostMessage(WM_PAINT);   
return CMDIFrameWnd::PreTranslateMessage(pMsg);  
}  
void CMainFrame::OnPaint()  
{   
CDC dc, memdc;   
dc.m_hDC=::GetDC(this->m_hWndMDIClient);   
CRect rect;   
CBitmap bitmap;   
BITMAP szbitmap;   
bitmap.LoadBitmap(IDB_BITMAP1);   
bitmap.GetObject(sizeof(BITMAP),&szbitmap);   
CSize size(szbitmap.bmWidth,szbitmap.bmHeight);   
memdc.CreateCompatibleDC(&dc);   
CBitmap *oldbitmap=memdc.SelectObject(&bitmap);   
GetClientRect(&rect);   
StretchBlt(dc.m_hDC,0,0,rect.Width(),rect.Height(), c.m_hDC,0,0,size.cx,size.cy,SRCCOPY);   
memdc.SelectObject(oldbitmap);   
memdc.DeleteDC();   
dc.DeleteDC();   
CMDIFrameWndEx::OnPaint();  
}
如上方式,可以显示出背景图片了,但有闪烁(怎么办),另外,当鼠标单击到电脑桌面的任务栏上后,多文档背景图片显示了,再单击又出现了。
请大侠们帮我指出下问题,十分感谢了!
shangdacl 2011-02-18
  • 打赏
  • 举报
回复
第三方库!如果是免费的 告诉我呗 正好最近我也在摸索 界面,有第三方库的话,不用自己写了,如果不方便贴出来的话 就发我邮箱吧 349157591@qq.com 我先谢你了 哈
[Quote=引用 9 楼 wylongg 的回复:]
vs2008 mfc带的那个bcg的包,基本上没有文档,但它提供了源代码,需要楼主自己看代码,不满足条件的,楼主可能还需要二次派生。要使用文档视图结构,就不要期望所见即所得,如果非要所见即所得,除了用dialog view,就是用第三方库了,我知道一个第三方库可以所见即所得,他们找过我,但我没必要为他们做广告。

至于outlookbar,如果楼主没能力自己开发,网上很多。十年前就炒炒起来了。……
[/Quote]
fage87295970 2011-02-17
  • 打赏
  • 举报
回复
问题基本实现了,找个时间总结下吧
freecodeMAN 2011-02-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 fage87295970 的回复:]

问题基本实现了,找个时间总结下吧
[/Quote]

恭喜楼主,,,尽快发上来.
  • 打赏
  • 举报
回复
用VS做界面累死,用界面工具来做吧

哥,你懂的~
jackson35296 2011-02-16
  • 打赏
  • 举报
回复
自己看源代码吧
fage87295970 2011-02-16
  • 打赏
  • 举报
回复
可是我想我的CDockablePane固定地停靠着,不想它浮动还没实现,可不可取消那个右键显示的菜单
fage87295970 2011-02-16
  • 打赏
  • 举报
回复
我找到一个例子实现了面板功能了,http://www.cppblog.com/longzxr/archive/2010/11/07/132860.html
tompaz 2011-02-16
  • 打赏
  • 举报
回复
outlook可以同时打开好多个界面,关闭任何一个都不会导致其他的关闭,
例子里的是主界面关了,程序就退出了
Eleven 2011-02-15
  • 打赏
  • 举报
回复
VS2008SP1/VS2010的Samples里有例子程序吧
wylongg 2011-02-15
  • 打赏
  • 举报
回复
vs2008 mfc带的那个bcg的包,基本上没有文档,但它提供了源代码,需要楼主自己看代码,不满足条件的,楼主可能还需要二次派生。要使用文档视图结构,就不要期望所见即所得,如果非要所见即所得,除了用dialog view,就是用第三方库了,我知道一个第三方库可以所见即所得,他们找过我,但我没必要为他们做广告。

至于outlookbar,如果楼主没能力自己开发,网上很多。十年前就炒炒起来了。应该有多种选择。但我还是推荐microsoft的。
fage87295970 2011-02-15
  • 打赏
  • 举报
回复
谢谢啊,我也在慢慢摸索。就是msdn里的资料也很少
加载更多回复(7)
VC6界面类编程小实例\A Drag and Drop List Control.doc ...................\MFC窗口位置管理详细分析及实例.doc ...................\Toolbar制作菜单条过程详解.doc ...................\VC++6.0定制窗口的方法.doc ...................\VC++中MFC窗口对象的清除.doc ...................\VC++任务栏提示区图标的实现.doc ...................\VC++动态加入和删除菜单的方法.doc ...................\VC++环境下浮动工具条的编程.doc ...................\VC++环境下菜单和工具栏的动态修改技术.doc ...................\VC中如何捕获和释放鼠标.doc ...................\VC控件 TreeCtrl 与 ListCtrl 演示.doc ...................\VC界面编程总结.doc ...................\VC编程中如何在界面上实现3D文字.doc ...................\VC编程实现IE风格的界面.doc ...................\VC编程实现IE风格的界面之叙述.doc ...................\VC设计分割视图通用创建框架.doc ...................\VC通用控件编程之CImageList控件.doc ...................\Visual C++中位图按钮的新颖设计.doc ...................\Visual C++中实现对图像数据的读取显示.doc ...................\Visual C++中的图形特技.doc ...................\Visual C++模态对话框消息处理机制的分析.doc ...................\Visual C++窗体设计技巧集.doc ...................\Visual C++窗口标题改变的几种方法.doc ...................\Windows 界面设计:拉帘按钮设计.doc ...................\XListBox-自画条目背景和文字颜色的listbox控件.doc ...................\XP风格控件界面库.doc ...................\一个功能强大的MFC界面处理扩展库:CJ60Lib.doc ...................\一个屏幕捕捉的例子.doc ...................\一段使窗口透明的代码(仅适用于2000).doc ...................\一种漂亮的自绘菜单.doc ...................\为CListBox加上智能水平滚动条.doc ...................\为列表控件添加水平滚动条.doc ...................\为对话框程序添加工具条和状态栏.doc ...................\从资源中加载皮肤, 使用免费界面库 AppFace For VC 0.2 美化您的软件.doc ...................\位图文件读写综述.doc ...................\使用CRectTracker类进行对象动态定位.doc ...................\使用CTabCtrl控件实现属性页功能.doc ...................\使用测试优先方法开发用户界面.doc ...................\关于内存DC绘图防止屏幕闪烁说明.doc ...................\创建有个性的对话框之MFC篇.doc ...................\利用VC编程在界面上实现3D文字.doc ...................\利用钩子实现菜单阴影效果.doc ...................\制作 MSN、QQ 的消息提示窗口.doc ...................\单文档与多视的实现方法.doc ...................\图像平滑滚动效果的VC实现.doc ...................\在(CListView)列表视图中添加右键菜单.doc ...................\在ATL Browser Helper对象中使用WTL TreeView.doc ...................\在SDI MDI程序的工具条上加入漂亮的标题头.doc ...................\在VC++6.0开发中实现全屏显示.doc ...................\在VC下显示JPEG、GIF格式图像的一种简便方法.doc ...................\在VC中用CMenuXP使应用程序拥有Office XP风格的界面.doc ...................\在VC中透明浮动按键的实现.doc ...................\在Windows95,98中实现苹果窗口界面.doc ...................\在单文档中添加系统菜单项.doc ...................\在单文档程序中动态切换多个窗体.doc ...................\在对话框上加超链接.doc ...................\在类VC界面实现中加入目录树.doc ...................\在视图中同步显示鼠标的位置.doc ...................\如何创建一个不规则形状的窗口.doc ...................\如何创建无模式对话框.doc ...................\如何创建有模式对话框.doc ...................\如何制作弹出式菜单.doc ...................\如何在VC中改变控件的背景色.doc ...................\如何在状态条中加入图像.doc ...................\如何模拟《WORD》的窗口形式.doc ...................\如何编写类似于Word97的工具栏.doc ...................\如何隐藏显示在任务栏中的对话框程序.doc ...................\实现带阴影弹出的窗口.doc ...................\实现真正的Windows屏幕保护程序.doc ...................\对CXPStyleButtonST的改造.doc ...................\对话框隐藏的几种方法.doc ...................\带有菜单的EDIT控件实现.doc ...................\平面、带图片的按钮.doc ...................\扩展COleDropTarget类来支持任意窗口拖放.doc ...................\拖拉机客户端任务书.doc ...................\数据库开发之窗体编程.doc ...................\文档与视图的建立和关联.doc ...................\无闪烁刷屏技术的实现.doc ...................\显示作为窗口或对话框背景的位图.doc ...................\最简单的界面增强库EasySkin.doc ...................\树视控件在多文档中的使用.doc ...................\根据文本串的长度改变窗口的大小.doc ...................\用MFC对话框做无闪烁图片重绘.doc ...................\用SDK实现分隔条.doc ...................\用VC++制作有滚动字幕效果的软件封面.doc ...................\用VC设计托盘图标程序.doc ...................\用Visual C++实现带阴影弹出窗口的技术.doc ...................\用户界面设计的技巧与技术.doc ...................\百叶窗式面板组.doc ...................\窗口类的诞生.doc ...................\类似VcOutlook界面.doc ...................\编程打开特殊的系统窗口.doc ...................\自绘菜单的实现.doc ...................\自绘边框窗口.doc ...................\让对话框显示背景图.doc ...................\谈VC++中的Progress控件的使用.doc

15,978

社区成员

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

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