Code: Select all
XML$ ="<window id='1' name='test' text='test' minwidth='0' minheight='0' flags='#PB_Window_BorderLess|#PB_Window_ScreenCentered'>" +
" <vbox expand='item:3'>" +
" <hbox expand='item:3'>" +
" <singlebox expand='no' >" +
" <buttonimage name='but1' id='0' text='Button 1' width='200' height='80' /> " +
" </singlebox>" +
" <gridbox columns='1'>" +
" <option name='option1' text='Option 1' id='1' align='left' />" +
" <option name='option2' text='Option 2' id='2' align='left'/>" +
" <option name='option3' text='Option 3' id='3' />" +
" <checkbox name='check1' text='CheckBox 1' id='5' />" +
" </gridbox>" +
" <empty />"+
" <gridbox name='grid2' columns='3' colspacing='1' >" +
" <text name='but1' id ='10' text='' width='29' height='22' /> " +
" <text name='but2' id ='11' text='' width='27' height='22'/> " +
" <text name='but3' id ='12' text='' width='49' height='22' /> " +
" </gridbox>" +
" </hbox>" +
" <hbox spacing='0' expand='no' height='18'>" +
" <empty width='8' />"+
" <button id ='40' text='File' width='40' height='18' /> " +
" <button id ='41' text='Edit' width='40' height='18'/> " +
" <button id ='42' text='Help' width='40' height='18' /> " +
" </hbox>" +
" <singlebox margin='left:10,top:10,right:10,bottom:10' width='auto' height='200'>" +
" <listicon text='Column 0' id='50' flags='#PB_ListIcon_GridLines| #PB_ListIcon_FullRowSelect'/>" +
;" <editor text='Ok...

Test' />" +
" </singlebox>" +
" </vbox>" +
"</window>"
Global Dialog,Bkgcolor,Run,Theme,dpix.d,dpiy.d
LoadFont(1, "Georgia", 26)
LoadFont(0,"Marlett",12)
ExamineDesktops()
olddesktop = DesktopWidth(0)
dpix = DesktopResolutionX()
dpiy = DesktopResolutionY()
Procedure IsMouseOver(hWnd)
GetWindowRect_(hWnd,r.RECT)
GetCursorPos_(p.POINT)
Result = PtInRect_(r,p\y << 32 + p\x)
ProcedureReturn Result
EndProcedure
Procedure WindowProc(hwnd, uMsg, wParam, lParam)
Select uMSG
Case #WM_CTLCOLORSTATIC
Select GetProp_(lParam, "PB_ID");GetDlgCtrlID_(lParam)
Case 1 To 5
SetBkMode_(wParam,#TRANSPARENT)
SetTextColor_(wParam, $000000)
ProcedureReturn Bkgcolor
EndSelect
Case #WM_SETTINGCHANGE
SystemParametersInfo_(#SPI_GETWORKAREA, 0, r.RECT, 0)
If GetWindowState(0) = #PB_Window_Maximize
MoveWindow_(WindowID(0),r\left-4,r\top-4,r\right-r\left+8,r\bottom-r\top+8,1)
EndIf
Case #WM_SIZE,#WM_MOVE
GetWindowRect_(WindowID(0),r.RECT)
MoveWindow_(WindowID(1),r\left+4,r\top+4,r\right-r\left-8,r\bottom-r\top-8,1)
If GetWindowState(0) = #PB_Window_Normal
Run = 0
SetGadgetText(11,Chr($31))
EndIf
Case #WM_LBUTTONDOWN
SendMessage_(WindowID(0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
#XmlEncoding = #PB_UTF8
OpenWindow(0,0,0,2,2,"",#PB_Window_BorderLess| #WS_SIZEBOX)
If Color = 0 And Theme = 1
If OSVersion() >= #PB_OS_Windows_Vista
hdc = GetWindowDC_(0)
Color = GetPixel_(hdc,2,2)
ReleaseDC_(0,hdc)
Else
Color = GetSysColor_(#COLOR_ACTIVECAPTION)
EndIf
ElseIf Color = 0 And Theme = 0
Color = $D6D6D8
EndIf
Bkgcolor = CreateSolidBrush_(Color)
SetWindowLongPtr_(WindowID(0),#GWL_STYLE,GetWindowLongPtr_(WindowID(0),#GWL_STYLE)|#WS_SIZEBOX)
SetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE,#WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0),0,1,#LWA_ALPHA)
XML.i = CatchXML(#PB_Any, @XML$, StringByteLength(XML$), 0, #XmlEncoding)
Dialog.i = CreateDialog(#PB_Any)
OpenXMLDialog(Dialog.i, XML.i, "test")
SetWindowLongPtr_( WindowID(1), #GWL_HWNDPARENT,WindowID(0))
Image = CreateImage(#PB_Any, 200*dpix,80*dpiy)
StartDrawing(ImageOutput(Image.i))
Box(0,0,200*dpix,80*dpiy, $FEFEFE)
DrawingFont(FontID(1))
DrawingMode(#PB_2DDrawing_Transparent )
DrawText(25*dpix,20*dpiy,"RASHAD",$FF0000,$FEFEFE)
StopDrawing()
ResizeImage(Image,200,80,#PB_Image_Smooth)
i.ICONINFO
i\fIcon = 1
i\hbmMask = ImageID( Image)
i\hbmColor = ImageID( Image)
dImage = CreateIconIndirect_(i)
SetGadgetAttribute(0,#PB_Button_Image, dImage)
SetWindowColor(1,Color)
SetWindowLongPtr_(WindowID(1),#GWL_STYLE,GetWindowLongPtr_(WindowID(1),#GWL_STYLE)|#WS_BORDER)
SetWindowLongPtr_(GadgetID(10),#GWL_STYLE,GetWindowLongPtr_(GadgetID(10),#GWL_STYLE)|#SS_CENTERIMAGE | #SS_CENTER| #SS_NOTIFY)
SetWindowLongPtr_(GadgetID(11),#GWL_STYLE,GetWindowLongPtr_(GadgetID(11),#GWL_STYLE)|#SS_CENTERIMAGE | #SS_CENTER| #SS_NOTIFY)
SetWindowLongPtr_(GadgetID(12),#GWL_STYLE,GetWindowLongPtr_(GadgetID(12),#GWL_STYLE)|#SS_CENTERIMAGE | #SS_CENTER| #SS_NOTIFY)
SetGadgetColor(10,#PB_Gadget_BackColor,Color)
If Theme = 1
SetGadgetColor(10,#PB_Gadget_FrontColor,0)
Else
SetGadgetColor(10,#PB_Gadget_FrontColor,Color ! $FFFFFF)
EndIf
SetGadgetText(10,Chr($30))
SetGadgetFont(10,FontID(0))
SetGadgetColor(11,#PB_Gadget_BackColor,Color)
If Theme = 1
SetGadgetColor(11,#PB_Gadget_FrontColor,0)
Else
SetGadgetColor(11,#PB_Gadget_FrontColor,Color ! $FFFFFF)
EndIf
SetGadgetText(11,Chr($31))
SetGadgetFont(11,FontID(0))
SetGadgetColor(12,#PB_Gadget_BackColor,$1F1FCC)
SetGadgetColor(12,#PB_Gadget_FrontColor,$FFFFFF)
SetGadgetText(12,Chr($72))
SetGadgetFont(12,FontID(0))
; SetWindowLongPtr_(GadgetID(40),#GWL_STYLE,GetWindowLongPtr_(GadgetID(40),#GWL_STYLE)|#BS_HOLLOW)
; SetWindowLongPtr_(GadgetID(41),#GWL_STYLE,GetWindowLongPtr_(GadgetID(41),#GWL_STYLE)|#BS_HOLLOW)
; SetWindowLongPtr_(GadgetID(42),#GWL_STYLE,GetWindowLongPtr_(GadgetID(42),#GWL_STYLE)|#BS_HOLLOW)
SetGadgetItemAttribute(50,0,#PB_ListIcon_ColumnWidth ,120,0)
AddGadgetColumn(50, 1, "Column 1", 250)
For col = 2 To 5
AddGadgetColumn(50, col, "Column "+Str(col), 150)
Next
AddGadgetItem(50, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
AddGadgetItem(50, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
SetWindowCallback(@WindowProc())
nWidth = 480*dpix
nHeight = 350*dpiy
ResizeWindow(0,(GetSystemMetrics_(#SM_CXSCREEN) - nWidth) >> 1,(GetSystemMetrics_(#SM_CYSCREEN) - nHeight) >>1,nWidth,nHeight)
WindowBounds(0,480*dpix,350*dpiy,#PB_Ignore,#PB_Ignore)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
Case #WM_MOUSEMOVE
If OSVersion() >= #PB_OS_Windows_8 Or (OSVersion() < #PB_OS_Windows_8 And Theme = 1)
If IsMouseOver(GadgetID(12))
SetGadgetColor(12,#PB_Gadget_BackColor,$5959E5)
Else
SetGadgetColor(12,#PB_Gadget_BackColor,$1F1FCC)
EndIf
If IsMouseOver(GadgetID(11))
SetGadgetColor(11,#PB_Gadget_BackColor,$FE5451)
SetGadgetColor(11,#PB_Gadget_FrontColor,#White)
Else
SetGadgetColor(11,#PB_Gadget_BackColor,Color)
SetGadgetColor(11,#PB_Gadget_FrontColor,#Black)
EndIf
If IsMouseOver(GadgetID(10))
SetGadgetColor(10,#PB_Gadget_BackColor,$FE5451)
SetGadgetColor(10,#PB_Gadget_FrontColor,#White)
Else
SetGadgetColor(10,#PB_Gadget_BackColor,Color)
SetGadgetColor(10,#PB_Gadget_FrontColor,#Black)
EndIf
EndIf
Case #PB_Event_Gadget
Select EventGadget()
Case 10
SetWindowState(0,#PB_Window_Minimize)
SetGadgetColor(10,#PB_Gadget_BackColor,Color)
SetGadgetColor(10,#PB_Gadget_FrontColor,Color ! $FFFFFF)
Case 11;DialogGadget(Dialog.i, "but2")
Run ! 1
If Run = 1
SystemParametersInfo_(#SPI_GETWORKAREA, 0, r.RECT, 0)
SetWindowState(0,#PB_Window_Maximize)
MoveWindow_(WindowID(0),r\left-4,r\top-4,r\right-r\left+8,r\bottom-r\top+8,1)
SetGadgetColor(11,#PB_Gadget_BackColor,Color)
If Theme = 1
SetGadgetColor(11,#PB_Gadget_FrontColor,0)
Else
SetGadgetColor(11,#PB_Gadget_FrontColor,Color ! $FFFFFF)
EndIf
SetGadgetText(11,Chr($32))
Else
SetWindowState(0,#PB_Window_Normal)
SetGadgetColor(11,#PB_Gadget_BackColor,Color)
If Theme = 1
SetGadgetColor(11,#PB_Gadget_FrontColor,0)
Else
SetGadgetColor(11,#PB_Gadget_FrontColor,Color ! $FFFFFF)
EndIf
SetGadgetText(11,Chr($31))
EndIf
Case 12
Quit = 1
EndSelect
EndSelect
Until Quit = 1 Or GetAsyncKeyState_(#VK_ESCAPE) & $8000 = 32768