МК
Максим Комаров

Как в win 32 api сделать поля для ввода и кнопки?

Как в win 32 api сделать поля для ввода и кнопки в главном окне, в диалоговых окнах это делается через ресурсы. В книгах написано только как рисовать различные фигуры в основном окне (Стоит VS 2010, код пишу на С++)

Ольга Медведева
Ольга Медведева

Компилятор (точнее IDE) для кода. http://files.mail.ru/XXFL1H

Код. http://pastebin.com/nuBZXxMX

Procedure WindowCallback(hWnd, Msg, wParam, lParam)
Shared hButton

Select Msg
Case #WM_COMMAND
If hButton = lParam
MessageBox_(hWnd,"Ну что ж за день сегодня такой? "+Chr(10)+"Все меня закликали бедную! ","Бедная я кнопко! ",64)
EndIf
Case #WM_CLOSE
DestroyWindow_(hWnd)
Case #WM_DESTROY
PostQuitMessage_(0) : Result = 0
Default
Result = DefWindowProc_(hWnd, Msg, wParam, lParam)
EndSelect

ProcedureReturn Result
EndProcedure

InitCommonControls_()
DefaultFont = GetStockObject_(#DEFAULT_GUI_FONT)

WindowClass.s = "PureBasic_Win"
wc.WNDCLASSEX
wc\cbsize = SizeOf(WNDCLASSEX)
wc\lpfnWndProc = @WindowCallback()
wc\hCursor = LoadCursor_(0, #IDC_ARROW)
wc\hbrBackground = #COLOR_WINDOW
wc\lpszClassName = @WindowClass
RegisterClassEx_(@wc)

Win_x=GetSystemMetrics_(#SM_CXSCREEN)/2-100
Win_y=GetSystemMetrics_(#SM_CYSCREEN)/2-50

hWndMain = CreateWindowEx_(0, WindowClass, "Мелкая прога API", #WS_SYSMENU | #WS_MINIMIZEBOX, Win_x, Win_y, 200, 120, 0, 0, 0, 0)

Text.s="Бинарник этой проги довольно мелкий и не требует дополнительных DLL для своей работы"
hText=CreateWindowEx_(0,"Static", Text, #WS_CHILD | #WS_VISIBLE, 10,10,180,54, hWndMain, 0, 0, 0)
SendMessage_(hText, #WM_SETFONT, DefaultFont, 1)

hButton=CreateWindowEx_(0, "Button", "Типа кнопко", #WS_CHILD | #WS_VISIBLE, 100,64,80,24, hWndMain, 0, 0, 0)
SendMessage_(hButton, #WM_SETFONT, DefaultFont, 1)

ShowWindow_(hWndMain, #SW_SHOWDEFAULT)
UpdateWindow_(hWndMain);

While GetMessage_(msg.MSG, #Null, 0, 0 )
TranslateMessage_(msg)
DispatchMessage_(msg)
Wend
End

Вот как создать EXE файл из этого кода (весит всего 4 КБ) .

Похожие вопросы
ПЛЗ подскажите толковую литературу для изучения и понимания программирования Win 32 API на C++
как сделать текст в полях? как сделать текст в поле, чтобы при печатании текста текст например "Вводите текст" исчезал
"Не является приложением win 32" С#
Как сделать, чтобы при вводе любого символа в поле ввода, на сайте весь контент изменялся?
Сохрание файла с кодировкой utf-8 (WIN API CreateFile, Qt5, C++)
(WIN API CreateFile, Qt, C++) Сохрание файла с кодировкой utf-8
в html надо вставить поле ввода так чтоб оно было в картинке. как ето можно сделать?
как использовать заливку в с++ win 32?
WIN API Не подскажете хорошей литературы на эту тему?
Как сделать кнопку внутри поля? Пишу на PHP