Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=6962645&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 11:58:49 2016
Кодировка: Windows-1251
gui-приложение на С - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 0 | 20 | 40 | показать все | след. страница
Anonymous
Незарегистрирован
(10.18.11.16)

  gui-приложение на С
      06.12.2007 00:16
-6

Народ, подскажите новичку, с чего начать?
Только не спрашивайте, зачем мне это нужно!
Просто хочется сделать маленькое окошко с надписью
а там еще кнопочку ок и повесить на нее что-нибудь!
Именно С!)

gadfatherАдминистратор
Carpal Tunnel

Рег.: 05.11.2003
Сообщений: 47302
Из: пл. Гагарина
Рейтинг: 16961
  Re: gui-приложение на С [re: Anonymous]
      06.12.2007 00:17
2

ну эта
gtk+ типа



You can't always get what you want
Anonymous
Незарегистрирован
(10.18.11.16)

  Re: gui-приложение на С [re: gadfather]
      06.12.2007 00:19
2

А можно поподробнее? У меня есть блокнот, я там могу писать
программки на С, потом запускаю bat-файл, он мне из cpp делает
exe. Я хочу использовать win api!

Midori
kaiafa

Рег.: 29.05.2007
Сообщений: 5181
Из: Strasbourg
Рейтинг: 3151
  Re: gui-приложение на С [re: Anonymous]
      06.12.2007 00:28
1

начни с прочтения книжек. Например, в книгах по MSVC для чайников часто приводят полные листинги. Скажем, вспоминаются два тома "Библиотеки программиста", посвященные программингу на С под WinNT.



Кручусь, как белка в мясорубке
Yorik

Рег.: 01.09.2005
Сообщений: 2476
Из: Москва
Рейтинг: 633
  Re: gui-приложение на С [re: Anonymous]
      06.12.2007 01:04
1

Все простою :)
Вот простейшее приложение: (из MSDN)
code:
#include <windows.h> // Global variable HINSTANCE hinst; // Function prototypes. int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int); InitApplication(HINSTANCE); InitInstance(HINSTANCE, int); LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM); // Application entry point. int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; if (!InitApplication(hinstance)) return FALSE; if (!InitInstance(hinstance, nCmdShow)) return FALSE; BOOL fGotMessage; while ((fGotMessage = GetMessage(&msg, (HWND) NULL, 0, 0)) != 0 && fGotMessage != -1) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; UNREFERENCED_PARAMETER(lpCmdLine); } BOOL InitApplication(HINSTANCE hinstance) { WNDCLASSEX wcx; // Fill in the window class structure with parameters // that describe the main window. wcx.cbSize = sizeof(wcx); // size of structure wcx.style = CS_HREDRAW | CS_VREDRAW; // redraw if size changes wcx.lpfnWndProc = MainWndProc; // points to window procedure wcx.cbClsExtra = 0; // no extra class memory wcx.cbWndExtra = 0; // no extra window memory wcx.hInstance = hinstance; // handle to instance wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION); // predefined app. icon wcx.hCursor = LoadCursor(NULL, IDC_ARROW); // predefined arrow wcx.hbrBackground = GetStockObject( WHITE_BRUSH); // white background brush wcx.lpszMenuName = "MainMenu"; // name of menu resource wcx.lpszClassName = "MainWClass"; // name of window class wcx.hIconSm = LoadImage(hinstance, // small class icon MAKEINTRESOURCE(5), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR); // Register the window class. return RegisterClassEx(&wcx); } BOOL InitInstance(HINSTANCE hinstance, int nCmdShow) { HWND hwnd; // Save the application-instance handle. hinst = hinstance; // Create the main window. hwnd = CreateWindow( "MainWClass", // name of window class "Sample", // title-bar string WS_OVERLAPPEDWINDOW, // top-level window CW_USEDEFAULT, // default horizontal position CW_USEDEFAULT, // default vertical position CW_USEDEFAULT, // default width CW_USEDEFAULT, // default height (HWND) NULL, // no owner window (HMENU) NULL, // use class menu hinstance, // handle to application instance (LPVOID) NULL); // no window-creation data if (!hwnd) return FALSE; // Show the window and send a WM_PAINT message to the window // procedure. ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); return TRUE; }
А еще есть сайтик http://firststeps.ru/ там слева есть про WinAPI

v743
Carpal Tunnel

Рег.: 25.10.2002
Сообщений: 7714
Рейтинг: 98
  Re: gui-приложение на С [re: Yorik]
      06.12.2007 01:40
-7

В ответ на:

return msg.wParam;




А это что за запись? (Исходя из того, что в Си классов вроде как нет)



К 743-ей комнате сектора "В" не имею никакого отношения.
Leo

Рег.: 06.12.2002
Сообщений: 4547
Из: 51.5252 N, 0.1322 W
Рейтинг: 548
  Re: gui-приложение на С [re: v743]
      06.12.2007 01:41
8

спасибо, поржал перед сном.



// Leo
Sharp
wayfarer

Рег.: 02.12.2004
Сообщений: 1021
Рейтинг: 21
  Re: gui-приложение на С [re: v743]
      06.12.2007 08:32
 

Это структура. Они в Си есть.

v743
Carpal Tunnel

Рег.: 25.10.2002
Сообщений: 7714
Рейтинг: 98
  Re: gui-приложение на С [re: Sharp]
      06.12.2007 09:28
5

Ясно, спасибо.

p.s. Рад, что дал кому-то возможность "поржать". :D Но я не считаю зазорным ни чего-то не знать, ни задавать вопросы, если не знаешь.



К 743-ей комнате сектора "В" не имею никакого отношения.
pianist
аццкий

Рег.: 25.10.2002
Сообщений: 10841
Из: ---
Рейтинг: 7701
  Re: gui-приложение на С [re: Anonymous]
      06.12.2007 10:45
 

Quote:

У меня есть блокнот, я там могу писать
программки на С, потом запускаю bat-файл, он мне из cpp делает
exe




И эти люди потом придут на собеседование и скажут, что владеют Си профессионально... :crazy:



Убей в себе государство!!1
FMX
Математег

Рег.: 29.05.2006
Сообщений: 3744
Рейтинг: 1502
  Re: gui-приложение на С [re: pianist]
      06.12.2007 11:16
 

В ответ на:

И эти люди потом придут на собеседование и скажут, что владеют Си профессионально... :crazy:



ты ведь этого не знаешь, зачем наговаривать? :confused:

pianist
аццкий

Рег.: 25.10.2002
Сообщений: 10841
Из: ---
Рейтинг: 7701
  Re: gui-приложение на С [re: FMX]
      06.12.2007 11:22
 

Quote:

ты ведь этого не знаешь, зачем наговаривать? :confused:




Лучше бы не знал, да...
 :o



Убей в себе государство!!1
halyavin
кфмн

Рег.: 14.12.2005
Сообщений: 916
Из: Moscow
Рейтинг: 622
  Re: gui-приложение на С [re: Yorik]
      06.12.2007 11:41
1

А MainWndProc ты куда дел? Такая программа просто не скомпилится.

Ildar
sir

Рег.: 01.09.2003
Сообщений: 1286
Из: не гз
Рейтинг: 9
  Re: gui-приложение на С [re: pianist]
      06.12.2007 12:07
 

В ответ на:


И эти люди потом придут на собеседование и скажут, что владеют Си профессионально... :crazy:




а что в этом страшного?

pianist
аццкий

Рег.: 25.10.2002
Сообщений: 10841
Из: ---
Рейтинг: 7701
  Re: gui-приложение на С [re: Ildar]
      06.12.2007 12:17
 

Quote:

а что в этом страшного?




а что в этом хорошего? ни себе: ни людям...




Убей в себе государство!!1
Ildar
sir

Рег.: 01.09.2003
Сообщений: 1286
Из: не гз
Рейтинг: 9
  Re: gui-приложение на С [re: pianist]
      06.12.2007 12:23
 

В ответ на:

ни себе: ни людям...



это вообще к чему?

pianist
аццкий

Рег.: 25.10.2002
Сообщений: 10841
Из: ---
Рейтинг: 7701
  Re: gui-приложение на С [re: Ildar]
      06.12.2007 12:31
 

Quote:

это вообще к чему?




к тому, что человек неизвестно чегму учится, неизвестно зачем.




Убей в себе государство!!1
Zoobastik
Комок меха

Рег.: 18.10.2003
Сообщений: 7460
Из: За спиной
Рейтинг: 4347
  Re: gui-приложение на С [re: Yorik]
      06.12.2007 13:18
 

2Yorik, Хоть бы проверил что пример рабочий. Ведь правда оконной процедуры то нет.

Ildar
sir

Рег.: 01.09.2003
Сообщений: 1286
Из: не гз
Рейтинг: 9
  Re: gui-приложение на С [re: pianist]
      06.12.2007 13:18
 

что ты куришь?!

Yorik

Рег.: 01.09.2005
Сообщений: 2476
Из: Москва
Рейтинг: 633
  Re: gui-приложение на С [re: Zoobastik]
      06.12.2007 23:11
 

В ответ на:

Ведь правда оконной процедуры то нет.


Омагат! Какой ужас, как я посмел понадеяться на милых MSDNщиков!.. :)
Для тех, кому этот пример нужен, можно для начала использовать DefWindowProc вместо своей - как-то работать будет.
Или заполнить шаблончик из MSDN:
code:
LRESULT CALLBACK MainWndProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam) // second message parameter { switch (uMsg) { case WM_CREATE: // Initialize the window. return 0; case WM_PAINT: // Paint the window's client area. return 0; case WM_SIZE: // Set the size and position of the window. return 0; case WM_DESTROY: // Clean up window-specific data objects. return 0; // // Process other messages. // default: return DefWindowProc(hwnd, uMsg, wParam, lParam); } return 0; }


Страницы: 0 | 20 | 40 | показать все | след. страница

Technical >> Development (Archive)

Дополнительная информация
1 зарегистрированных и 1 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы
>>
Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в