InputBox函数显示的对话框按钮是英文的,些不协调,怎样更改?
解决方案 »
- delphi7用API无法连上CRYSTAL10?急!
- 请问wise installshield制作的安装程序中如何加入自己的程序,比如写好的批处理文件
- 新手上路,问个简单的问题!
- 为什么呢
- 一个Update出错问题 ,急,在线等
- 关于注册Intraweb程序的问题
- 谁知道怎样控制window中的图像处理程序的打开、保存、关闭啊?
- 怎样使鼠标右键按下时,鼠标的形状改变,直到放开?
- 寻求xpcontrols控件包
- 我用AdoQuery执行查询的时候为什么会出现纪录集关闭不能执行查询的错误?
- 如何取得硬盘序列号?求助!
- ★★一启动turbo pascal 7.0 CPU的占用率就达到100% 怎么回事?
下面的代码翻译为Delphi就可以了。static HHOOK hHook = NULL;long CALLBACK CBTFun(int nCode, WPARAM wParam, LPARAM lParam)
{
long ret;
HWND hWnd; if (nCode==HCBT_ACTIVATE) {
ret = CallNextHookEx(hHook,
nCode, wParam, lParam);
if (UnhookWindowsHookEx(hHook))
hHook = NULL;
hWnd = FindWindowEx((HWND)wParam,
NULL, "TButton", "OK");
SetWindowText(hWnd, "确定");
hWnd = FindWindowEx((HWND)wParam,
NULL, "TButton", "Cancel");
SetWindowText(hWnd, "取消");
return ret;
}
return CallNextHookEx(hHook, nCode,
wParam, lParam);
}//调用时的代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
hHook = SetWindowsHookEx(WH_CBT, (HOOKPROC)
CBTFun, 0, GetCurrentThreadId());
ShowMessage(InputBox("Caption","Prompt",""));
if (hHook) UnhookWindowsHookEx(hHook);
}
var
hHook: HHOOK; function CBTFun(int nCode, WPARAM wParam, LPARAM lParam): Long;
var
ret: Long;
hWnd: HWND; if nCode=HCBT_ACTIVATE then
begin
Result := CallNextHookEx(hHook,
nCode, wParam, lParam);
if UnhookWindowsHookEx(hHook) then
hHook := Nil;
hWnd := FindWindowEx(HWND(wParam),
Nil, 'TButton', 'OK');
SetWindowText(hWnd, '确定');
hWnd := FindWindowEx(HWND(wParam),
Nil, 'TButton', 'Cancel');
SetWindowText(hWnd, '取消');
Exit;
end; Result := CallNextHookEx(hHook, nCode,
wParam, lParam);
end;begin
hHook := SetWindowsHookEx(WH_CBT, @CBTFun,
0, GetCurrentThreadId);
Result = InputBox(ACaption, APrompt, ADefault);
if hHook<>Nil then UnhookWindowsHookEx(hHook);
end;