窗体隐藏问题

多壮志 2013-04-25 03:58:25
窗体F,按钮B,B的ONCLICK内容是
hide (隐藏f)

窗体F1,有按钮B1,B1的ONCLICK的内容是
showindow(...,sw_normal);(显示f)

然后
依次点击
1:b,
2:b1,
3:b,
4:b1
结果是1,2步骤正常,3无法再隐藏,自然4也就没有什么意义。

不知道什么原因!求教!
...全文
173 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
-由零开始 2013-05-28
  • 打赏
  • 举报
回复
隐藏不行就用关闭试试呗。 这是.net吧,
金卯刀 2013-04-26
  • 打赏
  • 举报
回复
窗体F1中B1在Show窗体F之前,重新找一下句柄。
feiba7288 2013-04-26
  • 打赏
  • 举报
回复
引用 5 楼 dobetterthatnthink 的回复:
[quote=引用 2 楼 feiba7288 的回复:] 将B1的事件改为F.Show;不用ShowWindow试下。
这没有试过。主要是因为这是两个不同的exe,其中F一个程序,F1是另外一个程序,通过SHOWWINDOW更合适一些。[/quote] 测试了下,的确不行,那只有在F程式中再加个按钮,这个按钮的功能是将自己Show出来; F1的B1去触发这个按钮的点击事件 F中加个按钮C,C的代码如下:

procedure TForm2.Button2Click(Sender: TObject);
begin
  Self.Show;
end;
F1中B1的代码修改成如下:

procedure TForm1.Button2Click(Sender: TObject);
var
  H, MyPopup: THandle;
begin
  H := StrToIntDef('$' + Edit1.Text,  0);//F中C的句柄
  SendMessage(H, BM_CLICK, 0, 0);
end;
多壮志 2013-04-26
  • 打赏
  • 举报
回复
引用 2 楼 feiba7288 的回复:
将B1的事件改为F.Show;不用ShowWindow试下。
这没有试过。主要是因为这是两个不同的exe,其中F一个程序,F1是另外一个程序,通过SHOWWINDOW更合适一些。
多壮志 2013-04-26
  • 打赏
  • 举报
回复
找了半天,找到可能答案 http://msdn.microsoft.com/en-us/library/ms632598(v=vs.85).aspx#creating_main
Controls how the window is to be shown. This parameter is ignored the first time an application calls ShowWindow, if the program that launched the application provides a STARTUPINFO structure. Otherwise, the first time ShowWindow is called, the value should be the value obtained by the WinMain function in its nCmdShow parameter. In subsequent calls, this parameter can be one of the following values. 
进过实验,hide的时候,用showwindow(handlle,sw_hide)则不会出现那个问题。
bihai 2013-04-25
  • 打赏
  • 举报
回复
显示用下面语句试试: form2.Show;
feiba7288 2013-04-25
  • 打赏
  • 举报
回复
确定两个窗口都是非模式显示
feiba7288 2013-04-25
  • 打赏
  • 举报
回复
将B1的事件改为F.Show;不用ShowWindow试下。
sololie 2013-04-25
  • 打赏
  • 举报
回复
乱,你就说你想实现什么效果嘛。
项目名称:[精仿]360安全卫士-10.30更新(CSkin Demo) 界面库版本号:10.30 最新版本 下载内容: 精仿360安全卫士源码一份, 可引用至工具箱最新版CSkin.dll一份 实现功能: 1.发光标题。 2.直角边框和阴影。 3.360安全卫士主界面模仿。 4.多系统支持,不需要win8系统,即可实现win8风格的360。 5.自定义控件的美化使用。 界面库更新文档: CC2013-10.30 1.由于SkinForm名字太多人使用,界面库命名正式改为CSkin.dll,官网www.cskin.net。 2.SkinTabControl标签中添加菜单箭头,可点击展开菜单。 3.SkinTabControl添加标签关闭按钮。 4.修复部分中文乱码问题。 5.优化好友列表右键菜单。 6.将窗体自定义系统按钮改为集合模式,可添加无数个自定义系统按钮。自定义系统按钮事件中可以 e.参数 来判断。 7.增加360安全卫士-DEMO案例。 8.增加SkinAnimatorImg控件,用于支持位图动画的播放。如360的动态logo。 9.各种细节BUG优化。 CC2013-10.11 1.添加SkinTabControlEx,加入更加自定义的美化属性和动画效果。 2.添加SkinAnimator,通用动画控件。 3.添加Html编辑器控件 4.修复SkinButton图标和文本相对位置的BUG CC2013-9.26 1.优化好友列表CPU占用 2.好友列表加入好友登录平台属性:安卓 苹果 WEBQQ PC 3.优化标题绘制模式,新添标题绘制模式属性。 4.新添标题偏移度属性。 5.加入圆形进度条控件:ProgressIndicator。 CC2013-9.5.2 1.优化截图控件,截图工具栏加入新功能。 2.解决个人信息卡和天气窗体显示后不会消失的问题。 3.各种细节BUG优化。 CC2013-9.5.1 1.解决贴边左右隐藏的BUG。 2.解决窗体点击事件不能触发的问题。 3.优化SkinButton继承父容器背景色的代码。 4.解决SkinButton异常错误。 CC2013-9.3 1.好友列表右键菜单没反应问题。 2.新增美化控件SkinDatagridview。 3.密码软件盘回删不了文字问题。 4.双击窗体最大化,最大化后再双击恢复原大小,(win7)。 5.部分细节调优。 小编:下载不要分,DEMO教你如何熟练使用CSkin界面库美化自己的窗体。 友情链接: http://bbs.csdn.net/topics/390510544 (精仿QQ2013局域通讯) http://download.csdn.net/detail/lyx_520/5710799 (C#实现Win8窗体)

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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