标题:Mr.Oliver Smith开发的Visual Studio风格浮动窗口考验编程高手
只看楼主
网球浪子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-5-21
 问题点数:0 回复次数:3 
Mr.Oliver Smith开发的Visual Studio风格浮动窗口考验编程高手
Mr.Oliver Smith开发的Visual Studio风格浮动窗口考验编程高手     

   在开发应用程序时,许多开发人员都很关注应用程序的界面设计,我们设计的程序是否能够吸引用户,是否能够展示程序的精彩内涵,很大程度上取决于是否有一个好的用户界面。

     Mr.Oliver Smith编写的类CCoolDialogBar。类CCoolDialogBar由CCountrolBar派生,是一个优秀的浮动窗口类,可以在框架窗口内任意停靠,并可由鼠标拖动改变窗口的大小。CCoolDialogBar的实现代码较长,本人提供该工程的源代码,有兴趣的读者可以参考了解这些源代码的设计与实现,为自己的程序设计增光添彩。

   本程序在vc6上运行通过,没有问题,可以直接应用,本人曾经在程序中使用,效果很好。大家可以在vc6直接引用,但是在vc2005无法编译。

   为此,征求编程高手,使它能够在vc2005下通过编译。由于vc2005严格的参数检查,造成该程序不能正常编译,现在,本人提供程序源代码,考验一下大家对于vc2005编程的类型转换进行一次强化练兵。

   编程高手们,这里需要你大展身手!

DockTool.rar (40.97 KB)
搜索更多相关主题的帖子: Oliver Studio风格 Smith Visual 源代码 
2008-05-22 16:08
网球浪子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-5-21
得分:0 
这个问题我尝试着问了好多论坛,都没有的合适的解答,真正的高手,你们在哪里????
2008-05-22 16:40
网球浪子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-5-21
得分:0 
高手,高手,呼唤高手!!!!!
2008-05-22 16:56
网球浪子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-5-21
得分:0 
有一个编译错误,但是在vc6却没有问题,2005无法通过,求达人帮助
afx_msg void OnAddString(const CString* str);(函数声明)
错误说明: “static_cast”: 无法从“void (__thiscall COutputView::* )(const CString *)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”

我把函数改成LRESULT COutputView::OnAddString(WPARAM wparam,LPARAM lparam)结果错误更多(函数体及声明见后面)
由于必须函数指针参数类型必须一致,参数个数必须一致,返回值必须一致,调用方式必须一致
所以具体怎么实现,请高手知道一下,最好能够将函数的声明及传递参数写明

    afx_msg void OnAddString(const CString* str); //头文件声明

    ON_MESSAGE(UMSG_ADDSTRING,OnAddString)

void COutputView::OnAddString(const CString* str) //源函数定义
{
    m_strList.AddTail(*str);

    CSize size = GetTotalSize();
    int height = m_strList.GetCount()*m_FontHeight;
    if(height > size.cy){
        SetScrollSizes(MM_TEXT,CSize(500,height));
        POINT pt;
        pt.x = 0;
        pt.y = height;
        ScrollToPosition(pt);
    }

    Invalidate(FALSE);

    MSG msg;
    if(::PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
        ::SendMessage(msg.hwnd, msg.message, msg.wParam, msg.lParam);
    }
}
2008-05-22 17:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-215630-1-1.html




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

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