令狐大虾 发表于 2019-12-26 22:40:17

请教GUI控件如何做出这种效果?

本帖最后由 令狐大虾 于 2019-12-29 19:00 编辑

如图所示。并且点选会变化。本人需要设置的代码如下,但是达不到人家这样点选菜单条时候会变亮就是类似GUICtrlCreateButton创建的菜单效果
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1_1 = GUICreate('多合一系统安装器 By 令狐大虾', 420, 150)
$Label1= GUICtrlCreateLabel('1、Windows XP SP3 Professional', 5, 20, 195, 30, $BS_LEFT&$BS_CENTER, $WS_EX_DLGMODALFRAME)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
;============================================================================================================================      
Case $Label1 ;1、Windows XP SP3 Professional
                msgbox(0,'','嗯',1)
      
;============================================================================================================================
      
      EndSwitch
WEnd



chzj589 发表于 2019-12-27 08:23:51

GUICtrlCreateLabel("修复", 50, 10, 70, 20, $BS_BITMAP, $WS_EX_DLGMODALFRAME)

令狐大虾 发表于 2019-12-28 03:24:32

chzj589 发表于 2019-12-27 08:23
GUICtrlCreateLabel("修复", 50, 10, 70, 20, $BS_BITMAP, $WS_EX_DLGMODALFRAME)

谢谢回复,请教如下代码如何编译做出上图的效果呢
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1_1 = GUICreate('多合一系统安装器', 420, 150)
$Button1 = GUICtrlCreateButton('1.Windows XP SP3 Professional ', 5, 20, 195, 30)
$Button2 = GUICtrlCreateButton('2.Windows 2003 SP2 Enterprise ', 5, 70, 195, 30)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
;============================================================================================================================       
Case $Button1 ;1、Windows XP SP3 Professional


;============================================================================================================================       
Case $Button2 ;2、Windows 2003 SP2 Enterprise
       
;============================================================================================================================
       
        EndSwitch
WEnd

chzj589 发表于 2019-12-28 09:04:26

令狐大虾 发表于 2019-12-28 03:24
谢谢回复,请教如下代码如何编译做出上图的效果呢

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1_1 = GUICreate('多合一系统安装器', 420, 220)
$Button1 = GUICtrlCreateButton('1.Windows XP SP3 Professional ', 5, 20, 195, 30, $BS_BITMAP, $WS_EX_DLGMODALFRAME)
$Button2 = GUICtrlCreateButton('2.Windows 2003 SP2 Enterprise ', 5, 70, 195, 30, $BS_BITMAP, $WS_EX_DLGMODALFRAME)

$Label1 = GUICtrlCreateLabel('1.Windows XP SP3 Professional ', 5, 120, 195, 30, $BS_BITMAP, $WS_EX_DLGMODALFRAME)
$Label2 = GUICtrlCreateLabel('2.Windows 2003 SP2 Enterprise ', 5, 170, 195, 30, $BS_BITMAP, $WS_EX_DLGMODALFRAME)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
;============================================================================================================================
Case $Button1 ;1、Windows XP SP3 Professional


;============================================================================================================================
Case $Button2 ;2、Windows 2003 SP2 Enterprise

;============================================================================================================================

      EndSwitch
WEnd

令狐大虾 发表于 2019-12-28 14:38:34

chzj589 发表于 2019-12-28 09:04
#include
#include
#include

谢谢,后缀 $BS_BITMAP, $WS_EX_DLGMODALFRAME可以达到凸显效果。但是菜单条里面的字都往顶部跑而不是居中,如何解决呢


令狐大虾 发表于 2019-12-29 12:49:42

$Label1= GUICtrlCreateLabel('1、Windows XP SP3 Professional', 5, 20, 195, 30, $BS_LEFT&$BS_CENTER, $WS_EX_DLGMODALFRAME)
这样可以勉强达到要求,但是复选框点选时候木有高亮提示

229989799 发表于 2019-12-29 13:15:32

搜索一下论坛例子吧

skysmile 发表于 2019-12-29 16:51:28

windows默认控件样式XP和WIN7是有区别的
既然都用了$BS_BITMAP 为啥不给他设置图片呢

skysmile 发表于 2019-12-29 16:52:36

令狐大虾 发表于 2019-12-28 14:38
谢谢,后缀 $BS_BITMAP, $WS_EX_DLGMODALFRAME可以达到凸显效果。但是菜单条里面的字都往顶部跑而不是居 ...

垂直居中添加这两个 $ss_center, $bs_center

令狐大虾 发表于 2019-12-29 18:26:24

skysmile 发表于 2019-12-29 16:52
垂直居中添加这两个 $ss_center, $bs_center

我重新编辑了帖子。你再看看谢谢

afan 发表于 2019-12-29 20:02:44

添加多个样式用 BitOR或者直接 +,不是用&连接符
Label 是静态标签,没有所谓的变高亮,那种状态是 Button 这类按钮才有的,但是按钮如果要做成这个形状就要关闭Windows的主题样式而使用经典样式,但那样也没了高亮。
所以,要么自绘按钮,要么不要没什么用的高亮

令狐大虾 发表于 2019-12-29 22:31:59

afan 发表于 2019-12-29 20:02
添加多个样式用 BitOR或者直接 +,不是用&连接符
Label 是静态标签,没有所谓的变高亮,那种状态是 Button ...

谢谢版版!
页: [1]
查看完整版本: 请教GUI控件如何做出这种效果?