Уроки PureBasic

Categories

Other Sites

Other Sites

Other Sites



             Поиск по сайту

     

                


    Оставить мне сообщение:



Решетка - линейка

Уроки PureBasic

Решетка - линейка для дизайна веб и графики.

Данная программа позволяет вам контролировать и корректировать пропорции и размеры в вашем дизайнерском проекте.
Программа создает изменяемую по размеру прозрачную решетку, которая налагается сверху вашего проекта. Отображается размер внешней рамки и внутренней ячейки в пикселях.
Запоминает последний размер.
Размер exe файла - 100КБ

Уроки PureBasic
Уроки PureBasic

Скачать архив

Код для версии PureBasic 4.30 :

#Window_0 = 1 #True = 1 #False = 0 #Tex = 2 #wid = 3 #Font_Text_0 = 4 Global hwnd.l CatchImage(1, ?Im1, ?Im1End -?Im1) CatchImage(2, ?Im2, ?Im2End -?Im2) CatchImage(3, ?Im3, ?Im3End -?Im3) Procedure PaintWindowBackground() Shared hBrush2Temp ww.l = WindowWidth(#Window_0) wh.l = WindowHeight(#Window_0) hBmp.l = CreateImage(0, ww, wh) hDC = StartDrawing( ImageOutput(0) ) Box( 0, 0, ww, 20, RGB(221, 222, 223)) DrawImage(ImageID(1), 3, 2 ,16, 16) ; лого DrawImage(ImageID(2), ww-18, 2 ,16, 16) ; закрыть DrawImage(ImageID(3), ww-35, 2 ,16, 16) ; информация Line(0,0, ww, 0, RGB(128, 128, 128)) Line(0,19, ww, 0, RGB(128, 128, 128)) Line(0,0, 0, 19, RGB(128, 128, 128)) Line(ww-1,0, 0, 19, RGB(128, 128, 128)) Box( 0, 25, ww, wh-20, RGB(255, 0, 0)) Box( 1, 26, ww-2, wh-27, $fffffff ) FillRgn_( hDC, hRgn1, hBrush1 ) ;Line( ww-15, 5, 10, 10, RGB(255, 0, 0)) ; закрыть ;Line( ww-15, 14, 10,-10, RGB(255, 0, 0)) ; закрыть Line( ww-7, wh-2, 6,-6, RGB(255, 0, 0)) Line( ww-6, wh-2, 5,-5, RGB(255, 0, 0)) Line( ww-5, wh-2, 4,-4, RGB(255, 0, 0)) Line( ww-4, wh-2, 3,-3, RGB(255, 0, 0)) Line( ww-3, wh-2, 2,-2, RGB(255, 0, 0)) Line( ww-2, wh-2, 1,-1, RGB(255, 0, 0)) Line( ww/2, 26, 0, wh, $0000FF) Line( 0, wh/2+12, ww, 0, $0000FF) StopDrawing() hBrush2.l = CreatePatternBrush_(hBmp) SetClassLong_(hwnd, #GCL_HBRBACKGROUND, hBrush2) SetWindowRgn_(hwnd, hRgn2, #True) DeleteObject_( hBrush2Temp ) hBrush2Temp=hBrush2 EndProcedure If OpenPreferences("met.pcs") PreferenceGroup("размер окна") xx.s=ReadPreferenceString("x", "") yy.s=ReadPreferenceString("y", "") ClosePreferences() EndIf ww.l = Val(xx) wh.l = Val(yy) hwnd = OpenWindow(#Window_0, 0, 0, ww, wh, "линейка", #PB_Window_BorderLess|#PB_Window_ScreenCentered) StickyWindow(#Window_0, 1) ; окно сверху TextGadget(#Tex, 21, 3, 85, 15, "") SetGadgetColor(#Tex, #PB_Gadget_FrontColor, RGB(54, 54, 54)) SetGadgetColor(#Tex, #PB_Gadget_BackColor,RGB(221, 222, 223)) TextGadget(#wid, 3, 26, 50, 14, " 200 x 90") ; текст малого окна SetGadgetColor(#wid, #PB_Gadget_BackColor, $000000) SetGadgetColor(#wid, #PB_Gadget_FrontColor, $101010) SetGadgetFont(#wid, LoadFont(#Font_Text_0, "Arial", 8, 16)) If ww =0 ResizeWindow(#Window_0,#PB_Ignore,#PB_Ignore,401, 206) EndIf SetWindowLong_(WindowID(#Window_0),#GWL_EXSTYLE,GetWindowLong_(WindowID(#Window_0),#GWL_EXSTYLE)|$00080000) SetLayeredWindowAttributes_(WindowID(#Window_0),0,0,1) Repeat EventID.l = WaitWindowEvent() Window = EventWindow() Gadget=EventGadget() mx.l = WindowMouseX(#Window_0) my.l = WindowMouseY(#Window_0) SetGadgetText(#Tex, Str(WindowWidth(#Window_0)-1)+" x "+Str(WindowHeight(#Window_0)-26)+" пикс") SetGadgetText(#wid, Str(WindowWidth(#Window_0)/2)+" x "+Str(WindowHeight(#Window_0)/2-13)) ; параметры малого окна Select EventID Case #WM_PAINT PaintWindowBackground() While WindowEvent() : Wend Case #WM_LBUTTONDBLCLK Case #WM_LBUTTONDOWN ; перетаскивание If WindowMouseX(#Window_0) >= 0 And WindowMouseX(#Window_0) <= ww-45 And WindowMouseY(#Window_0) >= 0 And WindowMouseY(#Window_0) <= 20 ReleaseCapture_() SendMessage_(hwnd, #WM_NCLBUTTONDOWN, #HTCAPTION, NULL) EndIf ; закрыть If ((mx > ww-20 And mx < ww-0) And (my > 3 And my < 20)) OpenPreferences("met.pcs") PreferenceGroup("размер окна") WritePreferenceString("x", Str(WindowWidth (#Window_0)) ) WritePreferenceString("y", Str(WindowHeight(#Window_0)) ) ClosePreferences() EventID = #PB_Event_CloseWindow EndIf If ((mx > ww-30 And mx < ww-21) And (my > 3 And my < 20)) OpenWindow (888, 0, 0, 370, 120, "О программе", #PB_Window_SystemMenu|#PB_Window_ScreenCentered ) StickyWindow(888, 1) ; окно сверху TextGadget(801, 110,10,100,20,"Решетка-Линейка") TextGadget(802, 5,30,360,30,"Данная программа позволяет вам контролировать и корректировать пропорции и размеры в вашем дизайнерском проекте.") TextGadget(803, 15,70,360,20,"Автор: Мирошниченко Олег") TextGadget(804, 15,90,40,20,"Сайт:") HyperLinkGadget(805, 55, 90, 150,15,"http://www.mirashic.narod.ru",RGB(255, 4, 0)) EndIf ; растягивать If ((mx > ww-30 And mx < ww) And (my > wh-30 And my < wh)) ReleaseCapture_() SendMessage_(hwnd, #WM_NCLBUTTONDOWN, #HTBOTTOMRIGHT , NULL) EndIf ww.l = WindowWidth(#Window_0) wh.l = WindowHeight(#Window_0) Case #PB_Event_Gadget Select EventGadget() Case 805 RunProgram("http://www.mirashic.narod.ru/") EndSelect EndSelect If EventID = #PB_Event_CloseWindow CloseWindow(Window) ; если много окон EndIf Until EventID=#PB_Event_CloseWindow And Window=#Window_0 ; если много окон DataSection Im1: IncludeBinary "иконка.ico" Im1End: Im2: IncludeBinary "close.ico" Im2End: Im3: IncludeBinary "help.ico" Im3End: EndDataSection </plaintext> </div><br><br><br><br> <img src="img/lin.jpg" width="700" height="20" alt="Уроки PureBasic"><br><br><br> </div> </div> <!-- copyright (t4) --><div align="center">Используются технологии <a href="http://www.ucoz.ru/" title="Создать сайт бесплатно"><b>uCoz</b></a><br /></div><!-- /copyright --> </body> </html>