【发布时间】:2011-05-25 06:03:50
【问题描述】:
我是 win32 编程新手,对资源有一些疑问。
我必须使用资源编辑器(来自 Visual Studio)来制作控件吗?我知道它可以使用 Resource Hacker 编辑器进行后期编辑。如何预防?
在 Windows Forms (.net) 或 Borland Delphi (VCL) 中创建的 GUI 无法使用 res 黑客进行编辑,它可能会在运行时创建控件。
通过运行时进行所有控制以防止其被 res 黑客编辑是一项毫无意义的工作吗?
HWND hButton = CreateWindowEx(
0,
_T("BUTTON"),
_T("Click!"),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_LEFTTEXT,
5, 5, 80, 25, hwnd, (HMENU)IDC_BUTTON1,
GetModuleHandle(NULL),
NULL
);
第二个问题:有没有一种简单的方法可以在父窗口的右上角中设置控件的位置?
今天我是这样做的:
case WM_SIZE:
{
HWND hButton;
RECT rcParent, rcButton;
hButton = GetDlgItem(hwnd, IDC_BUTTON1);
GetClientRect(hwnd, &rcParent);
GetClientRect(hButton, &rcButton);
if(!SetWindowPos(hButton, 0, rcParent.right - (rcButton.right - rcButton.left + 5), 5, 0, 0, SWP_NOSIZE))
{
MessageBox(hwnd, _T("Error at WM_SIZE"), _T("Error!"), MB_OK | MB_ICONERROR);
}
}
break;
纯win32编程中是否有类似Anchors的东西?
【问题讨论】: