社区
VCL组件使用和开发
帖子详情
关于DrawGrid组件的用法!!!
tujj99
2003-08-23 02:39:39
我想改变指定的单元的背景颜色,如何实现??
即用鼠标单击一单元,该单元颜色就变化,再单击一下就还原!!!
这个功能怎么实现呢??
...全文
453
4
打赏
收藏
关于DrawGrid组件的用法!!!
我想改变指定的单元的背景颜色,如何实现?? 即用鼠标单击一单元,该单元颜色就变化,再单击一下就还原!!! 这个功能怎么实现呢??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hellolulu
2003-08-26
打赏
举报
回复
不好意思,从C++Builder粘过来后有乱码,贴了二次都不完全正确
我再试一次
试一下下面的代码
在头文件声明一个足够大的数组,下标应大于最大的Grid的网格下标
private: // User declarations
int ColorNo[10][10];
然后:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for (int i=0;i<10;i++) for (int j=0;j<10;j++) ColorNo[i][i]=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DrawGrid1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TGridCoord XY=DrawGrid1->MouseCoord(X,Y);
TRect R1=DrawGrid1->CellRect(XY.X,XY.Y);
ColorNo[XY.X][XY.Y]=1-ColorNo[XY.X][XY.Y];
TColor C1;
if (ColorNo[XY.X][XY.Y]==1) {
C1=clBlue; //改变后的颜色
}
else {
C1=clWhite; //原色;
}
DrawGrid1->DefaultDrawing=false;
DrawGrid1->Canvas->Brush->Color=C1;
DrawGrid1->Canvas->Rectangle(R1);
//如果需要填写字符,则
//DrawGrid1->Canvas->TextOutA(R1.X+2,R1.Y+2,字符串);
}
hellolulu
2003-08-26
打赏
举报
回复
void __fastcall TForm1::DrawGrid1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TGridCoord XY=DrawGrid1->MouseCoord(X,Y);
TRect R1=DrawGrid1->CellRect(XY.X,XY.Y);
ColorNo[XY.X][XY.Y]=1-ColorNo[XY.X][XY.Y];
TColor C1;
if (ColorNo[XY.X][XY.Y]==1) {
C1=clBlue; //改变后的颜色
}
else {
C1=clWhite; //原色;
}
DrawGrid1->DefaultDrawing=false;
DrawGrid1->Canvas->Brush->Color=C1;
DrawGrid1->Canvas->Rectangle(R1);
//如果需要填写字符,则
//DrawGrid1->Canvas->TextOutA(R1.X+2,R1.Y+2,字符串);
}
//---------------------------------------------------------------------------
hellolulu
2003-08-26
打赏
举报
回复
试一下下面的代码
在头文件声明一个足够大的数组,下标应大于最大的Grid的网格下标
private: // User declarations
int ColorNo[10][10];
然后:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for (int i=0;i<10;i++) for (int j=0;j<10;j++) ColorNo[i][i]=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DrawGrid1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TGridCoord XY=DrawGrid1->MouseCoord(X,Y);
TRect R1=DrawGrid1->CellRect(XY.X,XY.Y);
ColorNo[XY.X][XY.Y]=1-ColorNo[XY.X][XY.Y];
TColor C1;
if (ColorNo[XY.X][XY.Y]==1) {
C1=clBlue; //¸Ä±äÒÔºóµÄÑÕÉ«
}
else {
C1=clWhite; //ÔÉ«
}
DrawGrid1->DefaultDrawing=false;
DrawGrid1->Canvas->Brush->Color=C1;
DrawGrid1->Canvas->Rectangle(R1);
//Èç¹ûµ¥ÔªÉÏÓÐÄÚÈÝÔò
//DrawGrid1->Canvas->TextOutA(R1.X+2,R1.Y+2,ÄÚÈÝ);
}
//---------------------------------------------------------------------------
tujj99
2003-08-25
打赏
举报
回复
没有人回答,55555
C++ Builder
Draw
Grid
控件基本
用法
,使用实例,一个例子(诚诚照片Demo)
C++ Builder
Draw
Grid
控件基本
用法
,怎么用,使用实例,一个例子(诚诚照片Demo)
Delphi7编程100例
使用
Draw
Grid
控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的灰度级处理效果 3种像素历遍方法的比较和实现 实现屏幕拷贝 实现图像漫游...
Delphi编程100例
使用
Draw
Grid
控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的灰度级处理效果 3种像素历遍方法的比较和实现 实现屏幕拷贝 实现图像漫游 4种幕布式图像...
《Delphi7编程100例》代码
ToolBar工具栏控件的使用动态建立主菜单选项窗口界面的动态分隔条动态设置...
Draw
Grid
控件制作五子棋多彩的数据报表按压缩比将BMP转换为JPG16位真彩转换到256色调整图片的RGB对比度实现图像的灰度级处理效果3种像素历遍...
Delphi7 编程 100 实例
ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的动态分隔...
Draw
Grid
控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的灰度级...
VCL组件使用和开发
604
社区成员
13,459
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章