为什么能调用结构体中的 变量?
sysmetrics.h
定义一个结构体
struct
{
int iIdex;
TCHAR * szLabel;
TCHAR * szDesc;
}
sysmetrics.cpp
#include .....
int WINAPI WinMain()
{
}
LRESULT CALLBACK WndProc()
{
...
switch (message)
{
case WM_CREATE:
hdc = GetDC (hwnd) ;
GetTextMetrics (hdc, &tm) ;
cxChar = tm.tmAveCharWidth ;
cxCaps = (tm.tmPitchAndFamily & 1 ? 3 : 2) * cxChar / 2 ;
cyChar = tm.tmHeight + tm.tmExternalLeading ;
ReleaseDC (hwnd, hdc) ;
return 0 ;
case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
for (i = 0 ; i < NUMLINES ; i++)
{
TextOut (hdc, 0, cyChar * i,
sysmetrics[i].szLabel,
lstrlen (sysmetrics[i].szLabel)) ;
TextOut (hdc, 22 * cxCaps, cyChar * i,
sysmetrics[i].szDesc,
lstrlen (sysmetrics[i].szDesc)) ;
SetTextAlign (hdc, TA_RIGHT | TA_TOP) ;
TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,
wsprintf (szBuffer, TEXT ("%5d"),
GetSystemMetrics (sysmetrics[i].iIndex))) ;
SetTextAlign (hdc, TA_LEFT | TA_TOP) ;
}
EndPaint (hwnd, &ps) ;
return 0 ;
}中sysmetrics[i].szLabel为什么可以这样使用呢?sysmetrics[].szLabel会出错?求解答!谢谢!
[解决办法]
为什么不能呢?
[解决办法]
数组元素是通过下标访问的,没有下标那算什么
[解决办法]
当然是可以的,基本语法问题,不支持空下标。
[解决办法]
struct
{
int iIdex;// 设备序号
TCHAR* szLabel;// 设备卷标
TCHAR* szDesc; // 设备描述信息
};