Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/41: Рейтинг темы: голосов - 41, средняя оценка - 4.63
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171

Назначение цвета прозрачным

28.12.2020, 07:57. Показов 10024. Ответов 59
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Теоретически в данном куске кода красный цвет должен бы стать прозрачным, но увы:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
OpenWindow(0, 0, 0, 200, 240, "Window Drawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StartDrawing(WindowOutput(0))
Box(0, 0, 200, 240, 0)
Box(15, 15, 75, 75, RGB(255, 0, 0) )
Circle(140, 125, 45, RGB(35, 158, 70))
LineXY(62, 140, 112, 220, RGB(0, 0, 255))
LineXY(112, 220, 12, 220, RGB(0, 0, 255))
LineXY(12, 220, 62, 140, RGB(0, 0, 255))
FillArea(62, 180, RGB(0, 0, 255), RGB(0, 0, 255))
StopDrawing()
 
SetWindowLong_(WindowID(0), #GWL_EXSTYLE, #WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0), RGB(255, 0, 0), 0, #LWA_COLORKEY)
 
;SetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE,GetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE) | #WS_EX_LAYERED) 
;SetLayeredWindowAttributes_(WindowID(0), RGB(255, 0, 0), 100, #LWA_ALPHA  )
 
 
Repeat
  Event.l = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Подскажите пожалуйста, что не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2020, 07:57
Ответы с готовыми решениями:

Задание определенного цвета прозрачным
Имею изображение, как мне у него определенному цвету (ну допустим #ссс) назначить прозрачный цвет, ну естественно нужно чтобы поняли все...

Обработка изображения: сделать пиксель определенного цвета прозрачным
Всем доброго времени суток. Есть такой вопрос. Возможно ли загрузить изображения и по пиксельно его обработать, если пиксель темнее...

Парсинг текста и назначение цвета, RichEdit
Здравствуйте. Есть такая строка: "^ffcb4aТекст1 \r^ffffffТекст2 \r \r^ffcb4aТекст3 \r^ffffffТекст4 ^00ffffТекст5 \r^ffffffТекст6...

59
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
08.01.2021, 18:54
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от nigri_lupus Посмотреть сообщение
Замабувараев, Получится, что регионы это как бы правильно выразиться "устаревшая технология" или "пятая нога"
Неверно.

Применение регионов достаточно разнообразно:
создание непрямоугольных окон, например, в виде круга, звезды, котёнка;
определение принадлежности произвольной точки региону (можно узнать, шликнул ли пользователь по региону);
как графические объекты (регионы можно закрашивать, делать из них рамку…);
создание маски для ограничения отрисовки, например, при установленном стиле WS_CLIPCHILDREN дочерние окна будут вырезать свой регион из родительского, чтобы на нём не рисовали.

WS_EX_LAYERED — это для прозрачности.
1
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
10.01.2021, 10:42  [ТС]
Замабувараев, Мне кажется нарисовать окно в виде котенка при помощи регионов не проще чем при помощи SetLayeredWindowAttributes_, а вот остальное интересно... Спасибо.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
10.01.2021, 13:49
Цитата Сообщение от nigri_lupus Посмотреть сообщение
Объявление своих констант?
Если, да, то зачем?
https://ru.wikipedia.org/wiki/... 0%B8%D0%B5)
0
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
10.01.2021, 14:06  [ТС]
Замабувараев, Спасибо! Приятно, когда учат, а не осуждают за незнание
0
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
19.01.2021, 01:05  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Не вижу препятствий. Пробуйте!
Эх, а проблема всёже нашлась.... Причем там, где её не ждали..... А именно, отслеживание движений мыши....
никак не могу поймать тот момент, когда курсор мыши начинает заползать на окно:

PureBasic
1
2
3
4
5
6
7
8
9
If TimerMouse(cm())
  CXCURSOR=GetSystemMetrics_(#SM_CXCURSOR)
CYCURSOR=GetSystemMetrics_(#SM_CYCURSOR)
  If cm(0)>f_x-1 And cm(0)<f_x+F_w
  If cm(1)+CYCURSOR>f_y And cm(1)<f_y+F_h
  Debug cm(1)
  EndIf
EndIf
EndIf
Тут:
CYCURSOR - вроде как размер курсора
cm(1) - его координата по оси y на экране
f_y - координата окна на экране
И вроде все верно коокдината курсора+высота курсора > коокдинаты начала окна -> мышка влезла на окошко :-)
Но нет....
Вот полный код:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
procedure TimerMouse(Array cm.l(1)) ; Процедура вызывается по таймеру
  Temp.POINT
  GetCursorPos_(@Temp)  ; Текузая позиция курсора мышки относительно экрана
  If Temp\y<>cm(1) Or Temp\x<>cm(0)
    result=1
    cm(0)=Temp\x
    cm(1)=Temp\y
    EndIf 
  If GetAsyncKeyState_(#VK_LBUTTON) ; Нажата левая кнопка мышки
    cm(2)=1
  Else
    cm(2)=0
  EndIf
  ProcedureReturn result
EndProcedure
 
Dim cm.l(2)
TimerMouse(cm())
AX=7
AY=7
FAT=2
WX=0
WY=0
LXI=10
RXI=10
UYI=10
DYI=10
Width=200
Height=240
CXCURSOR=GetSystemMetrics_(#SM_CXCURSOR)
CYCURSOR=GetSystemMetrics_(#SM_CYCURSOR)
OpenWindow(0, WX, WY, Width, Height, "Window Drawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered|#PB_Window_Invisible | #PB_Window_SizeGadget)
SetWindowLong_(WindowID(0), #GWL_EXSTYLE, #WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0), #Green,0 ,  #LWA_COLORKEY )
f_x=WindowX(0, #PB_Window_InnerCoordinate)+LXI
f_y=WindowY(0, #PB_Window_InnerCoordinate)+UYI
F_w=WindowWidth(0)-RXI-LXI
F_h=WindowHeight(0)-UYI-DYI
Width_cell=(F_w-(AX-1)*FAT)/AX
Height_cell=(F_h-(AY-1)*FAT)/AY
www=OpenWindow(1, f_x, f_y, F_w, F_h, "", #PB_Window_BorderLess |#PB_Window_Invisible  ,WindowID(0))
 RectRgn = CreateRectRgn_(0, 0, F_w,F_h)
   RectRgn1 = CreateRectRgn_(cm(0)-f_x, cm(1)-f_y,CXCURSOR, CYCURSOR)
   CombineRgn_(RectRgn1, RectRgn1, RectRgn, #RGN_XOR)
   SetWindowRgn_(www, RectRgn1, 2) 
   DeleteObject_(RectRgn1)
  DeleteObject_(RectRgn)
SetWindowLong_(WindowID(1), #GWL_EXSTYLE, #WS_EX_LAYERED)
 
SetLayeredWindowAttributes_(WindowID(1), #White, 100, #LWA_ALPHA | #LWA_COLORKEY )
 
SetWindowColor(1,#White)
StickyWindow(0, 1)
StickyWindow(1, 1)
HideWindow(0,0)
HideWindow(1,0)
 
StartDrawing(WindowOutput(0))
Box(LXI, UYI, F_w, F_h, #Green ) 
StopDrawing()
StartDrawing(WindowOutput(1))
 
For x=1 To ax-1
  Box((Width_cell*x+fat*(x-1)), 0, FAT, F_h, #Black )
Next
For y=1 To ay-1
  Box(0, (Height_cell*y+fat*(y-1)), F_h, FAT, #Black )
Next
 
 
StopDrawing()
 
 
Repeat
  Event = WindowEvent()
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.01.2021, 09:03
Цитата Сообщение от nigri_lupus Посмотреть сообщение
Вот полный код:
Не полный...
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
19.01.2021, 10:29
Цитата Сообщение от nigri_lupus Посмотреть сообщение
никак не могу поймать тот момент, когда курсор мыши начинает заползать на окно
А почему вы отказываетесь ловить событие MouseMove?
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.01.2021, 12:01
Цитата Сообщение от nigri_lupus Посмотреть сообщение
когда курсор мыши начинает заползать на окно:
Есть процедура определения, которую обычно используют:
PureBasic
1
2
3
4
5
6
7
8
9
10
Procedure IsMouseOver(wnd) ; Определяем находится ли курсор мышки в пределах данного окна (гаджета)
  GetWindowRect_(wnd,re.RECT) 
  re\left = re\left 
  re\top  = re\top 
  re\right  = re\right 
  re\bottom  = re\bottom 
  GetCursorPos_(pt.POINT) 
  Result = PtInRect_(re,pt\x|( pt\y<<32)) 
  ProcedureReturn Result 
EndProcedure
Не надо ни чего отслеживать. Перед выполнением какого либо действия проверяете, есть ли там курсор мыши
PureBasic
1
2
3
If IsMouseOver( WindowID(0))
    ; то выполняете нужное действие
 EndIf
То же и с любым гаджетом, только там GadgetID
1
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
19.01.2021, 23:41  [ТС]
Цитата Сообщение от Замабувараев Посмотреть сообщение
А почему вы отказываетесь ловить событие MouseMove?
Не всегда, оно подходит, например для частично прозрачного (дырявого) окна.
Pro_grammer, Спасибо.
А почему именно 32?
Цитата Сообщение от Pro_grammer Посмотреть сообщение
( pt\y<<32
Это стандарт?
И что означает?
Code
1
<<
Ну и ещё один вопрос....
Можно ли создать регион на месте, а главное с формой и размером курсора???
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
20.01.2021, 09:06
Цитата Сообщение от nigri_lupus Посмотреть сообщение
Это стандарт?
И что означает?
<< и |
Описано в разделе Переменные, типы и Операторы
Кликните здесь для просмотра всего текста
<< Арифметический сдвиг влево. Сдвигает влево каждый бит в значении выражения в LHS, на количество разрядов, заданных значением выражения в RHS. Кроме того, когда результат этого оператора не используется, и LHS содержит переменную, то смещаться биты будут непосредственно у значения этой переменной. Сдвиг целого числа влево << на 1 разряд соответствует умножению числа на 2.

Пример:
a = %1011 << 1; Значение а будет %10110. %1011=11, %10110=22
b = %111 << 4; Значение b будет %1110000. %111=7, %1110000=112
c.l= 80 000 000$ << 1; Значение с будет равно 0. Биты сдвинутые за левый край результата теряются.
0
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
21.01.2021, 10:13  [ТС]
Цитата Сообщение от nigri_lupus Посмотреть сообщение
Кажется, понял как можно достичь нужного эффекта...
Если ошибаюсь, поправьте, пожалуйста....
1. Создаем ДВА окна. Главное и дочернее. В главном делаем большую дырку, размером с дочернее окно.
2. Дочернее окно делаем в виде полупрозрачной сетки.
3. Вставляем дочернее окно в дырку главного.
4. Чтобы сетка тоже была прокликиваемой, отслеживаем координаты мышки и делаем маленькую дырочку в окне-сетке.
5. При перемещении мышки, сворачивании\разворачивании, растягивании - перерисовываем окно.
Всё верно?
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Не вижу препятствий. Пробуйте!
Упустил я одну "мелочь", чтобы достичь нужного эффекта нужно, чтобы дочернее окно было "выше всех окон", а главное, выше курсора мыши, т.е. чтобы курсор был как бы "под окном"...
А вот как "засунуть" курсор под окно???? ума не приложу....
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.01.2021, 12:05
Цитата Сообщение от nigri_lupus Посмотреть сообщение
А вот как "засунуть" курсор под окно???? ума не приложу....
Как то у вас там всё сложно!
Вот накидал прототип, с сеткой особо не заморачивался, нарисовал для примера.
Два окна, главное с дыркой, дочернее с сеткой. Двигаются синхронно при изменении размера и место положения.
С сеткой прозрачно для кликов мышки, сетка имеет прозрачность 130.
На win7 работает прекрасно, на 10-ке попробуйте, расскажите, лотерея та ещё!
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Global Hi= 800
Global Wi= 600 
 
Procedure Setka() ; особо не заморочился, тут могут быть варианты
If CreateImage(1,Wi,Hi, 32, RGB(255,255,255)) And StartDrawing(ImageOutput(1))
 
For x=1 To Wi Step 98
  Box(x, 0, 10, Hi, #Black )
Next
For y=1 To Hi Step 96
  Box(0,y, Wi, 10, #Black )
Next
StopDrawing()
 
ResizeImage(1,WindowWidth(1),WindowHeight(1))
ResizeGadget(0,0,20,WindowWidth(1),WindowWidth(1))
SetGadgetState(0,ImageID(1))
EndIf
EndProcedure
 
ALPHA = 130 ; Прозрачность черной сетки
;Главное окно
If OpenWindow(1, 0, 0, Wi, Hi, "Главное",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
  SetWindowColor(1,RGB(255,0,0))
  SetWindowLongPtr_(WindowID(1), #GWL_EXSTYLE, #WS_EX_LAYERED | #WS_EX_TOPMOST)
  SetLayeredWindowAttributes_(WindowID(1),RGB(255,0,0),0,#LWA_COLORKEY)
  ; Дочернее Окно с сеткой, невидимое для мыши с прозрачностью ALPHA
  OpenWindow(0, 0, 0, Wi, Hi, "",#PB_Window_BorderLess|#PB_Window_Invisible|#PB_Window_WindowCentered,WindowID(1))
     ImageGadget(0,0,20,Wi,Hi,ID)
  
     SetWindowLong_ ( WindowID (0), #GWL_EXSTYLE , GetWindowLong_ ( WindowID (0), #GWL_EXSTYLE )|#WS_EX_LAYERED|#WS_EX_TRANSPARENT| #WS_DLGFRAME)
     SetLayeredWindowAttributes_(WindowID (0), RGB(255,255,255), ALPHA, #LWA_COLORKEY|#LWA_ALPHA)
     StickyWindow (0,1)
     StickyWindow (1,1)
     ShowWindow_(WindowID(0),#SW_SHOW)
     ResizeWindow(0, WindowX(1),WindowY(1)+20, WindowWidth(1), WindowHeight(1)) 
     Setka()
    
  Repeat
      Event = WaitWindowEvent()
   Select Event
   ; /////////////////// Передвижение, изменение размера///////////////////////       
     Case #PB_Event_MoveWindow
        ResizeWindow(0, WindowX(1),WindowY(1)+20, WindowWidth(1), WindowHeight(1)) 
         
     Case #PB_Event_SizeWindow      
          ResizeWindow(0, WindowX(1),WindowY(1)+20, WindowWidth(1), WindowHeight(1)) 
          Setka()
    ; /////////////////// Пока нет гаджетов, на вырост///////////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = 0
      EndIf
    ; ////////////////////////CloseWindow//////////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = 1
        CloseWindow(1)
        Break
      EndIf
  EndSelect
ForEver
  EndIf
1
Эксперт по электронике
7226 / 3405 / 347
Регистрация: 28.10.2011
Сообщений: 13,388
Записей в блоге: 7
21.01.2021, 13:25
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Global Hi= 800
Global Wi= 600 
 
Procedure Setka() ; особо не заморочился, тут могут быть варианты
  If CreateImage(1,Wi,Hi, 32, RGB(255,255,255)) And StartDrawing(ImageOutput(1))
    
    For x=1 To Wi Step 98
      Box(x, 0, 10, Hi, #Black )
    Next
    For y=1 To Hi Step 96
      Box(0,y, Wi, 10, #Black )
    Next
    StopDrawing()
    
    ResizeImage(1,WindowWidth(1),WindowHeight(1))
    ResizeGadget(0,0,20,WindowWidth(1),WindowWidth(1))
    SetGadgetState(0,ImageID(1))
  EndIf
EndProcedure
 
Procedure Events()
  Select Event()
    Case #PB_Event_MoveWindow
      ResizeWindow(0, WindowX(1),WindowY(1)+20, WindowWidth(1), WindowHeight(1)) 
      
    Case #PB_Event_SizeWindow
      ResizeWindow(0, WindowX(1),WindowY(1)+20, WindowWidth(1), WindowHeight(1)) 
      Setka()
  EndSelect
EndProcedure
 
ALPHA = 130 ; Прозрачность черной сетки
;Главное окно
If OpenWindow(1, 0, 0, Wi, Hi, "Главное",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
  SmartWindowRefresh(1, #True)
  SetWindowColor(1,RGB(255,0,0))
  SetWindowLongPtr_(WindowID(1), #GWL_EXSTYLE, #WS_EX_LAYERED | #WS_EX_TOPMOST)
  SetLayeredWindowAttributes_(WindowID(1),RGB(255,0,0),0,#LWA_COLORKEY)
  ; Дочернее Окно с сеткой, невидимое для мыши с прозрачностью ALPHA
  OpenWindow(0, 0, 0, Wi, Hi, "",#PB_Window_BorderLess|#PB_Window_Invisible|#PB_Window_WindowCentered,WindowID(1))
  ImageGadget(0,0,20,Wi,Hi,ID)
  
  SetWindowLong_ ( WindowID (0), #GWL_EXSTYLE , GetWindowLong_ ( WindowID (0), #GWL_EXSTYLE )|#WS_EX_LAYERED|#WS_EX_TRANSPARENT| #WS_DLGFRAME)
  SetLayeredWindowAttributes_(WindowID (0), RGB(255,255,255), ALPHA, #LWA_COLORKEY|#LWA_ALPHA)
  StickyWindow (0, 1)
  SmartWindowRefresh(0, #True)
  ShowWindow_(WindowID(0),#SW_SHOW)
  ResizeWindow(0, WindowX(1),WindowY(1)+20, WindowWidth(1), WindowHeight(1)) 
  Setka()
  
  BindEvent(#PB_Event_MoveWindow, @Events(), 1)
  BindEvent(#PB_Event_SizeWindow, @Events(), 1)
  
  Repeat
    Event = WaitWindowEvent()
    Select Event
        ; /////////////////// Передвижение, изменение размера///////////////////////       
        
        ; /////////////////// Пока нет гаджетов, на вырост///////////////////////
      Case #PB_Event_Gadget
        EventGadget = EventGadget()
        EventType = EventType()
        If EventGadget = 0
        EndIf
        ; ////////////////////////CloseWindow//////////////////////////
      Case #PB_Event_CloseWindow
        EventWindow = EventWindow()
        If EventWindow = 1
          CloseWindow(1)
          Break
        EndIf
    EndSelect
  ForEver
  
  UnbindEvent(#PB_Event_MoveWindow, @Events(), 1)
  UnbindEvent(#PB_Event_SizeWindow, @Events(), 1)
  
EndIf
1
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.01.2021, 14:44
locm, ну да, так пошустрее наверно будет. Хотя у меня на W7 в общем потоке сообщений тоже без тормозов.
0
Эксперт по электронике
7226 / 3405 / 347
Регистрация: 28.10.2011
Сообщений: 13,388
Записей в блоге: 7
21.01.2021, 14:55
Эта доработка кода позволяет оба окна перемещать одновременно.
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.01.2021, 15:28
Цитата Сообщение от locm Посмотреть сообщение
Эта доработка кода позволяет оба окна перемещать одновременно.
У меня и без доработки одновременно. Наверно зависит от настойки Винды? Дело в том, что вначале при перемещении окна (любого, не только этой программы), у меня вначале двигается пустой прямоугольник, а когда мышку отпускаю, то на месте прямоугольника появляется окно. Т.е. окно стоит на месте до отжатия мыши. Потому совершенно нет разницы, в моём случае так же оба окна одновременно оказываются в нужном месте. То же и с изменением размера.
Возможно в 10-ке включена анимация движения окон, и там эффект другой?
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
21.01.2021, 22:06
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Наверно зависит от настойки Винды? Дело в том, что вначале при перемещении окна (любого, не только этой программы), у меня вначале двигается пустой прямоугольник, а когда мышку отпускаю, то на месте прямоугольника появляется окно. Т.е. окно стоит на месте до отжатия мыши.
Зависит от установки или снятия этой Галочки:
Миниатюры
Назначение цвета прозрачным  
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.01.2021, 22:41
Цитата Сообщение от Замабувараев Посмотреть сообщение
Зависит от установки или снятия этой Галочки:
Примерно это я и имел в виду, да, параметры быстродействия это правильно называется.
Я включил для проверки, locm прав, так оно себя и ведёт - использование BindEvent синхронизирует оба окна в этом режиме.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
21.01.2021, 22:48
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Два окна, главное с дыркой, дочернее с сеткой
Терминологически неверно. Дочернее окно — это окно со стилем WS_CHILD. Указание окну родителя без WS_CHILD это отношения «owner — owned».
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.01.2021, 23:46
Цитата Сообщение от Замабувараев Посмотреть сообщение
Указание окну родителя без WS_CHILD это отношения «owner — owned».
Возможно, вы правы.
Вот из справки по Пурику, жертвой мистификации которого я стал:

Синтаксис

Result = OpenWindow(#Window, x, y, InnerWidth, InnerHeight, Title$ [, Flags [, ParentWindowID]])

ParentWindowID (дополн.) WindowID Окна, для которого создаваемое Окно будет считаться "дочерним".

Хотя подозреваю, это происки переводчика справки на русский язык. В оригинале там чуть по другому:

ParentWindowID - The WindowID the new window belongs to.

В любом случае, ногами меня не пинать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2021, 23:46

32.Модуль в Паскале (Unit), его назначение, структура модуля, назначение и описание частей модуля
32.Модуль в Паскале (Unit), его назначение, структура модуля, назначение и описание частей модуля.

Нужно каким-то образом менять цвета из определённого диапазона на другие цвета
Задача такова. На сайте есть переключалка, я хочу на js сделать так, чтобы при переключении к примеру со светлой темы на темную js...

Нарисовать круг синего цвета и вписанный в него квадрат зелёного цвета
Только вот проблемы с этими: в 13й задаче вообще компиляция не идёт... После сессии сдачи экзамена я в долгу не останусь... 13)...

Изменение цвета названия файла/папки (либо цвета подсветки)
Привет супер уважаемые супер форумчане!) Очень интересно, есть ли какой-то способ изменить цвет названия файла/папки, либо изменить цвет...

Различия смен цвета и замена цвета материала у всех объектов
В чем разница если менять цвет напрямую и менять цвет материала? Эффект вроде один и тот же. Насколько я понимаю, должно работать так, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru