Что нового

помогите расставить квадраты на экране - ряд получается дальше сообразить не м

komorov74

Новичок
Сообщения
81
Репутация
0
Код:
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>

$wallini=@ScriptDir & "\wall.ini" ; путь для ini файла
FileInstall("wall.ini",@ScriptDir & "\wall.ini")
$col=IniRead ( $wallini, "wall", "c", "colonn" ) 
$row=IniRead ( $wallini, "wall", "r", "row" ) 
HotKeySet("{esc}", "_EXIT")
$hGUI=WinGetHandle("My GUI", "")

$scr_c=(@DesktopWidth)/$col
$scr_r=(@DesktopHeight)/$row

ConsoleWrite($scr_c & @LF)
ConsoleWrite($scr_r & @LF)

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
    Local $hGUI, $hGraphic,$hBrush,$ds,$fv

    ; Создаёт GUI

$hGUI = GUICreate("My GUI",@DesktopWidth,@DesktopHeight,0,0,$WS_POPUP,BitOR($WS_EX_TRANSPARENT,$WS_EX_TOPMOST),$WS_EX_TOOLWINDOW) 
    GUISetState()

    ; Fill a rectangle
    _GDIPlus_Startup ()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
	
$hBrush = _GDIPlus_BrushCreateSolid(0xFFFF0000)
$ds=0
$fv=0
for $r=0 To $row
  
For $c=0 To $col



_GDIPlus_GraphicsFillRect($hGraphic, $fv, $ds, $scr_c-1 , $scr_r-1, $hBrush)
 

    $fv=$scr_c+$fv 


Next
$ds=$scr_r+$ds

next 
    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Очищает ресурсы
    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_Shutdown ()

EndFunc   ;==>_Main


файлик wall.ini

[wall]
c=8
r=4


должна получиться сетка 8 на 4
БУДУ ОЧЕНЬ БЛАГОДАРЕН!!!!!!!
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
komorov74
Код:
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>

$wallini = @ScriptDir & "\wall.ini" ; путь для ini файла
FileInstall("wall.ini", @ScriptDir & "\wall.ini")
$col = IniRead($wallini, "wall", "c", "8")
$row = IniRead($wallini, "wall", "r", "4")
HotKeySet("{esc}", "_EXIT")
$hGUI = WinGetHandle("My GUI", "")

$scr_c = (@DesktopWidth) / $col
$scr_r = (@DesktopHeight) / $row

ConsoleWrite($scr_c & @LF)
ConsoleWrite($scr_r & @LF)

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
	Local $hGUI, $hGraphic, $hBrush, $ds, $fv

	; Создаёт GUI

	$hGUI = GUICreate("My GUI", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_TRANSPARENT, $WS_EX_TOPMOST), $WS_EX_TOOLWINDOW)
	GUISetState()

	; Fill a rectangle
	_GDIPlus_Startup()
	$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)

	$hBrush = _GDIPlus_BrushCreateSolid(0xFFFF0000)
	$ds = 0
	For $r = 0 To $row
		$fv = 0
		For $c = 0 To $col

			_GDIPlus_GraphicsFillRect($hGraphic, $fv, $ds, $scr_c - 1, $scr_r - 1, $hBrush)

			$fv += $scr_c

		Next
		$ds += $scr_r

	Next
	; Цикл выполняется, пока окно не будет закрыто
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE

	; Очищает ресурсы
	_GDIPlus_GraphicsDispose($hGraphic)
	_GDIPlus_Shutdown()

EndFunc   ;==>_Main
Func _EXIT()
	Exit
EndFunc   ;==>_EXIT
 
Верх