Что нового

Как нарисовать прямоугольник с заливкой его внутри?

akoulev

Новичок
Сообщения
169
Репутация
2
Чего хотелось бы: нарисовать прямоугольник на экране, типа рамки, с координатами, скажем, (9,999, 140,1007) - и, в идеале, залить его каким-либо ярким цветом - на несколько секунд! Можно и мигать - blinking. Потом и прямоугольник, и его заливка должны исчезнуть. How2? Pls. (с графикой у меня пока "по нулям").
PS: Можно и, скажем, яркий (мигающий?) кружок, если это проще - на месте прямоугольника с координатами (9,999, 140,1007). Но кружок может и не уместиться на экране, если анализируемая область "с краюшку" - вот "засада"! Тот же вопрос: How2?
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
akoulev
Основная функция GUICtrlCreateGraphic()...
В справке по этой функции есть достаточно обширный пример...
Да и Kaster в "Торопыжке" тоже неплохо продемонстрировал возможности данной функции... :smile:
 
Автор
A

akoulev

Новичок
Сообщения
169
Репутация
2
snoitaleR сказал(а):
Да и Kaster в "Торопыжке" тоже неплохо продемонстрировал возможности данной функции... :smile:
Спасибо! Ушёл препарировать :mad: "Торопыжку". ;D
Прошли сутки. Да, хреновый из меня патологоанатом. Вот что вышло:
Код:
#include <GUIConstants.au3>
    
$MAXGr=1
Global $a[$MAXGr+1] ; 0 and $MAXGr entries not used to allow GUICtrlDelete result
Global $child, $del
Global $AA=638
Global $BB=211
Global $CC=803
Global $DD=228

CreateChild()
;exit; если убрать ";", то изображение взмигивает и вырубается
$i=1
$inc=1
Do
    $msg = GUIGetMsg()

    if $msg= $del then
        GuiCtrlDelete($a[$i])
        $i = $i+$inc
        if $i <0 OR $i>$MAXGr then exit
        EndIf
        ;if $msg>0 then MsgBox(0,"clicked", $msg & @LF & $a[5], 2)
		if $msg>0 then MsgBox(0,"clicked", $msg & @LF & $a[$i], 0.5)
Until $msg=$GUI_EVENT_CLOSE

Func Del()
    GuiDelete($child)
    CreateChild()
EndFunc

Func CreateChild()
		
$child=GUICreate("My Draw")
;$del=GuiCtrlCreateButton("Delete", 50,165, 50)
$del=GuiCtrlCreateButton("Delete", 50,366, 50)
MsgBox(0,"~", $AA & @LF & $BB & @LF & $CC & @LF & $DD, 0.5)
;$a[1]=GuiCtrlCreateGraphic(150, 10, 50,50,0)
$a[1]=GuiCtrlCreateGraphic(150, $BB, 50,50,0)
;$a[1]=GUICtrlCreateGraphic($AA, $BB, $CC-$AA, $DD-$BB, 0);
GUICtrlSetBkColor(-1,0xa0fff0);бледно-голуб. (бирюзов.) заливка квадрата
GuiSetState()
EndFunc

Подскажите, а где, вообще, задаются размеры формы "MyDraw"?
 
Верх