社区
C++ 语言
帖子详情
一个关于VC++的问题,希望大虾帮忙解答,谢谢!
wuyoudian
2009-06-06 10:50:17
简单的说一下,一矩形和两个三角形,每个图形内填充了不同的颜色。我在其中某一图形内
点击左键
,他的颜色就变成边框的颜色,再点击又变回来,就这样啦!应该说清楚了吧!希望各位大虾鼎力相助,不胜感激!!!(VC++)
...全文
31
10
打赏
收藏
一个关于VC++的问题,希望大虾帮忙解答,谢谢!
简单的说一下,一矩形和两个三角形,每个图形内填充了不同的颜色。我在其中某一图形内点击左键,他的颜色就变成边框的颜色,再点击又变回来,就这样啦!应该说清楚了吧!希望各位大虾鼎力相助,不胜感激!!!(VC++)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wuyoudian
2009-06-07
打赏
举报
回复
终于弄好了 谢谢各位的热心帮助
yang_fujiang
2009-06-06
打赏
举报
回复
[Quote=引用 4 楼 zhangjundriver 的回复:]
我觉得,先获取你鼠标点击的位置。
然后判断位置是否在你确定的区域内与否
最后如果在规定的区域内,则进行响应,变换颜色。
[/Quote]
恩 我以前也做过类似的
就是这种方法
可以效法
zhangjundriver
2009-06-06
打赏
举报
回复
我觉得,先获取你鼠标点击的位置。
然后判断位置是否在你确定的区域内与否
最后如果在规定的区域内,则进行响应,变换颜色。
wuyoudian
2009-06-06
打赏
举报
回复
非常很感谢您的帮助,但是能说的再祥细点吗?这块刚学,还不是很懂,麻烦啦!谢谢!!!
npuhuxl
2009-06-06
打赏
举报
回复
把所有的三角形和正方形形成一个列表,每个形状包含一个背景颜色的成员变量,
处理WM_LButtonDown检测点在哪个形状内,然后重新设置该形状的背景颜色,再重新绘制(invalidaterect)
wuyoudian
2009-06-06
打赏
举报
回复
麻烦各位大虾在看一下,我这错误是砸么回事……
当我在矩形框内点击左键时,就会弹出一对话框,提示生成的.exe遇到问题需要关闭……
我添加的代码如下:(int a=146;)
void CCbView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//判断鼠标是否点击在矩形框内
if( point.x>195&& point.x<255&& point.y<255&&point.y>145)
CCbView::MaRec();
CView::OnLButtonDown(nFlags, point);
}
void CCbView::MaRec()
{
//用一系列红色线条填充矩形框
CDC* pDC;
CPen mypen,mypen1,mypen2;
CPen*myoldPen,*myoldPen1,*myoldPen2;
mypen1.CreatePen(PS_SOLID,1,RGB(255,0,0));
myoldPen1=pDC->SelectObject(&mypen1);
while(a++!=255)
{
pDC->MoveTo(196,a);
pDC->LineTo(254,a);
}
}
wuyoudian
2009-06-06
打赏
举报
回复
谢谢各位的帮助 学习ing
wuleibilly3
2009-06-06
打赏
举报
回复
上面都大致说了实现的方法了
更细节点就是 要响应窗口的消息
第一个消息 是获取鼠标位置的消息
WM_MOUSEHOVER
int cx = LOWORD(lParam); //鼠标在窗口中的X坐标
int cy = HIWORD(lParam);//鼠标在窗口中的Y坐标
然后判断这个位置 是否在图形内 可以先获取这个图像的位置 然后 通过算法判断是否在矩形内
当在矩形内的话 就可以利用 一个变量 先把它设置为int flag=1; 然后 将其 flag=-flag;
然后发送 重绘消息 wm_paint ::sendmessage(hwnd,wm_paint,0,0);
在wm_paint 消息里 绘制图形
if(flag=1){
//原始图形状态
}else(flag=-1){
//改变后的状态
}
以上是很简单的实现方法了
wuyoudian
2009-06-06
打赏
举报
回复
谢谢各位大虾的指点,我试试啦!但如果有你们手上实例的话,还望把源代码贴出来,谢谢!!!
DSShop单店铺TP框架开源商城B2C源码V3.1.0版
DSShop单店铺TP框架开源商城B2C源码V3.1.0版
canoco指南-下载即用.zip
下载代码方式:https://pan.quark.cn/s/fb995b395987 生态软件Canoco的使用指南,由沈会涛撰写,其内容主要包括三个方面:首先是对群落排序方法的讲解;其次是关于Canoco软件的介绍;最后是对数据进行分析的步骤。感谢关注!
agent-engine.zip
agent-engine.zip
D触发器工作原理-下载即用.zip
代码下载地址: https://pan.quark.cn/s/97354021ce37 d触发器原理 [收藏] 维持阻塞D触发器 1 维持阻塞D触发器的电路结构 维持阻塞D触发器的电路如图1所示。从电路构造上可以观察到,该触发器是在基本RS触发器的基础上额外增加了四个逻辑门而形成的,其中C门的输出构成了基本RS触发器的清零路径,而D门的输出则形成了置位路径。C门与D门受时钟控制,能够调控数据[D]是否能够传送至基本RS触发器的输入端口。E门将数据[D]以非的形式传递至C门的输入端,随后经过F门将数据[D]以原形式传递至D门的输入端。这样设计是为了使数据[D]在时钟信号到来后,通过C门与D门实现清零或置位操作。 ### D触发器原理详解 #### 一、维持阻塞D触发器的电路结构 维持阻塞D触发器是一种常见的同步数字电路元件,其主要功能是存储一位二进制数据,并且能够在时钟信号的控制下执行数据的读写操作。该触发器通过在基本的RS触发器上增加四个逻辑门(C门、D门、E门、F门)来实现其特殊功能。 **C门**的输出用于控制基本RS触发器的清零通道,而**D门**的输出则用于控制置位通道。借助这两个门,可以在时钟信号的控制下实现数据的传输。具体而言,E门负责将数据[D]以非变量的形式传递给C门的输入端,而F门则将数据[D]以原变量的形式传递给D门的输入端。这样的设计目的是为了让数据[D]在等待时钟信号到来之后,能够通过C门和D门完成清零或置位操作。 #### 二、维持阻塞D触发器的工作原理 维持阻塞D触发器的核心机制在于利用时钟信号的变化来控制数据的有效传输,从而实现数据的存储与更新。下面我们通过具体的情形来进一步阐释这一过程。 假定触发器当前状态Q=0,输入数据[D]=...
电力系统-基于10机39节点的电力系统仿真(Matlab、Simulink仿真)
内容概要:本文围绕基于10机39节点的电力系统仿真展开,依托Matlab与Simulink平台构建标准电力系统模型,系统开展潮流计算、暂态稳定性分析、短路故障仿真及动态响应评估等研究。文档不仅提供了完整的IEEE 39节点系统建模与仿真流程,还深入探讨了电力系统在不同运行工况下的电压、电流变化特性与稳定性表现。同时,资料整合了多项相关研究主题,涵盖微电网优化调度、分布式能源接入、储能配置、多能源系统协同运行、电力系统故障诊断及多种智能优化算法(如ADMM、NSGA-II、鲸鱼算法等)在电力系统中的应用,充分体现了该仿真平台在科研与工程实践中的广泛适用性与高阶延展价值。; 适合人群:具备电力系统分析基础理论知识,熟练掌握Matlab/Simulink仿真工具,正在从事电力系统稳定性、微电网优化、新能源并网、故障分析等相关方向研究的研究生、科研人员及电力行业工程技术人员。; 使用场景及目标:①作为电力系统课程教学与高级仿真实验的实践素材;②支撑硕士、博士论文中关于系统稳定性、故障仿真或优化调度章节的模型构建与结果验证;③用于复现高水平EI期刊或顶刊论文中的电力系统优化与控制策略;④开展微电网群调度、N-k故障分析、储能配置、电氢耦合系统等前沿课题的算法开发与仿真验证; 阅读建议:建议结合文档提供的Matlab代码与Simulink模型进行动手实践,重点掌握IEEE 39节点系统的参数设置、潮流求解与故障仿真步骤,并延伸学习文中提及的优化算法与多场景应用案例,以实现从基础建模到高级科研的跃迁。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章