| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 775 人关注过本帖
标题:CStatic派生类,Create出错
只看楼主 加入收藏
weiyinwu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-10-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
CStatic派生类,Create出错
我做了一个CStatic的派生类,可以加链接的。
在动态创建Create时,运行出错。

CHyperLinker *pLink;
pLink=new CHyperLinker;
pLink->Create("HI",WS_VISIBLE|WS_CHILD|SS_NOTIFY,CRect(0,0,100,100),this,6000);

将CHyperLinker换在CStatic就OK。请问有什么方法可以解决么?
在网上搜了半天,就在CSDN网站上看到一个类似的问题,也没有解决。
搜索更多相关主题的帖子: 网站 Create 动态 网上 
2011-12-14 21:11
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:20 

CHyperLinker 里面怎么过写的
有跟踪过错误原因吗?
2011-12-15 08:32
weiyinwu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-10-21
收藏
得分:0 
以下是引用hahayezhe在2011-12-15 08:32:20的发言:


CHyperLinker 里面怎么过写的
有跟踪过错误原因吗?
CHyperLinker在非动态使用时很正常。

以前我都没有跟踪过程序,都是使用Release模式直接运行测试的,刚切换到Debug模式,去掉CHyperLinker后,结果,调试运行就出错。Release就不会出错。
CHyperLinker.h如下:
程序代码:
#include <list>
using namespace std;
class   CHyperLinker   :   public   CStatic
{
struct URLAttr
{
    BOOL m_bIsIn;
    BOOL m_bVisited;
    BOOL m_bAboveControl;
    COLORREF m_Color; //无链接文本颜色
    CString m_sURL;
    CString m_Text;
    CRect rect;
};
public:
    list <URLAttr> m_UrlAttr;
    list <URLAttr>::iterator it;
    list <URLAttr>::iterator itMove;
    list <URLAttr>::iterator itMove1;
    CHyperLinker();
    virtual   ~CHyperLinker();
public:
    COLORREF   m_InitColor; //无链接文本颜色
    COLORREF   m_URLColor; //文本初始颜色
    COLORREF   m_VisitedColor; //文本被访问过后的颜色
    COLORREF   m_CoverColor; //鼠标悬浮在文本上方时的颜色 

    CString m_sURL; //   URL或者应用程序的位置
    CString m_sOpenURL; //   URL或者应用程序的位置
    CString m_strCount;//用来计算长度
    CFont      m_Font;                                                                 //   设定字体
    HCURSOR    m_hLinkCursor;//   光标
    BOOL m_bUnderLine;//文字下划线
    DWORD dwStyle;//样式,存放此Static的对齐方式等
    CRect rectCtrl;//控件处在的父窗口样式。

public:
    CString strRtn;
    COLORREF AddColor(CString Color);
    void TransText();
    void SetAttribute(COLORREF InitColor=RGB(0,0,0),COLORREF URLColor=RGB(0,0,255),COLORREF VisitedColor=RGB(128,0,128),  
                                        COLORREF   CoverColor=RGB(125,125,0),BOOL UnderLine=TRUE);
    BOOL OpenUsingShellExecute(); 

//virtual void SetWindowText(LPCTSTR lpszString);
//   ClassWizard   generated   virtual   function   overrides
//{{AFX_VIRTUAL(CHyperLinker)
    public:
    protected:
    virtual   void   PreSubclassWindow();
    //}}AFX_VIRTUAL

protected: 

//   Generated   message   map   functions
//{{AFX_MSG(CHyperLinker)
afx_msg   void   OnMouseMove(UINT   nFlags,   CPoint   point);
afx_msg   void   OnLButtonDown(UINT   nFlags,   CPoint   point);
afx_msg void OnPaint();
afx_msg   LRESULT  OnSetText(WPARAM wParam,LPARAM  lParam);
//}}AFX_MSG 

DECLARE_MESSAGE_MAP()
}; 
2011-12-15 08:52
快速回复:CStatic派生类,Create出错
数据加载中...
 
   



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

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