Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Studentus
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 6
#1

Вопрос по Winapi - C++

06.11.2011, 18:46. Просмотров 638. Ответов 6
Метки нет (Все метки)

Есть следующее задание:
Написать программу, позволяющую пользователю при помощи выпадающего списка (стандартный класс окна COMBOBOX) выбрать количество квадратов (от 5 различных значений, легче чётное значение), которые будут рисоваться в рабочей части главного и дочернего окна в зависимости от его размера. То есть требуется "замостить" рабочую часть окна.
Но я никогда не работал с winapi и не знаю с чего начать. Пытался найти примеры, но в основном есть только описание самих ф-ий создания combobox, мне же не понятно, что нужно писать в начале программы (какие библиотеки подключать, что в winapi вместо main() и тд)
Заранее всем спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2011, 18:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по Winapi (C++):

Вопрос по массивав, "институтский" вопрос. - C++
Готовлюсь к летней сессии по программированию. С++ Есть такая вот задачка (привожу как есть) В документации подобного не...

WinApi - C++
подскажите пожалуйста как MSVC 2008 программировать на WinApi? Что нужно делать ? Какого типа создавать проект ? Какие библиотеки...

WinAPI + AD - C++
Доброе время суток! подскажите как с помощью WinAPI на Си проверить установлен ли Active Directory в системе? Заранее спасибо

WinAPI в С++ - C++
Дайте, пожалуйста, ссылку на книгу или хорошую статью по теме "WinAPI в C++" (или в Си). В интернете нашел кучу справочников по сообщениям,...

gethostbyname winapi - C++
Блин как этот winapi уже достал, microsoft такой геморой написали:( Как получить ip адрес по доменому имени? int main(){ WSADATA...

Boost и WinAPI - C++
Когда подключаю к файлу с кодом заголовок boost, все WinAPI функции в нём перестают работать #include <windows.h> int main() { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Сыроежка
Заблокирован
06.11.2011, 18:57 #2
Цитата Сообщение от Studentus Посмотреть сообщение
Есть следующее задание:
Написать программу, позволяющую пользователю при помощи выпадающего списка (стандартный класс окна COMBOBOX) выбрать количество квадратов (от 5 различных значений, легче чётное значение), которые будут рисоваться в рабочей части главного и дочернего окна в зависимости от его размера. То есть требуется "замостить" рабочую часть окна.
Но я никогда не работал с winapi и не знаю с чего начать. Пытался найти примеры, но в основном есть только описание самих ф-ий создания combobox, мне же не понятно, что нужно писать в начале программы (какие библиотеки подключать, что в winapi вместо main() и тд)
Заранее всем спасибо.
Если вам преподаватель не давал тему программирования с использованием WinAPI, то и задания такого он не мог дать!
Studentus
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 6
06.11.2011, 19:24  [ТС] #3
Однако все же дал)
Сыроежка
Заблокирован
06.11.2011, 19:25 #4
Цитата Сообщение от Studentus Посмотреть сообщение
Однако все же дал)
Не надо вводить нас в заблуждение!
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,270
Записей в блоге: 2
Завершенные тесты: 1
06.11.2011, 19:32 #5
Цитата Сообщение от Studentus Посмотреть сообщение
мне же не понятно, что нужно писать в начале программы (какие библиотеки подключать, что в winapi вместо main() и тд)
Если пользуешься MSVS, можешь создать проект GUI и будет создан код для простого окна, который будет компилироваться и запускаться. Там и посмотри что подключается и как выглядет main. А вообще странно, что не смог ни чего нагуглить, примеров полно.

Во многих других IDE можно сделать так же.

Добавлено через 3 минуты
_тыц_
Bers
06.11.2011, 19:38
  #6

Не по теме:

просто он ничего и не гуглил, так, нахаляву решил прокатить

programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
06.11.2011, 20:26 #7
Не надо никакого MSVS вот держи код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <windows.h>
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
HINSTANCE g_hinst;
 
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  HWND hwnd;
  MSG  msg ;
  WNDCLASS wc = {0};
  wc.lpszClassName = TEXT("Application");
  wc.hInstance     = hInstance ;
  wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
  wc.lpfnWndProc   = WndProc ;
  wc.hCursor       = LoadCursor(0,IDC_ARROW);
 
  g_hinst = hInstance;
 
  RegisterClass(&wc);
  hwnd = CreateWindow(wc.lpszClassName, TEXT("Combo Box"),WS_OVERLAPPEDWINDOW | WS_VISIBLE,100, 100, 270, 170, 0, 0, hInstance, 0);
 
 
  while( GetMessage(&msg, NULL, 0, 0)) {
    DispatchMessage(&msg);
  }
  return (int) msg.wParam;
}
 
LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
 
  static HWND hwndCombo, hwndStatic;
  const TCHAR *items[] = { TEXT("programina_1"), TEXT("programina_2"),TEXT("programina_3"), TEXT("programina_4") };
  int i;
  LRESULT sel = 0;
 
  switch(msg)
  {
      case WM_CREATE:
            hwndCombo = CreateWindow(TEXT("combobox"), NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWN,10, 10, 120, 110, hwnd, NULL, g_hinst, NULL);
            hwndStatic = CreateWindow(TEXT("static"), TEXT(""),WS_CHILD | WS_VISIBLE,150, 80, 90, 25, hwnd, NULL, g_hinst, NULL);
 
            for ( i = 0; i < 4; i++ ) {
                SendMessage(hwndCombo, CB_ADDSTRING, 0, (LPARAM) items[i]);
            }
            break;
 
      case WM_COMMAND:
           if ( HIWORD(wParam) == CBN_SELCHANGE) {
                sel = SendMessage(hwndCombo, CB_GETCURSEL, 0, 0);
                SetWindowText(hwndStatic, items[sel]);
                SetFocus(hwnd);
           }
           break;
 
      case WM_DESTROY:
          PostQuitMessage(0);
          break;
  }
  return DefWindowProc(hwnd, msg, wParam, lParam);
}

Дочерние сам сделаешь..

Добавлено через 38 минут
Если кто то интересуется cозданием контролов для программ WinApi без всяхих там MFC и прочей бяки:
http://zetcode.com/tutorials/winapi/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2011, 20:26
Привет! Вот еще темы с ответами:

winApi изучение - C++
прошу посоветтовать литературу или статьи для изучения WinAPI . Скачал книгу Щупака что-то не очень доганяю. Нужно что-то для новичков....

Помошь с WinApi - C++
Есть программа. По идее она должна выводить на экран строку текста и при изменении размеров окошка ЦЕНТРИРОВАТЬ текст. Однако она этого не...

Литература по WinApi. - C++
Не подскажете ли книгу по WinApi в C++? Заранее благодарен. Добавлено через 4 часа 57 минут ап-ап

Эмулятор: C + WinAPI - C++
Здравствуйте уважаемые читатели форума! У меня такой вопрос: (СРАЗУ ПРЕДУПРЕЖДАЮ Я НЕ ОЧЕНЬ ХОРОШО РАЗБИРАЮСЬ ПОКА В ЭТОМ ТАК ЧТО ОЧЕНЬ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.11.2011, 20:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru