Как сделать так, что бы находящийся jpg-файл стал фоном в окне Pure Basic?
Фон
Страница: 1
Сообщений 1 страница 6 из 6
Поделиться302.09.2012 11:52:04
OPBR написал(а):
Как сделать так, что бы находящийся jpg-файл стал фоном в окне Pure Basic?
В простейшем случае, размешаешь ImageGadget в окне, делаешь его не активным (функция DisableGadget()), загружаешь в него рисунок.
Пример. http://pure-basic.narod.ru/forum/Back_Image.rar
Поделиться402.09.2012 13:43:41
Код:
SetClassLongPtr_(WindowID(0), #GCL_HBRBACKGROUND, CreatePatternBrush_(ImageID(0))) InvalidateRect_(WindowID(0), 0, 1)
Этот код ставит изображение ImageID(0) как фон у окна WindowID(0). Если нужен именно фон окна, то имхо, это лучший способ, даже лучше ImageGadget()'а.
Поделиться514.03.2014 00:25:57
Как сделать так, что бы находящийся jpg-файл стал фоном в окне Pure Basic?
А для линукса есть что то подобнее?
Код:
SetClassLongPtr_(WindowID(0), #GCL_HBRBACKGROUND, CreatePatternBrush_(ImageID(0))) InvalidateRect_(WindowID(0), 0, 1)
Поделиться616.03.2014 15:37:29
Вот дали за бугром
Код:
Procedure SetWindowBackgroundImage(hWnd.I, hImage.I)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
Protected *Background, FixedBox.I, *Style.GtkStyle
gdk_pixbuf_render_pixmap_and_mask_(hImage, @*Background, 0, 0)
*Style = gtk_style_new_()
*Style\bg_pixmap[0] = *Background
FixedBox = g_list_nth_data_(gtk_container_get_children_(gtk_bin_get_child_(hWnd)), 0)
gtk_widget_set_style_(FixedBox, *Style)
CompilerCase #PB_OS_Windows
SetClassLongPtr_(hWnd, #GCL_HBRBACKGROUND, CreatePatternBrush_(hImage))
InvalidateRect_(hWnd, 0, #True)
CompilerEndSelect
EndProcedure
If LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/Geebee2.bmp") = #False
Debug "Error loading background image"
Else
OpenWindow(0, 270, 100, 254, 260, "With background image", #PB_Window_SizeGadget)
SetWindowBackgroundImage(WindowID(0), ImageID(0))
ButtonGadget(0, 90, 116, 74, 25, "Click me!")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
If EventGadget() = 0
Debug "Button was clicked!"
EndIf
EndSelect
ForEver
EndIfСтраница: 1
Похожие темы
| (WinAPI) Не удаётся сделать фон AVI анимации прозрачным | PureBasic для Windows | 11.12.2023 |
| получить цвет фона окна | PureBasic для Windows | 08.04.2025 |
| Захотел создать канвас | PureBasic для Windows | 28.01.2024 |
| Браузер на PureBasic | Вопросы по PureBasic | 08.02.2010 |
| Вопросы новичка | Вопросы по PureBasic | 23.12.2010 |