mrzdp:amok,好久没联系了,近来可好?
(发表于2005-11-11 12:48:00)
aMok:mrzdp兄,好久无见了,我还是一个样,累,现在手头上还有两个小工程,15号就要交一个,赶得不得了。以前vccode.com的朋友我联系得最多的是WuCountry,我常去他的blog。
(发表于2005-11-12 8:04:00)
superdai:感谢你的奉献。
(发表于2005-11-14 9:53:00)
aMok:superdai兄不用谢,你肯用它就是对我最好的回报。
(发表于2005-11-14 13:15:00)
Vegeta:UE可以高亮显示,但却没法儿输出成HTM格式,希望你能作出这种功能,GOOD LUCK!
(发表于2005-11-15 15:54:00)
tohjs:在VCCODE上见过aMok的作品,可是那里现在怎么上不去了呢?
(发表于2005-11-16 17:06:00)
aMok:新发现了一个手误:
__forceinline UINT CPfxEditHash::HashKey(LPCTSTR pKey, LONG cch) const
{
UINT nHash = 0;
// !!!应为PFX_EC_KEYWORD_MAP_MAX_KEYWORD_LEN
LPCTSTR lp = pKey + min(cch, PFX_EC_KEYWORD_MAP_HASH_TABLE_SIZE);
while (pKey < lp)
{
nHash = (nHash << 5) + nHash + *pKey++;
}
return (nHash % PFX_EC_KEYWORD_MAP_HASH_TABLE_SIZE);
}
(发表于2005-11-16 19:15:00)
aMok:to Vegeta:
这个控件在处理形如HTML语法的文件时效果不是很理想,因为它没有“tag块”的意识,例如
“
body
”这里的“body”肯定被高亮显示。
要输出成HTML文件其实很容易做到,但当初设计时因为欠缺考虑,很多地方使用了“HDC hDC”等代码,
这是不好的地方。如果你真需要输出成其他文件,我建议你这样做:
1)定义一个接口IPfxEditDC
class IPfxEditDC
{
virtual void ExtTextOut(...) = 0; // 省参数
virtual void SetTextColor(...) = 0;
virtual void MoveTo(...) = 0;
...etc
};
2)将CPfxEditView中的绘制函数与DC有关的参数改成IPfxEditDC* pDC,例如:
void DrawPlainText(CDC* pdcSrc, CDC* pdcMem, CPfxEditViewPaintContext& pc)
改成
void DrawPlainText(IPfxEditDC* pdcSrc, IPfxEditDC* pdcMem, CPfxEditViewPaintContext& pc)
3)实现IPfxEditDC的不同版本:
屏幕输出的就可以简单的wrap一下CDC的
class CMyDC : public IPfxEditDC
{
CDC* m_pDC;
virtual void ExtTextOut(...) { m_pDC->ExtTextOut(...); }
virtual void SetTextColor(...) { m_pDC->SetTextColor(...); }
...etc
}
(发表于2005-11-16 19:18:00)
aMok:to Vegeta:
输出成HTML或PDF版本的就各自实现
class CMyHTMDC : public IPfxEditDC
{
CArchive m_ar;
virtual void ExtTextOut(LPCTSTR pszText, ...) { m_ar << pszText; } // 写入到文件
virtual void SetTextColor(COLORREF clr) { m_ar << _T("
...etc...
}
CMyPDFDC : public IPfxEditDC
{
...
}
因为可以通过IPfxEditDC来拦截CPfxEditView的输出,你甚至可以知道它的输出坐标,所以还能输出成PDF文件。
(发表于2005-11-16 19:20:00)
Vegeta:3ks
(发表于2005-11-18 11:48:00)
VC70新手:原来amok的真名是陈建初,这个在vccode上没见过
(发表于2005-12-5 7:25:00)
aMok:haha, VC70很高兴又见到你^_^
(发表于2005-12-5 13:56:00)
VC70新手:呵呵,好久不见了。别拼得太狠,注意身体
(发表于2005-12-6 14:45:00)
漂流:我一直用Editplus用得很好,除了编mak文件浪费时间,一直用得很好,aMok要加倍努力。
(发表于2005-12-22 23:04:00)
..........................................................................
--------------------next---------------------