Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2011, 15:50   #1
sergej735
Новичок
Джуниор
 
Регистрация: 10.06.2011
Сообщений: 1
По умолчанию простейшее оконное приложение

Я хочу создать простейшее оконное приложение.
Но не знаю как это можно сделать, помогите пожалуйста.
sergej735 вне форума Ответить с цитированием
Старый 10.06.2011, 17:35   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://tinyurl.com/69sbgxo
тут достаточно инфы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.06.2011, 17:57   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Скачай FASM, там есть готовые шаблоны. Для ознакомления в полне достаточно. Так-же, можно научиться и в WinAsm Studio, у него тоже есть готовые решения...
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 18.06.2011, 10:40   #4
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от sergej735 Посмотреть сообщение
Я хочу создать простейшее оконное приложение.
Но не знаю как это можно сделать, помогите пожалуйста.
Не сложная, оконная программа на WinAPI.
Код:
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
Размер скомпилированной программы - 4 КБ.
Скачать http://programmersforum.ru/attachmen...7&d=1306252886

Если это показалось сложным, то вот то же самое, но без явного использования WinAPI
Код:
OpenWindow(0,0,0,200,94,"Мелкая прога",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
Text.s="Бинарник этой проги довольно мелкий и не требует дополнительных DLL для своей работы"
TextGadget(0,10,10,180,54,Text)
ButtonGadget(2,100,64,80,24,"Типа кнопко")

Repeat
  Event = WaitWindowEvent()
  If Event = #PB_Event_Gadget
    If EventGadget() = 2
      MessageRequester("Бедная я кнопко!", "Ну что ж за день сегодня такой?"+Chr(10)+"Все меня закликали бедную!")
    EndIf
  EndIf
Until Event = #PB_Event_CloseWindow
Размер исполняемого файла - 15 КБ.
Скачать http://programmersforum.ru/attachmen...9&d=1306272271
*PB* вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оконное приложение programmm Win Api 1 16.05.2011 23:09
Простейшее приложение в OpenGL Fataller Общие вопросы .NET 6 10.09.2010 23:19
Простейшее приложение на базе Win32 API nevidimka Помощь студентам 2 24.09.2009 10:35
Как проще создать оконное приложение Mrloony Общие вопросы C/C++ 3 22.09.2008 00:00