![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как сохранить фон при перерисовки положения линии созданной с помощью GDI |
|
Как сохранить фон при перерисовки положения линии созданной с помощью GDI
|
Пользователь Сообщения: 143 |
#include <GuiConstantsEx.au3> #include <GDIPlus.au3> #include <Misc.au3> Global $hGUI, $hGraphics, $hPen, $hBmp, $hBmpGraphics, $line_y = 100, $line_x = 100 $dll = DllOpen("user32.dll") _Main() DllClose($dll) Func _Main() $hGUI = GUICreate("GDI+", 300, 300) $oIE = ObjCreate("Shell.Explorer.2") $GUIActiveX = GUICtrlCreateObj ($oIE, 0, 0, 400, 300) $oIE.navigate('') GUISetState() _GDIPlus_Startup () $hGraphics = _GDIPlus_GraphicsCreateFromHWND ($hGUI) $hBmp = _GDIPlus_BitmapCreateFromGraphics(400, 300, $hGraphics) $hBmpGraphics = _GDIPlus_ImageGetGraphicsContext($hBmp) $hPen = _GDIPlus_PenCreate (0xFFFF0000) _GDIPlus_GraphicsDrawLine ($hGraphics, 0, $line_y, 300, $line_y, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphics, $line_x, 0, $line_x, 300, $hPen) _GDIPlus_GraphicsDrawString ($hGraphics, '['&$line_x&' ; '&$line_y&']', $line_x-55, $line_y-15, 'Arial', 8) Do If _IsPressed("26", $dll) Then line_move($line_x, $line_y - 1) If _IsPressed("28", $dll) Then line_move($line_x, $line_y + 1) If _IsPressed("25", $dll) Then line_move($line_x - 1, $line_y) If _IsPressed("27", $dll) Then line_move($line_x + 1, $line_y) Until GUIGetMsg() = $GUI_EVENT_CLOSE _GDIPlus_PenDispose ($hPen) _GDIPlus_GraphicsDispose ($hGraphics) _GDIPlus_Shutdown () EndFunc ;==>_Main Func line_move($x, $y) $line_x = $x $line_y = $y _GDIPlus_GraphicsClear($hBmpGraphics, 0xFFF0F0F0) _GDIPlus_GraphicsDrawImage($hGraphics, $hBmp, 0, 0) _GDIPlus_GraphicsDrawLine ($hGraphics, $x, 0, $x, 300, $hPen) _GDIPlus_GraphicsDrawLine ($hGraphics, 0, $y, 300, $y, $hPen) _GDIPlus_GraphicsDrawString ($hGraphics, '['&$line_x&' ; '&$line_y&']', $line_x-55, $line_y-15, 'Arial', 8) EndFunc Тут при перерисовки линии фон перерисовывается, если закоментировать _GDIPlus_GraphicsClear($hBmpGraphics, 0xFFF0F0F0) то получится заливка. Как сделать ток чтобы при новом положении линии фон не изменялся? |
|
Отправлено: 18:00, 23-06-2010 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] WinApi, Как сохранить GDI регион на жесткий диск? | Diamond | AutoIt | 7 | 10-09-2009 12:37 | |
Как сохранить настройки dial-up при переустановке XP | mutator | Microsoft Windows 2000/XP | 4 | 20-02-2008 10:09 | |
как сохранить настройки пользователей при их включении в домен? | SmerchLA | Microsoft Windows NT/2000/2003 | 1 | 28-05-2007 12:28 | |
Как почистить и сохранить данные при продаже ПК? | bimbus | Хочу все знать | 5 | 08-06-2005 09:22 | |
Как соединить 2 компа с помощью тел. линии | Evgenii | Хочу все знать | 3 | 02-02-2004 08:09 |
|