1

Тема: Windows Form на С

Всім привіт. Вирішив попробувати створювати програми WinAPI на Сі. Тільки книжечок і матеріалів по цьому в інеті 0. Можливо хтось має книги, або посилання на сайти де це описується?

2

Re: Windows Form на С

Має допомогти.
Pure WinApi, Pure C
http://zetcode.com/gui/winapi/

Подякували: navchalkin1

3

Re: Windows Form на С

ось тут приклади на англійському для чистого С

Подякували: navchalkin1

4 Востаннє редагувалося navchalkin (17.06.2015 20:29:34)

Re: Windows Form на С

Знайшов тут на російській. Можливо комусь треба буде:
http://eax.me/winapi-dev-environment/
http://dims.karelia.ru/win32/
https://rsdn.ru/article/baseserv/api32.xml

5

Re: Windows Form на С

hellо world завжди було легко компілювати, а де приклади там модального вікна ?

6

Re: Windows Form на С

hellо world завжди було легко компілювати, а де приклади там модального вікна ?

Я добавив ще 2 посилання, де все добре описується. Особливо у 2-му.

7

Re: Windows Form на С

емм, появилась проблема. Компілятор Code::Blocks'а не сприймає оце:

#include <windows.h>
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) {
 MessageBox(NULL,"Hello, World!","Test",MB_OK);
 return 0;
}

на WinMain вибиває помилку.

||=== Build: Release in 50 Milions (compiler: GNU GCC Compiler) ===|
C:\Users\navchalkin\Desktop\C\50 Milions\main.c||In function 'WinMain':|
C:\Users\navchalkin\Desktop\C\50 Milions\main.c|2|error: parameter name omitted|
C:\Users\navchalkin\Desktop\C\50 Milions\main.c|2|error: parameter name omitted|
C:\Users\navchalkin\Desktop\C\50 Milions\main.c|2|error: parameter name omitted|
C:\Users\navchalkin\Desktop\C\50 Milions\main.c|2|error: parameter name omitted|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Може хтось знає, як виправити? Буду вдячний

8 Востаннє редагувалося YurkoFlisk (18.06.2015 22:52:46)

Re: Windows Form на С

Коли ви пишете реалізацію функції, завжди треба писати назви параметрів, навіть якщо ви їх не використовуєте:

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

А не писати назви параметрів ви можете тоді, коли пишете прототип функції:

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int);

І, доречі, для C++ і WinAPI є досить хороша книжка російською мовою - "Н.А.Литвиненко - Технология программирования на С++. Win32 API".