我正在尝试自学C ++,并遇到了障碍。这是我第一次尝试简单连接到数据库Win32程序。
我想做什么:
我想在lang.h中定义所有字符串(这样可以更容易翻译)。
然后,我想在WM_PAINT案例语句中使用DrawText()
在屏幕上的某些位置绘制文本。
我已经在屏幕上绘制了文字:
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
SelectObject(ps.hdc, GetStockObject(GRAY_BRUSH));
Rectangle(ps.hdc, 100, 100, 500, 300);
RECT rect;
GetClientRect(hWnd, &rect);
SetTextColor(ps.hdc, RGB(0, 0, 0));
SetBkMode(ps.hdc, TRANSPARENT);
rect.left = 110;
rect.top = 110;
LPCWSTR message = L"Connect to Database: ";
DrawText(ps.hdc, message, -1, &rect, DT_SINGLELINE | DT_NOCLIP);
EndPaint(hWnd, &ps);
}
break;
但是,我真正想要做的是使用我在lang.h中定义的字符串
示例:(这不起作用,只是我尝试过的很多事情之一)
//lang.h
#define MSG_DBPATH = L"Path to Database:";
//SimpleDBConnect.cpp
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
SelectObject(ps.hdc, GetStockObject(GRAY_BRUSH));
Rectangle(ps.hdc, 100, 100, 500, 300);
RECT rect;
GetClientRect(hWnd, &rect);
SetTextColor(ps.hdc, RGB(0, 0, 0));
SetBkMode(ps.hdc, TRANSPARENT);
rect.left = 110;
rect.top = 110;
DrawText(ps.hdc, MSG_DBPATH, -1, &rect, DT_SINGLELINE | DT_NOCLIP);
EndPaint(hWnd, &ps);
}
break;
是否可以使用外部头文件中的已定义文本在WM_PAINT案例语句中在屏幕上绘制文本?
答案 0 :(得分:0)
#define MSG_DBPATH L"Path to Database:"
注意没有等号,也没有分号。