Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TUT][KOD] Okienko bez obramowania


Rekomendowane odpowiedzi

Opublikowano

Witajcie!

 

W tym tutku wam pokażę jak trzeba podrasować kod programu by nie miał obramowania windowsowego. Dla lepszego efektu dodam na tło obrazek.

 

#Kod

Program jest przykładowy... niżej wyjaśnię co jest ważne dla naszego efektu.

 

Kod czysty:

 

 

#cs ----------------------------------------------------------------------------
Author:		 Zkumeku
#ce ----------------------------------------------------------------------------
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Program bez ramki", 301, 301, 318, 206)
$msgbox = GUICtrlCreateButton("MsgBox", 56, 168, 193, 65)
$zamknij = GUICtrlCreateButton("X", 8, 8, 25, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
	Case $GUI_EVENT_CLOSE
		Exit
	Case $zamknij
		Exit
	Case $msgbox
		MsgBox(0,"MsgBox","program nie ma ramki!")

EndSwitch
WEnd

 

 

Jego wygląd:

 

 

schowek01w.png

 

 

 

######################

 

Kod podrasowany:

 

 

#cs ----------------------------------------------------------------------------
Author:		 Zkumeku
#ce ----------------------------------------------------------------------------
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#include <SendMessage.au3>

Global Const $SC_DRAGMOVE = 0xF012

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Program bez ramki", 300, 300, -1, -1, BitOR($WS_POPUP,$WS_BORDER))
GUICtrlCreatePic("tlo.bmp", 0, 0, 300, 300)
GUICtrlSetState(-1, $GUI_DISABLE)

$msgbox = GUICtrlCreateButton("MsgBox", 56, 168, 193, 65)
$zamknij = GUICtrlCreateButton("X", 8, 8, 25, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
	Case $GUI_EVENT_CLOSE
		Exit
	Case $zamknij
		Exit
	Case $msgbox
		MsgBox(0,"MsgBox","program nie ma ramki!")
	Case $GUI_EVENT_PRIMARYDOWN
		_SendMessage($Form1, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)

EndSwitch
WEnd

 

 

Jego wygląd:

 

 

schowek02a.png

 

 

 

 

#Wytłumaczenie

 

Do includów dodajemy:

#include <SendMessage.au3>

 

Pod includami umieszczamy kod by móc przemieszczać okienko:

Global Const $SC_DRAGMOVE = 0xF012

 

Teraz pokolei okienko...

 

W form trzeba zrobić rozmiary tak: x,y,-1,-1 oraz dodać BitOR($WS_POPUP,$WS_BORDER) :

$Form1 = GUICreate("Program bez ramki", 300, 300, -1, -1, BitOR($WS_POPUP,$WS_BORDER))

 

Następnie dodajemy tło, rozmiary 0,0,x,y:

GUICtrlCreatePic("tlo.bmp", 0, 0, 300, 300)

 

Oraz wyłączamy gui:

GUICtrlSetState(-1, $GUI_DISABLE)

 

Ostatnim elementem będzie dodanie case (zamiast mojego $Form1 dajecie waszą nazwę formy):

Case $GUI_EVENT_PRIMARYDOWN
  _SendMessage($Form1, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)

 

Mam nadzieję, że się przyda i nieco powiększy wyobraźnię i doda pomysłów :)

NIE ZAPOMNIJCIE DODAĆ PRZYCISKU ZAMKNIĘCIA!

9obpmnjr.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...