我在用 C++ 为在线商店编写 win32 应用程序时遇到了这个特殊问题,但我不确定是否可以解释一下:
我有这个class Product{};
,它应该保存商店中每个独特产品的信息(类型、名称、价格、数量)(我已将其编写为普通类,但不确定是否必须编写为 mfc 类?)。我将制作一个包含商店中所有可用对象(产品)的向量。
这个想法是有一个管理员配置文件,允许添加新产品和删除它们。所以我想从那些他将要输入数据并将该数据保存到类的编辑框中获取该信息。问题是我不知道使用什么函数从界面对话框中获取信息。我试过GetDlgItemText
and 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);
编辑:
我忘了提到第三个形式参数“text”实际上是一个全局缓冲区变量,我在其中存储来自 dlg 项的信息 :) 所以实际上我的问题是将该信息从缓冲区发送到类的对象产品
EDIT2:我想通了。首先不需要 SendDlgItemMessage 函数,因为我想将信息存储在向量中。只需使用类 Product 的 setter 函数,然后直接 push_back 向量中的 Product 类型的对象