fenhanxue 发表于 2012-10-7 23:45:53

【已解决】用GUISetStyle怎么把已建立的窗口,设置为文本文档的子窗口?

本帖最后由 fenhanxue 于 2012-10-8 21:24 编辑

例如,我有2个程序,分别是autoit建立的脚本和文本文档,
2个程序的标题分别为:form,新建-文本文档
想把form设置为新建-文本文档的子窗口,
我知道用GUICreate的时候,是可以直接把窗口设置为另一窗口的子窗口的,
例如:

GUICreate(" form", 362, 269, 0, 0, -1, $WS_EX_MDICHILD, WinGetHandle(" 新建-文本文档"))

然后我想问的是,比如我已经建立了form,并且建立的时候并没有把form设置为新建-文本文档的子窗口,
那我能否用什么函数将form重新设置为新建-文本文档的子窗口?

查了下,发现GUISetStyle好像可以改样式,但是GUISetStyle的说明写着是这样的:

GUISetStyle ( 样式 [,扩展样式 [, 窗口句柄]] )
然后接下来就迷糊了,不知道该怎么写了,求助高手哦

piaoa_998 发表于 2012-10-8 09:26:26

本帖最后由 piaoa_998 于 2012-10-8 09:29 编辑

GUICreate ( "窗口标题" [, 宽度 [, 高度 [, 左侧 [, 顶部 [, 样式 [, 扩展样式 [, 父窗口]]]]]]] )

$hForm = GUICreate(" form", 362, 269, 0, 0, "", "", WinGetHandle(" 新建-文本文档"))
GUISetStyle("",$WS_EX_MDICHILD,$hForm)

xiehuahere 发表于 2012-10-8 09:51:05

本帖最后由 xiehuahere 于 2012-10-8 09:55 编辑

回复 1# fenhanxue

GUISetStyle 不能实现你的要求。
这里的“窗口句柄”是你要改变GUI风格的窗口(即AutoIt脚本创建的窗口)的句柄。而不是父窗口的句柄。

不知道你的目的是什么。你可以检测文本窗口的状态(最小化或是还原),然后用WinSetState来同步调整AutoIt窗口的状态。

netegg 发表于 2012-10-8 18:29:25

本帖最后由 netegg 于 2012-10-8 18:46 编辑

$style = guigetstyle('')
guisetstyle(bitor($style, $newstyle), bitor($style, $newexstyle), $hForm)
不知道行不行

fenhanxue 发表于 2012-10-8 19:12:22

回复 3# xiehuahere


    恩,WinSetState我会用了,但是感觉自己用的逻辑很混乱,所以想有没办法能用其他函数,可以把一个已经建立的窗口,设置为另一程序的子窗口,好困惑哦

netegg 发表于 2012-10-8 19:23:53

本帖最后由 netegg 于 2012-10-8 19:25 编辑

回复 5# fenhanxue
外部程序的窗口用win*,对于auto创建的窗口操作时可以用gui*,也可以用win*(不能创建),不过要转换

xiehuahere 发表于 2012-10-8 20:46:02

本帖最后由 xiehuahere 于 2012-10-8 20:50 编辑

回复 5# fenhanxue


你的最终目的是什么,还是先说出来,大家才好帮助你。
本来最先想到的是 _WinAPI_SetParent,但不适用于你这种情况,因为这要求新的父窗口与子窗口必须属于同一应用程序。

我看到你的另一个求问贴了,应该是同一个问题吧?如果是,此贴就关闭吧。

netegg 发表于 2012-10-8 20:57:11

本帖最后由 netegg 于 2012-10-8 20:59 编辑

看了另一个帖子,大概知道要干什么了,不知道是不是要个随notepad同时显隐的界面?那和是不是子界面样式无关.

fenhanxue 发表于 2012-10-8 21:22:38

回复 8# netegg

恩,是的是的~

就是想实现同时显隐的功能,子窗口应该是跟父窗口同时显隐的吧?
所以我就弱弱地想怎么改窗口的样式,实现同时显隐,

然后刚刚突然灵光一现,摸索出了一个很小白的方法,就是:

当 note激活时,先用winsetontop强制gui窗口ontop,然后马上又用winsetontop取消ONtop的属性,发现居然同时显隐拉

感觉很小白,大侠见笑哦

fenhanxue 发表于 2012-10-8 21:23:49

回复 3# xiehuahere


    恩,谢谢亲的指点哦,明白好多呢~撒有那拉

时代科技 发表于 2013-1-16 01:55:14

回复 1# fenhanxue


    定制下
页: [1]
查看完整版本: 【已解决】用GUISetStyle怎么把已建立的窗口,设置为文本文档的子窗口?