社区
ATL
帖子详情
WTL界面问题
LC3030
2009-07-22 12:01:02
最近在写个UI控件
现在需要实现通过鼠标拖选界面上的字符,以及滚动条的效果
效果与richedit差不多,但是不需要输入功能
请大侠们帮提示一下?
...全文
131
6
打赏
收藏
WTL界面问题
最近在写个UI控件 现在需要实现通过鼠标拖选界面上的字符,以及滚动条的效果 效果与richedit差不多,但是不需要输入功能 请大侠们帮提示一下?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LC3030
2009-07-23
打赏
举报
回复
滚动条基本解决了
现在就差那个拖动选取字符的功能了
wshcdr能不能说清楚一点,我现在在公司,只能上csdn,比较麻烦
能不能讲清楚点或者是发些资料给我啊?
我的邮箱是 zhengcilin@revenco.com
LC3030
2009-07-22
打赏
举报
回复
typedef CWinTraits <WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VSCROLL |
WS_HSCROLL | ES_READONLY | WS_EX_APPWINDOW | WS_EX_WINDOWEDGE> CHexFrameWinTraits;
class CHexCtrl : public CWindowImpl <CHexCtrl,CEdit,CHexFrameWinTraits>
{
//...
BEGIN_MSG_MAP(CHexCtrl)
//...
MESSAGE_HANDLER(WM_HSCROLL, OnScroll)//滚动条的消息映射
MESSAGE_HANDLER(WM_VSCROLL, OnScroll)
END_MSG_MAP()
//...
LRESULT OnScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if(uMsg == WM_VSCROLL)
{
DestroyWindow();
}
return 0;
}
};
我写的控件的部分代码如上,现在能响应滚动条的消息,但是不知道怎么去处理!!
还有就是那个拖动鼠标左键选取界面上的字符的效果,也完全不知道怎么实现,搞了几天了!!!
LC3030
2009-07-22
打赏
举报
回复
[code=C/C++][/typedef CWinTraits<WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VSCROLL |
WS_HSCROLL | ES_READONLY | WS_EX_APPWINDOW | WS_EX_WINDOWEDGE> CHexFrameWinTraits;
class CHexCtrl : public CWindowImpl<CHexCtrl,CEdit,CHexFrameWinTraits>
{
//...
BEGIN_MSG_MAP(CHexCtrl)
//...
MESSAGE_HANDLER(WM_HSCROLL, OnScroll)//滚动条的消息映射
MESSAGE_HANDLER(WM_VSCROLL, OnScroll)
END_MSG_MAP()
//...
LRESULT OnScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if(uMsg == WM_VSCROLL)
{
DestroyWindow();
}
return 0;
}
};]
我写的控件的部分代码如上,现在能响应滚动条的消息,但是不知道怎么去处理!!
还有就是那个拖动鼠标左键选取界面上的字符的效果,也完全不知道怎么实现,搞了几天了!!!
aa3000
2009-07-22
打赏
举报
回复
把 richedit 设置为 readonly
wshcdr
2009-07-22
打赏
举报
回复
看看CTrackRect呢
LC3030
2009-07-22
打赏
举报
回复
自己先up一下
wtl
制作的精美
界面
源码
用
wtl
制作的精美
界面
,程序的功能支持网络多播和组播. 可以用于多网卡.
WTL
做的FlashGet
界面
WTL
做的FlashGet
界面
更多信息请查看 www.iubang.com
VC下的
WTL
图形
界面
入门
WTL
入门必备,详细介绍了
WTL
的使用,解注意事项。
Atl调用
WTL
生成
界面
Atl 利用
WTL
生成
界面
com接口 供外部调用
MFC程序员的
WTL
编程
WTL
具有两面性,确实是这样的。它没有MFC的
界面
(GUI)类库那样功能强大,但是能够生成很小的可执行文件。如果你象我一样使用MFC进行
界面
编程,你会觉得MFC提供的
界面
控件封装使用起来非常舒服,更不用说MFC内置的消息处理机制。当然,如果你也象我一样不希望自己的程序仅仅因为使用了MFC的框架就增加几百K的大小的话,
WTL
就是你的选择。当然,我们还要克服一些障碍: ATL样式的模板类初看起来有点怪异 没有类向导的支持,所以要手工处理所有的消息映射。 MSDN没有正式的文档支持,你需要到处去收集有关的文档,甚至是查看
WTL
的源代码。 买不到参考书籍 没有微软的官方支持 ATL/
WTL
的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与
WTL
。 从另一方面讲,
WTL
也有它自身的优势: 不需要学习或掌握复杂的文档/视图框架。 具有MFC的基本的
界面
特色,比如DDX/DDV和命令状态的自动更新功能(译者加:比如菜单的Check标记和Enable标记)。 增强了一些MFC的特性(比如更加易用的分隔窗口)。 可生成比静态链接的MFC程序更小的可执行文件(译者加:
WTL
的所有源代码都是静态链接到你的程序中的)。 你可以修正自己使用的
WTL
中的错误(BUG)而不会影响其他的应用程序(相比之下,如果你修正了有BUG的MFC/CRT动态库就可能会引起其它应用程序的崩溃。 如果你仍然需要使用MFC,MFC的窗口和ATL/
WTL
的窗口可以“和平共处”。(例如我工作中的一个原型就使用了了MFC的CFrameWnd,并在其内包含了
WTL
的CSplitterWindow,在CSplitterWindow中又使用了MFC的CDialogs -- 我并不是为了炫耀什么,只是修改了MFC的代码使之能够使用
WTL
的分割窗口,它比MFC的分割窗口好的多)。 在这一系列文章中,我将首先介绍ATL的窗口类,毕竟
WTL
是构建与ATL之上的一系列附加类,所以需要很好的了解ATL的窗口类。介绍完ATL之后我将介绍
WTL
的特性以并展示它是如何使
界面
编程变得轻而易举。
ATL
3,245
社区成员
48,537
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章