Нужен исходник калькулятора на чистом win32 API.
От: MichaelXP  
Дата: 11.02.04 18:24
Оценка:
Нужен исходник калькулятора, написанного на С/C++ на чистом win32 API.
Собственно нужно только GUI похожее на стандартный из MS Windows.

Знаю, что вопрос задавался, в поиск прошу не посылать там нет ничего стоящего.

Заранее благодарен.

12.02.04 13:15: Перенесено модератором из 'Исходники' — F
12.02.04 21:18: Перенесено из 'Прочее'
Re: Нужен исходник калькулятора на чистом win32 API.
От: Виталий Россия  
Дата: 12.02.04 01:38
Оценка: +2
Здравствуйте, MichaelXP, Вы писали:

MXP>Нужен исходник калькулятора, написанного на С/C++ на чистом win32 API.

MXP>Собственно нужно только GUI похожее на стандартный из MS Windows.

MXP>Знаю, что вопрос задавался, в поиск прошу не посылать там нет ничего стоящего.


Млин, с такими вопросами, имхо, на RAC или Elance.
Re: Нужен исходник калькулятора на чистом win32 API.
От: Кодт Россия  
Дата: 12.02.04 08:19
Оценка:
Здравствуйте, MichaelXP, Вы писали:

MXP>Нужен исходник калькулятора, написанного на С/C++ на чистом win32 API.

MXP>Собственно нужно только GUI похожее на стандартный из MS Windows.

А ручками и головой поработать?

1. Гуй: либо сделать ресурс диалога с кнопами и строчкой ввода (readonly), либо конструировать окно во время исполнения.

2. Алгоритм: конечный автомат + 2-3 регистра. Вход автомата — одиночные цифры и знаки операций.
Если калькулятор "научный" — то автомат будет магазинным.

В чём именно тебе нужна помощь?
Перекуём баги на фичи!
Re[2]: Нужен исходник калькулятора на чистом win32 API.
От: folk Россия  
Дата: 12.02.04 09:33
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, MichaelXP, Вы писали:


MXP>>Нужен исходник калькулятора, написанного на С/C++ на чистом win32 API.

MXP>>Собственно нужно только GUI похожее на стандартный из MS Windows.

К>А ручками и головой поработать?


К>1. Гуй: либо сделать ресурс диалога с кнопами и строчкой ввода (readonly), либо конструировать окно во время исполнения.


Наверное можно вытащить ресурс диалога из calc.exe — пол-гуя готово

К>2. Алгоритм: конечный автомат + 2-3 регистра. Вход автомата — одиночные цифры и знаки операций.

К>Если калькулятор "научный" — то автомат будет магазинным.

К>В чём именно тебе нужна помощь?
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
Re[3]: Нужен исходник калькулятора на чистом win32 API.
От: peterbes Россия  
Дата: 12.02.04 10:38
Оценка:
Здравствуйте, folk, Вы писали:

F>Наверное можно вытащить ресурс диалога из calc.exe — пол-гуя готово


Иногда проще рисовать "диалог" во время исполнения. Я с этим столкнулся когда периодическую таблицу делал. 105 кнопок, долбался с ними полдня, всеравно криво выходило, да и утомительно это по экранчику их таскать туда сюда, кисть человека непривычна к такого рода деятельности.

А ГУЯ у calc простая, зачем заморачиваться с чужими ресурсами
Re[4]: Нужен исходник калькулятора на чистом win32 API.
От: folk Россия  
Дата: 12.02.04 13:06
Оценка:
Здравствуйте, peterbes, Вы писали:

P>Здравствуйте, folk, Вы писали:


F>>Наверное можно вытащить ресурс диалога из calc.exe — пол-гуя готово


P>Иногда проще рисовать "диалог" во время исполнения. Я с этим столкнулся когда периодическую таблицу делал. 105 кнопок, долбался с ними полдня, всеравно криво выходило, да и утомительно это по экранчику их таскать туда сюда, кисть человека непривычна к такого рода деятельности.


P>А ГУЯ у calc простая, зачем заморачиваться с чужими ресурсами


Так веселее
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
Re[2]: Нужен исходник калькулятора на чистом win32 API.
От: MichaelXP  
Дата: 12.02.04 13:56
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, MichaelXP, Вы писали:


К>В чём именно тебе нужна помощь?


В написании GUI на чистом API
Re[3]: Нужен исходник калькулятора на чистом win32 API.
От: Кодт Россия  
Дата: 12.02.04 14:52
Оценка:
Здравствуйте, MichaelXP, Вы писали:

К>>В чём именно тебе нужна помощь?


MXP> В написании GUI на чистом API


1. Создаёшь ресурс диалога с кнопками и полем ввода.
2. Пишешь к нему оконную процедуру
static HWND hwndDlg = 0;

LRESULT CALLBACK CalculatorProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  switch(uMsg)
  {
  case WM_INITDIALOG:
    assert(hwndDlg == 0);
    hwndDlg = hDlg;
    return onInitDialog();
  case WM_COMMAND:
    assert(hwndDlg == hDlg);
    return onCommand(LOWORD(wParam));
  }
  return FALSE;
}

BOOL onInitDialog()
{
  // инициализация твоего диалога
}

BOOL onCommand(WORD uCmd)
{
  switch(uCmd)
  {
  case IDOK: case IDCANCEL:
    EndDialog(hwndDlg, uCmd);
    break;
  case IDC_0: onPressDigit(0); break; // реакция на кнопки
  case IDC_1: onPressDigit(0); break;
  case IDC_2: onPressDigit(0); break;
  case IDC_3: onPressDigit(0); break;
  case IDC_4: onPressDigit(0); break;
  case IDC_5: onPressDigit(0); break;
  case IDC_6: onPressDigit(0); break;
  case IDC_7: onPressDigit(0); break;
  case IDC_8: onPressDigit(0); break;
  case IDC_PLUS: onPressPlus(); break;
  // и т.д.

  default: return FALSE; // не обработано
  }
  return TRUE; // обработано
}

void setResult(LPCTSTR s)
{
  SetDlgItemText(hwndDlg, IDC_RESULT, s); // передача текста в поле вывода
}
void setResult(double n)
{
  TCHAR buf[64];
  _stprintf(buf, _T("%g"), n);
  setResult(buf);
}
Перекуём баги на фичи!
Re[4]: Нужен исходник калькулятора на чистом win32 API.
От: MichaelXP  
Дата: 12.02.04 15:09
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, MichaelXP, Вы писали:


К>>>В чём именно тебе нужна помощь?


MXP>> В написании GUI на чистом API


К>1. Создаёшь ресурс диалога с кнопками и полем ввода.

К>2. Пишешь к нему оконную процедуру
К>
К>static HWND hwndDlg = 0;

К>LRESULT CALLBACK CalculatorProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
К>{
К>  switch(uMsg)
К>  {
К>  case WM_INITDIALOG:
К>    assert(hwndDlg == 0);
К>    hwndDlg = hDlg;
К>    return onInitDialog();
К>  case WM_COMMAND:
К>    assert(hwndDlg == hDlg);
К>    return onCommand(LOWORD(wParam));
К>  }
К>  return FALSE;
К>}

К>BOOL onInitDialog()
К>{
К>  // инициализация твоего диалога
К>}

К>BOOL onCommand(WORD uCmd)
К>{
К>  switch(uCmd)
К>  {
К>  case IDOK: case IDCANCEL:
К>    EndDialog(hwndDlg, uCmd);
К>    break;
К>  case IDC_0: onPressDigit(0); break; // реакция на кнопки
К>  case IDC_1: onPressDigit(0); break;
К>  case IDC_2: onPressDigit(0); break;
К>  case IDC_3: onPressDigit(0); break;
К>  case IDC_4: onPressDigit(0); break;
К>  case IDC_5: onPressDigit(0); break;
К>  case IDC_6: onPressDigit(0); break;
К>  case IDC_7: onPressDigit(0); break;
К>  case IDC_8: onPressDigit(0); break;
К>  case IDC_PLUS: onPressPlus(); break;
К>  // и т.д.

К>  default: return FALSE; // не обработано
К>  }
К>  return TRUE; // обработано
К>}

К>void setResult(LPCTSTR s)
К>{
К>  SetDlgItemText(hwndDlg, IDC_RESULT, s); // передача текста в поле вывода
К>}
К>void setResult(double n)
К>{
К>  TCHAR buf[64];
К>  _stprintf(buf, _T("%g"), n);
К>  setResult(buf);
К>}
К>


Мне нужно сконструировать его во время выполнения
Re[5]: Нужен исходник калькулятора на чистом win32 API.
От: Кодт Россия  
Дата: 12.02.04 15:18
Оценка:
Здравствуйте, MichaelXP, Вы писали:

MXP>Мне нужно сконструировать его во время выполнения


1. Переносим обсуждение в форум WinAPI (нажми бомбочку на первом сообщении ветки).

2. У тебя есть MSDN? Это must read.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.