Что нового

Элемент Radio

Apoc

Новичок
Сообщения
2
Репутация
0
Нужно создать элемент Radio поверх изображения так, чтобы цвет вокруг текста с радиокнопкой был того же цвета что и фон, а текст был белого цвета.
Чтоб вот так не было:

 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Apoc,
Прикрепите файл картинки.
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Apoc
Ну вы элемент Radio окрасьте то же при помощи команды
Код:
GUICtrlSetBkColor



Добавлено:
Сообщение автоматически объединено:

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$gui = GUICreate("", 612, 436)
$Pic1 = GUICtrlCreatePic(@ScriptDir&"\0001.jpg", 0, 0, 612, 436)
GUICtrlSetState($Pic1,$gui_disable)
$Radio1 = GUICtrlCreateRadio("Radio1", 64, 40, 113, 17)
$b=GUICtrlCreateButton('hello',0,0,200,21)
GUICtrlSetBkColor($Radio1,0x180153)
GUICtrlSetBkColor(GUICtrlCreateRadio('Rad',64,60,113,17),0x180153)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $b
			MsgBox(0,'','Hello')
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Apoc,
Код:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>


_Example1()
_Example2()

Func _Example1()
	Local $s_Pic = @ScriptDir & '\0001.jpg'
	If Not FileExists($s_Pic) Then
		MsgBox(16, 'Error', 'No file: ' & $s_Pic)
		Return
	EndIf
	Local $h_Gui, $n_Group, $n_Radio1, $n_Radio2

	$h_Gui = GUICreate('Example 1', 300, 300)
	GUICtrlCreatePic($s_Pic, 0, 0, 300, 300)
	GUICtrlSetState(-1, $GUI_DISABLE)
	$n_Group = GUICtrlCreateGroup('Test', 20, 20, 150, 80)
	$n_Radio1 = GUICtrlCreateRadio('Radio1', 40, 40, 100, 20)
	GUICtrlSetState(-1, $GUI_CHECKED)
	$n_Radio2 = GUICtrlCreateRadio('Radio2', 40, 70, 100, 20)
	For $i = $n_Group To $n_Radio2
		DllCall('UxTheme.dll', 'long', 'SetWindowTheme', 'hwnd', GUICtrlGetHandle($i), 'wstr', '', 'wstr', '')
		GUICtrlSetColor($i, 0xFFFFFF)
		GUICtrlSetBkColor($i, 0x180153)
	Next
	GUICtrlCreateGroup('', -99, -99, 1, 1)
	GUISetState()
	While 1
		Switch GUIGetMsg()
			Case $GUI_EVENT_CLOSE
				ExitLoop
		EndSwitch
	WEnd
	GUIDelete($h_Gui)
EndFunc   ;==>_Example1

Func _Example2()
	Local $h_Gui, $n_Group, $n_Radio1, $n_Radio2

	$h_Gui = GUICreate('Example 2', 300, 300)
	GUISetBkColor(0x180153)
	$n_Group = GUICtrlCreateGroup('Test', 20, 20, 150, 80)
	$n_Radio1 = GUICtrlCreateRadio('Radio1', 40, 40, 100, 20)
	GUICtrlSetState(-1, $GUI_CHECKED)
	$n_Radio2 = GUICtrlCreateRadio('Radio2', 40, 70, 100, 20)
	For $i = $n_Group To $n_Radio2
		DllCall('UxTheme.dll', 'long', 'SetWindowTheme', 'hwnd', GUICtrlGetHandle($i), 'wstr', '', 'wstr', '')
		GUICtrlSetColor($i, 0xFFFFFF)
		GUICtrlSetBkColor($i, 0x180153)
	Next
	GUICtrlCreateGroup('', -99, -99, 1, 1)
	GUISetState()
	While 1
		Switch GUIGetMsg()
			Case $GUI_EVENT_CLOSE
				ExitLoop
		EndSwitch
	WEnd
	GUIDelete($h_Gui)
EndFunc   ;==>_Example1
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
madmasles
А можно спросить?
Для чего вы вызываете функцию SetWindowTheme?
 
Верх