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