找回密码
 加入
搜索
查看: 2967|回复: 7

[AU3基础] 在tab页面内使用Graphic画图,不能正常显示在tab页面上方

  [复制链接]
发表于 2011-2-24 21:37:09 | 显示全部楼层 |阅读模式
如图所示:

我希望用guicreateGraphic创建的图形显示在tabitem页面的上面,但是按照代码中创建的Graphic确被tab页面盖住。
请各位大侠帮帮忙,看看如何让解决。

我使用的代码如下:
 
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
Global $form1 = GUICreate("测试", 346, 332, 350, 211)
Global $Tab = GUICtrlCreateTab(7, 4, 320, 290)
Global $Tab1 = GUICtrlCreateTabItem("基本属性")
Global $Graphic1 = GUICtrlCreateGraphic(20, 85, 305, 12)
GUICtrlSetGraphic($Graphic1, $GUI_GR_COLOR, 0xff0000,0x000000)
GUICtrlSetGraphic($Graphic1, $GUI_GR_LINE, 320,0)
Global $Tab2 = GUICtrlCreateTabItem("高级属性")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit
EndSwitch
WEnd

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-2-24 21:42:17 | 显示全部楼层
我在论坛搜索了一下,发现有人问过类似的问题,也是graphic被盖住,可是也每人解决掉。
http://www.autoitx.com/forum.php ... p;highlight=Graphic
发表于 2011-2-24 21:53:07 | 显示全部楼层
我也遇到过类似问题,如果Graphic叠放在别的控件上面就会显示不出来。也不知道什么解决
但如果LZ只是想画根红线,倒可以用别的控件代替
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>

Global $form1 = GUICreate("测试", 346, 332, 350, 211)
Global $Tab = GUICtrlCreateTab(7, 4, 320, 290)
Global $Tab1 = GUICtrlCreateTabItem("基本属性")

GUICtrlCreateLabel("", 20, 85, 305, 1)
GUICtrlSetBkColor(-1, 0xff0000)


Global $Tab2 = GUICtrlCreateTabItem("高级属性")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit
EndSwitch
WEnd
发表于 2011-2-24 22:00:19 | 显示全部楼层
是这样吗?
#include <TabConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

Global $form1 = GUICreate("测试", 346, 332, 350, 211)
Global $Graphic1 = GUICtrlCreateGraphic(20, 85, 305, 12)
GUICtrlSetGraphic($Graphic1, $GUI_GR_COLOR, 0xff0000, 0x000000)
GUICtrlSetGraphic($Graphic1, $GUI_GR_LINE, 320, 0)
Global $Tab = GUICtrlCreateTab(7, 4, 320, 290)
Global $Tab1 = GUICtrlCreateTabItem("基本属性")
Global $Tab2 = GUICtrlCreateTabItem("高级属性")
GUICtrlCreateTabItem("")

GUISetState()
Do
Until GUIGetMsg() = -3
发表于 2011-2-24 22:33:18 | 显示全部楼层
原来可以这样啊,改一下顺序就好了。学习了
 楼主| 发表于 2011-2-25 20:34:30 | 显示全部楼层
回复 4# 水木子
这样做确实是一个办法,非常感谢您的帮助。
这样做可能还有点不足,我想切换第二个标签的时候红线不显示,办法我倒是知道,在切换标签的时候让红线隐藏。
不知道还有没有更好的办法。
发表于 2011-3-1 18:57:18 | 显示全部楼层
本帖最后由 netegg 于 2011-3-1 19:09 编辑
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiIPAddress.au3>
#include <StaticConstants.au3>

Example()

Func Example()
        Local $hGUI, $hGUI_Child
        Local $tab, $tab0, $tab1
        Local $hIPAddress, $aMsg

        $hGUI = GUICreate("IP Iab", 250, 180)

        $hGUI_Child = GUICreate("", 180, 70, 15, 35, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hGUI)
        GUISetBkColor(0xFFffff, $hGUI_Child)
        Global $Graphic1 = GUICtrlCreateGraphic(10, 10, 305, 30)
        GUICtrlSetGraphic($Graphic1, $GUI_GR_COLOR, 0xff0000, 0x000000)
        GUICtrlSetGraphic($Graphic1, $GUI_GR_LINE, 320, 0)
        GUISetState(@SW_HIDE)

        GUISwitch($hGUI)

        $tab = GUICtrlCreateTab(10, 10, 200, 100)

        $tab0 = GUICtrlCreateTabItem("tab0")
        GUICtrlCreateButton("OK", 20, 50, 50, 20)
        GUICtrlCreateInput("", 80, 50, 70, 20)

        $tab1 = GUICtrlCreateTabItem("tab1")

        GUICtrlCreateTabItem("")


        GUISetState()

        While 1

                $aMsg = GUIGetMsg(1)
                Switch $aMsg[0]
                        Case $GUI_EVENT_CLOSE
                                Exit
                        Case $tab
                                Switch GUICtrlRead($tab)
                                        Case 0
                                                GUISetState(@SW_HIDE, $hGUI_Child)
                                        Case 1
                                                GUISetState(@SW_SHOW, $hGUI_Child)
                                EndSwitch
                EndSwitch
        WEnd
EndFunc   ;==>Example
 楼主| 发表于 2011-3-4 12:02:18 | 显示全部楼层
回复 7# netegg
这个方法好像也不行,你可以测试一下,来回切换一下标签看看就知道了。

最终我是通过创建pic控件加载图像实现的。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-21 12:46 , Processed in 0.105495 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表