Page 29 of 29

Re: box_lib.obj - библиотека gui компонентов

Posted: Tue Jan 11, 2022 5:29 pm
by IgorA
punk_joker wrote:Напомни, какая с этой функцикй проблема? Для чего эта обертка? Знаю что сам ее писал, но уже непомню как работают асм вставки.
Перед вызовом edit_box_key нужно что-бы в регистре eax был код нажатой клавиши. Потому на языках высоко уровня нужно делать обертку.
Если никто не против можно вставить в библиотеку что-то наподобие такого:

Code: Select all

;description:
; void edit_box_key_safe(edit_box *e, ksys_oskey_t ch)
;input:
; e - edit struct
; ch - key code
align 16
edit_box_key_safe:
	push eax
	mov eax,[esp+12]
	push dword[esp+8]
	call edit_box_key
	pop eax
	ret
Или даже так:

Code: Select all

;description:
; void edit_box_key_safe(edit_box *e, ksys_oskey_t ch)
;input:
; e - edit struct
; ch - key code
align 16
edit_box_key_safe:
	mov eax,[esp+8]
	push dword[esp+4]
	call edit_box_key
	ret

Re: box_lib.obj - библиотека gui компонентов

Posted: Tue Jan 11, 2022 9:29 pm
by turbocat
Сделай пожалуйста.

Re: box_lib.obj - библиотека gui компонентов

Posted: Tue Jan 11, 2022 9:52 pm
by Coldy
Только ее надо сделать stdcall, как и остальные.

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed Jan 12, 2022 1:16 am
by IgorA
rev #9616
Добавил функцию edit_box_key_safe (stdcall)

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed Jan 12, 2022 9:59 pm
by turbocat
Спасибо! Работает.

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed Jan 12, 2022 11:18 pm
by akron1
IgorA wrote:rev #9616
Добавил функцию edit_box_key_safe (stdcall)
Спасибо, работает, да. Но это не stdcall, это cdecl -- после возврата аргументы остаются в стэке. Для stdcall, при возврате должно быть "ret 8" вместо "ret".

Re: box_lib.obj - библиотека gui компонентов

Posted: Thu Jan 13, 2022 2:15 pm
by IgorA
akron1 wrote:Спасибо, работает, да. Но это не stdcall, это cdecl -- после возврата аргументы остаются в стэке. Для stdcall, при возврате должно быть "ret 8" вместо "ret".
Проверял работу функции на небольшом примере и не заметил того, что загрязнялся стек.
Исправил в rev #9629

Re: box_lib.obj - библиотека gui компонентов

Posted: Sun Apr 03, 2022 1:08 am
by sober_dev
#9682 File Browser control - fixed the display of files larger than 4GB.

#9690 File Browser control - some code optimization for r9682

#9728
Opendial and File Browser control
1) Now shows the full value for the year
2) For ".." dir is not shown unnecessary data
3) Finding the end of section [icons16] for r7241

#9747, #9748 File Browser control - choosing the correct icon for dir names starting with ".."

Re: box_lib.obj - библиотека gui компонентов

Posted: Fri Dec 30, 2022 6:21 pm
by Vaicheslav97
Ещё не подключил к библиотеке знать бы только как, поможете? Там 2 исполнительных файла примера тот что с припиской с ограничителем частоты от рисовки он отделен от слайдера.

Re: box_lib.obj - библиотека gui компонентов

Posted: Fri Dec 30, 2022 6:58 pm
by Vaicheslav97
хотя я наверное хрень написал, только осознал что значение оно меняет но поскольку оно не возвращает события изменения и указатель на слайдер то это возможно не так полезно.

Re: box_lib.obj - библиотека gui компонентов

Posted: Sat Apr 08, 2023 7:30 pm
by qullarwee
https://board.kolibrios.org/viewtopic.p ... 217#p56217
Я так понимаю, ничего кроме того, что предложил Mario не придумали? Дело в том, что если делать так, то в некоторых местах ничего не будет рисоваться, и это надо будет дорисовывать вручную (костыльно). В программах Quark, WebView так и делалось?