怎么用一个键显示和隐藏form!!!!

rokyo 2003-02-06 07:48:32
我用的是hook 现在
if(GetAsyncKeyState(VK_F12){ ShowForm();}


bool ShowForm(Tfmshow *Form1)
{
bool FormExist=false;
for(int i=0;i<Screen->FormCount;i++)
if(Screen->Forms[i]->ClassType()==Form1->ClassType())
{
FormExist=true;
break;}
if(FormExist==false)
{ Form1=new Tfmshow(NULL);
WndHandle = FindWindow(NULL,"nage");
ShowWindow(WndHandle,SW_HIDE);
ShowWindow(Form1->Handle,SW_SHOW);
returnValue=FALSE;
}
if(FormExist==true)
{
ShowWindow(Form1->Handle,SW_HIDE);
returnValue=TRUE;
}
else if(returnValue==true)
{
ShowWindow(Form1->Handle,SW_SHOW);
ShowWindow(WndHandle,SW_HIDE);
returnValue=FALSE;
}
return true;
}
我是想当我用F12是后出现Form1再次按F12时隐藏Form1 (不是关掉) 当我再次按F12时
又显示Form1
我这段有问题 我按F12老是新建Form 按几下就有几个
不能隐藏
为什么??
...全文
56 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zihan 2003-02-10
  • 打赏
  • 举报
回复
你为什么要用钩子啊?
你注册一个系统热键不就很好用了吗?只要一句话就可以搞定了,绝对不会出问题的
lianghe 2003-02-09
  • 打赏
  • 举报
回复
你自己建一个XXX.DEF的文件(文本的),加入工程里就行了。
那两句放在源程序的前面。
rokyo 2003-02-07
  • 打赏
  • 举报
回复
大哥我的源程序里没有一个叫*.def的文件呀
我这是个带vcl的dll
#pragma option -zRSHSEG // 改变缺省数据段名
#pragma option -zTSHCLASS // 改变缺省数据类名
者两句放在那里呀
lianghe 2003-02-06
  • 打赏
  • 举报
回复
// 纯文本文件 Hook.def的内容如下:
// SEGMENTS SHSEG CLASS 'SHCLASS' SHARED

#pragma option -zRSHSEG // 改变缺省数据段名
#pragma option -zTSHCLASS // 改变缺省数据类名

以上用来声明全局数据段,要是不在DLL中和仅HOOK本程序的可以不用。
bool FormExist=false;

if(GetAsyncKeyState(VK_F12){ ShowForm();}


bool ShowForm(Tfmshow *Form1)
{
if(!FormExist)
{ Form1=new Tfmshow(NULL);
FormExist=true;
WndHandle = FindWindow(NULL,"nage");
ShowWindow(WndHandle,SW_HIDE);
ShowWindow(Form1->Handle,SW_SHOW);
returnValue=FALSE;
}
else
{
ShowWindow(Form1->Handle,SW_HIDE);
returnValue=TRUE;
}
else if(returnValue==true)
{
ShowWindow(Form1->Handle,SW_SHOW);
ShowWindow(WndHandle,SW_HIDE);
returnValue=FALSE;
}
return true;
}
rokyo 2003-02-06
  • 打赏
  • 举报
回复
我还是没懂你的意思 如果我先new 怎么做修改一下我的代码好吗?
我的代码到底有什么问题 当我按F12时候都是新SHOW出FORM
WHY????
叶子哟 2003-02-06
  • 打赏
  • 举报
回复
当然了,你是new嘛,你可以先new出来,再隐藏,需要的时候show出来!

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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