帮帮忙,这个函数应该怎么写?

zhouqf 2005-10-26 12:07:42
我想在C++中写一个回调函数,在Delphi中的代码是这样的:

{$IFDEF USEMDI}
hld := FindWindowEx(0, 0, nil, PChar(njtwcaption));
if hld <> 0 then
EnumChildWindows(hld, @EnumChildWindowsProc, 3004);
{$ELSE}
hld:=FindWindow(nil,Pchar(njtwcaption));
PostMessage(hld,3004,0,0);
{$ENDIF}


function EnumChildWindowsProc(hwnd: Integer; lparam: Longint): Boolean; stdcall;
const
ClassName = 'TNJTWMAINFM40';
var
buffer: array[0..255] of Char;
ResultCh: Integer;
begin
Result := True;
GetClassName(hwnd, buffer, 256);
if buffer = ClassName then
begin
PostMessage(hwnd,lparam,0,0);
end;

end;

现在要转到C++里面,EnumChildWindowsProc这个函数应该怎么定义,怎么写?

#ifdef MDI_USED
HWND h1=::FindWindowEx(0, 0, NULL, njtwcaption);
::EnumChildWindows(h1, EnumChildWindowsProc, WM_RELOADBMPLISTMSG);
#else
HWND h1=::FindWindow(NULL, njtwcaption);
::PostMessage(h1,WM_RELOADBMPLISTMSG,0,0);
#endif



...全文
137 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
K 2005-10-26
  • 打赏
  • 举报
回复

#ifdef MDI_USED
HWND h1=::FindWindowEx(0, 0, NULL, njtwcaption);
::EnumChildWindows(h1, EnumChildWindowsProc, WM_RELOADBMPLISTMSG);
#else
HWND h1=::FindWindow(NULL, njtwcaption);
::PostMessage(h1,WM_RELOADBMPLISTMSG,0,0);
#endif

BOOL CALLBACK EnumChildProc(
HWND hwnd, // handle to child window
LPARAM lParam // application-defined value
)
{
char* ClassName = 'TNJTWMAINFM40';
char buffer[256];
int ResultCh;
GetClassName(hwnd, buffer, 256);
if (strcmp(buffer, ClassName) == 0)
{
PostMessage(hwnd, lParam,0,0);
}

return TRUE;
}
codearts 2005-10-26
  • 打赏
  • 举报
回复
BOOL CALLBACK EnumChildProc(
HWND hwnd, // handle to child window
LPARAM lParam // application-defined value
)
{
char* ClassName = 'TNJTWMAINFM40';
char buffer[256];
int ResultCh;
GetClassName(hwnd, buffer, 256);
if (strcmp(buffer, ClassName) == 0) then
begin
PostMessage(hwnd, lParam,0,0);
end;
return true;
end;

}

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧