在c++Builder控件板上的Dialogs页上的VCL控件包括了Windows常用的对话框。换句话说,VCL并没有提供对话框,那些对话框都是Windows的一部分。VCL只是使得使用这些对话框变得轻易些。在一些应用中,你可能想改变打开对话框中打开按钮的标题,例如,变成表示你的程序答应用户添加文件到文档中,这中情况下,你可能想打开按钮上的标题自己的标题而不是"打开"。 你可以简单的改变任何通用对话框上按钮的标题,打开对话框的OnShow事件可以用来实现这种操作。
下面的代码显示了如何改变:
void __fastcall TForm1::OpenDialog1Show(TObject *Sender)
{
HWND
hwndDialog = GetParent(OpenDialog1->Handle);
HWND hwndButton =GetDlgItem(hwndDialog, 1);
SetWindowText(hwndButton, "&Add Files");
}
第一行是取得打开对话框的句柄,注重:调用GetParent(), 传过去的是TOpenDialog的句柄。
下一行使用GetDlgItem()函数取得对话框中打开按钮的句柄。
注重:传过去的句柄是第一行取得的对话框的句柄和标识为一的对话框对话资源。
记住,打开对话框不是一个VCL Form,而是一个真正的Windows对话框。在对话框上的各个控制都有一个资源ID.打开按钮的资源ID是1。