Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 825
Благодарности: 50

Профиль | Отправить PM | Цитировать


Maza Faka,
Цитата Maza Faka:
столько компонентов? Для чего? »
А ля winnt.sif users manager.

Вот вырезка для 2-х компонент:
Код: Выделить весь код
#include <GuiConstants.au3>
Global $CfgFile = "winnt.sif"
Global $AccessOpt_state = "On"
Global $Appsrv_console_state = "Off"

$hGUI = GuiCreate("WIndows XP winnt.Sif managers - feesh 0.0.1", 1020, 620)

GuiCtrlCreateTabItem("Components")
;CreateGUI
$AccessOpt = GUICtrlCreateCheckbox("AccessOpt",35,50,210,15)
GUICtrlSetState($AccessOpt,$GUI_UNCHECKED)

$Appsrv_console = GUICtrlCreateCheckbox("Appsrv_console",35,70,210,15)
GUICtrlSetState($Appsrv_console,$GUI_UNCHECKED)

; GUI MESSAGE LOOP
GuiSetState()
While GuiGetMsg() <> $GUI_EVENT_CLOSE
WEnd

Func _LoadCfg()
	$State = IniRead($CfgFile,"Settings","AccessOpt","Off")
	If $State == "On" Then
		$AccessOpt_State=$GUI_CHECKED
		;GUICtrlSetState($AccessOpt,$GUI_CHECKED)
	Else
		$AccessOpt_State=$GUI_UNCHECKED
		;GUICtrlSetState($AccessOpt,$GUI_UNCHECKED)
	EndIf
	$State = IniRead($CfgFile,"Settings","Appsrv_console","Off")
	If $State == "On" Then
		$Appsrv_console_State=$GUI_CHECKED
		;GUICtrlSetState($Appsrv_console,$GUI_CHECKED)
	Else
		$Appsrv_console_State=$GUI_UNCHECKED
		;GUICtrlSetState($Appsrv_console,$GUI_UNCHECKED)
	EndIf
EndFunc

Func _SaveCfg()
    GUISetState(@SW_HIDE, $hGUI)
	If GUICtrlRead($AccessOpt) = $GUI_CHECKED Then
		$AccessOpt_State="On"
	Else
		$AccessOpt_State="Off"
	EndIf
    IniWrite($CfgFile,"Settings","AccessOpt",$AccessOpt_State)
	If GUICtrlRead($Appsrv_console) = $GUI_CHECKED Then
		$Appsrv_console_State="On"
	Else
		$Appsrv_console_State="Off"
	EndIf
    IniWrite($CfgFile,"Settings","Appsrv_console",$Appsrv_console_State)
EndFunc
Exit
При грубой прикидке получаем 20-25 строк на параметр.
Очень мне не нравится забор из конструкций - GUICtrlCreateCheckbox("AccessOpt",35,50,210,15)
Особенно задание абсолютных координат. Ну ладно, допустим заменю на переменные с инкрементом по вертикали и горизонтали, но возникают проблемы если захочется делать окно масштабируемым?! Сейчас что бы вывести все компоненты без скролинга требуется окно шириной в 1000!
А если монитор не поддерживает такого разрешения! Кто как решает проблему масштабируемости?

Еще почему-то при проведении мышкой над чекбоксом его подпись меняет фон на темно серый! Как отключить?

Как задать высоту табов создаваемых при помощи GuiCtrlCreateTabItem ?!?!

Кто нить достал книгу по autoit - AutoIt v3: Your Quick Guide (Andy Flesner, O'Reilly)
Очень хочется электронный вариант!!!

Последний раз редактировалось NikLok, 13-03-2008 в 13:01.


Отправлено: 11:52, 13-03-2008 | #220