社区
界面
帖子详情
很菜的问题——如何在单文档视图区响应消息来显示字符
reyo7
2006-04-05 06:15:51
比如单击鼠标左键,视图区就显示一个指定的字符
——别问偶是谁了,一看就知道是菜鸟。谢谢!
...全文
436
22
打赏
收藏
很菜的问题——如何在单文档视图区响应消息来显示字符
比如单击鼠标左键,视图区就显示一个指定的字符 ——别问偶是谁了,一看就知道是菜鸟。谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
菜牛
2006-06-11
打赏
举报
回复
还没见解决吗?
菜牛
2006-04-13
打赏
举报
回复
别忘了#include <afxtempl.h>,放在...View.h的类声明前面。
reyo7
2006-04-13
打赏
举报
回复
不过还是很感谢Mackz和大家!
reyo7
2006-04-13
打赏
举报
回复
我的妈,132个错误,得慢慢调了!
菜牛
2006-04-10
打赏
举报
回复
生成一个SDI程序。
在C...View的头文件...view.h中,添加一个自定义结构:
typedef struct _MY_DATA
{
CPoint ptString;
CString strContent;
}MY_DATA;
添加C...View类的成员变量(别忘了#include <afxtempl.h>)
CArray<MY_DATA, MY_DATA*> m_arContent;
在C...View::OnDraw(CDC *pDC)中:
POSITION pos = m_arContent.GetHeadPosition();
while (pos)
{
MY_DATA *pContent = (MY_DATA*)m_arContent.GetNext(pos);
if (!(pContent->strContent.IsEmpty()))
pDC->TextOut(pContent->ptString.x, pContent->ptString.y, pContent->strContent);
}
在C...View::OnLButtonDown(UINT nFlags, CPoint point)中:
MY_DATA *pData = new MY_DATA;
pData->ptString = point;
pData->strContent.Format(_T("(%d, %d)"), point.x, point.y);
m_arContent.Add(pData);
Invalidate();
在C...View::~C...View()中:
POSITION pos = m_arContent.GetHeadPosition();
while (pos)
{
MY_DATA *pContent = (MY_DATA*)m_arContent.GetNext(pos);
delete pContent;
}
m_arContent.RemoveAll();
代码没有调试,可能有语法错误,自己调试一下。
reyo7
2006-04-09
打赏
举报
回复
另外还有个问题,就是我希望前面在视图显示的字符还留在窗体上,并不会因为重新点击鼠标而消失只显示新的字符
reyo7
2006-04-09
打赏
举报
回复
谢谢Mackz我已改过来了
菜牛
2006-04-08
打赏
举报
回复
我不知道你是不是拷贝了我的代码,不过C/C+++是区分大小写的。
reyo7
2006-04-07
打赏
举报
回复
'm_ptcontent'还要在哪里声明啊?
reyo7
2006-04-07
打赏
举报
回复
Mackz兄照你说的添加代码编译生成2个错误:f:\projects\hook\hook\hookview.cpp(60) : error C2065: 'm_ptcontent' : undeclared identifier
f:\projects\hook\hook\hookview.cpp(60) : error C2228: left of '.y' must have class/struct/union
type is ''unknown-type''
reyo7
2006-04-06
打赏
举报
回复
用消息处理函数调用OnDraw么?就是不知道这个消息处理函数怎么写呀!
菜牛
2006-04-06
打赏
举报
回复
最简单的:
生成一个SDI程序。
添加C...View类的成员变量
CString m_strContent;
CPoint m_ptContent;
在C...View::OnDraw(CDC *pDC)中:
if (!m_strContent.IsEmpty())
pDC->TextOut(m_ptContent.x, m_ptcontent.y, m_strContent);
在C...View::OnLButtonDown(UINT nFlags, CPoint point)中:
m_ptContent = point;
m_strContent = _T("Left Button Clicked Here!");
Invalidate();
在C...View::OnRButtonDown(UINT nFlags, CPoint point)中:
m_ptContent = point;
m_strContent = _T("Right Button Clicked Here!");
Invalidate();
在C...View::OnLButtonDblClk(UINT nFlags, CPoint point)中:
m_ptContent = point;
m_strContent = _T("Left Button Double Clicked Here!");
Invalidate();
wltg2001
2006-04-06
打赏
举报
回复
你问得不太清楚,根据鼠标点击的消息而产生的字符,但是鼠标消息并不是很多,如果你想左击显示一种字符,右击显示另一种字符,你就多写几个消息处理函数不就得了。
lily_123567
2006-04-06
打赏
举报
回复
用SetCapture()捕获所有鼠标消息,然后处理,程序结束的时候ReleaseCapture()
aa3000
2006-04-06
打赏
举报
回复
hook 鼠标事件,然后在事件响应中保存要显示的字符并且调用 InvalidateRect,OnDraw 判断是否需要显示字符。
wltg2001
2006-04-06
打赏
举报
回复
消息总是以WM_开头的,具体的你去参MSDN吧!
wlwlxj
2006-04-05
打赏
举报
回复
把点击次数和字符存储,在OnDraw里面显示
reyo7
2006-04-05
打赏
举报
回复
这个我知道,我的意思是如何鼠标点击一下就显示一个字符,也就是显示字符是根据鼠标点击的消息而产生的
lily_123567
2006-04-05
打赏
举报
回复
首先你要明白在那单击鼠标左键,视图里可以处理视图的WM_LBUTTONDOWN消息,如果是窗体框架可以处理WM_NCLBUTTONDOWN消息。
具体显示字符的方法:
CDC *pDC = GetDC();
pDC->TextOut(x坐标,y坐标,要显示的字符串);
最后别忘了
ReleaseDC(pDC);
reyo7
2006-04-05
打赏
举报
回复
随便,并不要求单击指定的按钮,哪怕在桌面上单击也行!
加载更多回复(2)
MFC
单
文档
中实现键盘字符的插入以及键盘插入符的使用
本文介绍了一个简
单
的程序实现,该程序能够
响应
键盘输入并在
视图
窗口中
显示字符
,同时移动光标位置并处理换行逻辑。文章详细解释了如何在
视图
类中通过WM_CHAR
消息
响应
函数来实现字符的绘制和光标移动,以及如何通过WM_SETFOCUS
消息
创建和显示键盘光标。
字符
消息
处理
本文介绍如何使用MFC实现字符输入显示与回车换行功能。具体步骤包括创建工程、添加WM_CHAR
消息
响应
函数,并在
视图
窗口中显示用户输入的字符,遇到回车键则自动换行。
CAD 提示字体缺失,海量字体适配各类图纸.rar
还在被 CAD 文字乱码、显示问号、字体缺失困扰?这份完整解决方案,绝大多数
问题
都能搞定,速收,欢迎下载!
创新方法【移动边界法】考虑光热电站和分时电价的微网运行调度研究(Matlab代码实现)
内容概要:本文聚焦于“移动边界法”在微网运行调度优化中的创新应用,深入研究了在集成光热电站和
响应
分时电价机制背景下的多目标协同优化
问题
。通过构建精细化数学模型,利用移动边界法动态调整调度周期内的决策边界,有效提升了微网系统对可再生能源的消纳能力与运行经济性。研究充分结合光热电站的储热特性和灵活出力优势,实现对负荷的合理转移与能源的优化配置,增强了系统在复杂电价环境下的适应性与稳定性。配套提供的Matlab代码实现了完整的优化算法流程,涵盖目标函数设计、约束条件处理及求解器接口,具有较强的可复现性与工程参考价值。此外,资源包还整合了电力系统、路径规划、机器学习等多个领域的仿真案例,形成综合性科研支持体系。; 适合人群:面向具备电力系统、自动化或能源系统优化背景,熟悉Matlab编程与基本优化理论,从事新能源调度、微电网规划、综合能源系统等方向的研究生及科研人员。; 使用场景及目标:①掌握移动边界法在动态调度
问题
中的建模思想与实现技巧;②学习光热电站与分时电价耦合下的微网多目标优化策略;③复现并改进论文算法,支撑学术研究、课题开发或科技竞赛项目;④借助配套资源拓展智能优化、机器学习等交叉领域研究视野。; 阅读建议:建议通过公众号“荔枝科研社”获取完整网盘资源,优先运行核心代码模块,结合
文档
理解移动边界策略的实现逻辑,重点关注变量边界动态调整机制与优化求解效率之间的平衡,并可借鉴其他案例进行方法迁移与创新。
机械图纸字体乱码,完整字体理顺样式.rar
做 CAD 的小伙伴注意啦!打开图纸文字乱码、缺字、全是问号?别慌,我整理了全套解决办法,大部分这类
问题
都能一次性修好,欢迎下载!
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章