一位技术宅求助各位老师-DBook

bankcommer 2014-09-25 09:31:46
  我最近在用c++ builder 6重新开发网络上已经流传多年的DBook软件,遇到一些难题,目前集中在三点:
  第一个问题:我想动态修改一个StaticText控件的OnClick事件,如果满足条件A,将将其置为Buttion1的OnClick事件OnButton1Click,否则就置为NULL。由于StaticText的Caption、Hint、Tag也会随同修改,而其修改的次数会非常多,就想封装成一个函数,函数的参数里带有触发事件,请问如何定义这个函数,函数体里的事件变量如何赋值?
  第二个问题:ListBox点击事件会触发当前编辑文档的关闭和新文档的开启,但是当前文档不论选择是否要继续编辑,Click都会生效,其Index都已经指向新的文档。不知道有没有办法实现像TreeView那样的OnChanging方法,可以阻止变化的发生。
  第三个问题:在TreeView节点滑动鼠标,以一个伴随鼠标轨迹的半透明窗体显示节点的相关信息(类似于Hint,但是用了窗体)。但是半透明窗体一旦ShowModal,TreeView的MouseMove就不起作用了。如何解决这个问题呢?Show也不行的,那样半透明窗体一闪即逝。
...全文
303 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bankcommer 2014-09-26
  • 打赏
  • 举报
回复
//自定义函数 void TMainFrm::ShowTips(AnsiString Tips,AnsiString Hint,void *Events,int KeepTime) { sTxt_EditTip->Caption=Tips; sTxt_EditTip->Hint=Hint; //sTxt_EditTip->OnClick=(void *)Events; sTxt_EditTip->Tag=KeepTime; } 事件A触发 ShowTips(“纯粹提示","纯粹提示,点击无效",NULL,5); //点击 sTxt_EditTip无反应 事件B触发 ShowTips(“含点击效果提示","纯粹提示,点击有效",Button1Click,5); //点击 sTxt_EditTip会触发Button1Click 上面OnClick那一行已经被注释掉,因为报错,不知道怎么写,或者函数定义就不对
缘中人 2014-09-26
  • 打赏
  • 举报
回复
this->StaticText1->OnClick =NULL;单击啥都不错
bankcommer 2014-09-26
  • 打赏
  • 举报
回复
抱歉,我忘了说它是实时检测鼠标位置变化,节点变了,旧半透明窗体关闭,创建新的,而不是变更原来窗体内容和位置。
bankcommer 2014-09-26
  • 打赏
  • 举报
回复
我着急了,三个写在一起,表达仓促。
假若我写一个函数,要动态调用参数,当参数等于NULL时,啥都不做,等于Button2Click时执行它。这个函数怎么定义、实现?我不知道参数怎么写、怎么用。
缘中人 2014-09-26
  • 打赏
  • 举报
回复
ShowModal肯定不行,show后不delete也不会自己消失啊
缘中人 2014-09-26
  • 打赏
  • 举报
回复

	void __fastcall Button1Click(TObject *Sender);
	void __fastcall StaticText1Click(TObject *Sender);
	void __fastcall Button2Click(TObject *Sender);
void __fastcall TForm1::StaticText1Click(TObject *Sender)
{
	ShowMessage("StaticText1Click");
}

// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	this->StaticText1->OnClick = Button2Click;
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
	ShowMessage("Button2Click");
}

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧