@Doczom можешь дать образец приложения, что-то вроде такого
define PROGRAM_TYPE GUI 6.0
include "FASM_OOP/x64.inc"
include "encoding/utf8.inc"
include "FASM_OOP/Winuser.inc"
include "FASM_OOP/DialogForm.inc"
entry main
struct PushButton BUTTON
BN_CLICKED event ?
ends
struct MainForm DIALOGFORM
const _cy = 40
WM_INITDIALOG event MainForm_Init
$layout _cx: MainForm._cx,\
_cy: MainForm._cy,\
_position: absolute,\
_orientation: vertical,\
_align: start
$control EDIT,\
_name: edIn,\
_text: "",\
_style: WS_VISIBLE or ES_AUTOHSCROLL or WS_TABSTOP
$control PushButton,\
_text: "Подтвердить",\
_style: WS_VISIBLE or BS_DEFPUSHBUTTON or WS_TABSTOP,\
_initvals: PushButton_Clicked
$endl
@on_scaling
ends
.proc_frame_mode_static
.proc stdcall MainForm_Init(.p_form:P_MainForm, .p_params, .p_eventData) uses pbx
virtObj .form MainForm at pbx from @arg1
$call .form::setCornerType(DWMWCP.DONOTROUND)
$call .form.edIn::setPlaceholder(esp, L "Введите что-то")
$return esp
.endp
.proc stdcall PushButton_Clicked(.p_form:P_MainForm, .p_params, .p_control:P_PushButton, .p_eventData) uses pbx
virtObj .form MainForm at pbx from @arg1
.with <.string1:WString(0)>, <.string:WString(0)>
in_str @const du "Вы ввели: "
$call .string1::fromWChars(in_str, in_str.len / 2)
$call .form.edIn::getWString(&.string)
$call .string1::addWString(&.string)::getLpWChars()
$call WND|msgBoxW(pax, L "Пользовательский ввод", MB_OK, [.form.hWnd])
.end_with
ret
.endp
ShblDialog_Mem MainForm, "DialogForm", WS_VISIBLE or WS_SYSMENU or WS_MINIMIZEBOX or DS_CENTER or DS_SETFONT; or WS_SIZEBOX
mainForm dForm MainForm
.proc main
$call mainForm::startNM(NULL)
.msg_loop:
$call mainForm::dispatchMessages()
test eax, eax
jnz .msg_loop
$call WND|exit()
.endp
Чтобы была разметка и обработка сообщений от тех либ что используются для создания контролов и желательно чтобы дока была по ним, типа какие сообщения есть, какие функции для этих окон
Для КОС