У меня есть этот конкретный вопрос при программировании приложения win32 для интернет-магазина в C++, но я не уверен, если я могу объяснить это нормально:выиграть 32 программирования C++
Я это class Product{};
, что предполагается провести (тип, имя, цена, количество) для каждого уникального продукта в магазине (я написал его как обычный класс и не уверен, что мне нужно писать как класс mfc?). И я сделаю вектор, содержащий все доступные объекты (продукты) в магазине.
Идея состоит в том, чтобы иметь профиль администратора, которому разрешено добавлять новые продукты и удалять их. Поэтому я хочу получить эту информацию из тех редакторов, где он будет вводить данные и сохранять эти данные в класс. Проблема в том, что я не знаю, какую функцию использовать для получения информации из диалогового окна интерфейса. Я пробовал с GetDlgItemText
и SetDlgItemText
(SendDlgMessage
), но возвращаемый тип - int
, так что, я думаю, это что-то еще, что я должен использовать?
INT_PTR CALLBACK Seller(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_BUTTON1: {
Product obj;
GetDlgItemText(hDlg,IDC_EDIT3|IDC_EDIT2,text,20);
SendDlgItemMessage(hDlg,obj.SetType(text),LB_ADDSTRING,0,(long)text);
EDIT:
Я забыл упомянуть, что третий формальный параметр «текст» на самом деле глобальная переменная буфер, где хранить информацию из пункта DLG :) так ФАКТИЧЕСКИ Моя проблема заключается в том, что с отправкой информация от буфера tthe до объекта класса Продукт
EDIT2: Я понял. Idon't нужна функция SendDlgItemMessage на первом месте, так как я хочу сохранить информацию в векторе. Просто будет использовать функцию сеттер классного продукта, а затем непосредственно push_back объект типа продукта в векторе
Почему вы делаете свою жизнь более сложной, написав ее в Win32 вместо использования графического интерфейса? Это ваш код, а не наследуемая кодовая база, не так ли? – Devolus
@Devolus: Почему бы и нет? – Xearinox
Потому что его сложность и склонность к ошибкам. Это не плохо, как учебный опыт, если вы хотите узнать о внутренней работе Windows, но я бы никогда не сделал этого для бизнес-проекта. В этих библиотеках GUI есть тонны вспомогательных классов, которые упрощают вашу жизнь, а код легче поддерживать. – Devolus