win32程序问题

707wk 2014-03-09 10:24:51

StaticProc是什么?

代码:
LRESULT CALLBACK ProcLink(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{
switch(Msg)
{
case WM_SETCURSOR :
//设置鼠标在上面时候形状(手型)
SetCursor(LoadCursor(NULL,IDC_HAND));
break ;
case WM_LBUTTONDOWN :
//实现超级链接
ShellExecute(NULL,"open","http://www.baidu.com",NULL,NULL,SW_SHOWNORMAL);
break ;
default :
return CallWindowProc(NULL,hWnd,Msg,wParam,lParam);
//消息回调
}
return 0 ;
}

LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
HICON hIcon;
HWND hImage;
HBITMAP hBitmap;
HINSTANCE hInstance;
PAINTSTRUCT ps;
HDC hDC;
RECT rc;
switch (message)
{
case WM_INITDIALOG:
//加载图片
hBitmap = LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_ABOUT));
hImage = GetDlgItem(hDlg,IDC_IMG1);
SendMessage(hImage,STM_SETIMAGE,IMAGE_BITMAP,(long)hBitmap);
hBitmap = LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BG_ABOUT));
hImage = GetDlgItem(hDlg,IDC_IMG2);
SendMessage(hImage,STM_SETIMAGE,IMAGE_BITMAP,(long)hBitmap);
StaticProc=(WNDPROC)SetWindowLong(GetDlgItem(hDlg,IDC_STC8),GWL_WNDPROC,(LONG)ProcLink);
return TRUE;
case WM_PAINT:
break;
case WM_COMMAND:
if (LOWORD(wParam) == IDC_ABOUTOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
return FALSE;
}
...全文
111 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
JiMoKuangXiangQu 2014-03-09
  • 打赏
  • 举报
回复
StaticProc=(WNDPROC)SetWindowLong(GetDlgItem(hDlg,IDC_STC8),GWL_WNDPROC,(LONG)ProcLink); 编译器没找到 StaticProc 的声明。
707wk 2014-03-09
  • 打赏
  • 举报
回复
代码是从网上搜到的,然后再加到自己代码里的,我只想实现静态文本框的超链接功能,有人能直接上代码吗? 注:mingw编译的
JiMoKuangXiangQu 2014-03-09
  • 打赏
  • 举报
回复
引用 2 楼 zxh707wk 的回复:
具体怎么改?
那要看代码有没有定义StaticProc: 如果有,就要在引用的文件里面声明下,extern ... StaticProc; 如果没有,就要先定义,然后再在引用的地方声明。
lihuiyu1314 2014-03-09
  • 打赏
  • 举报
回复
你没定义staticproc吧
707wk 2014-03-09
  • 打赏
  • 举报
回复
具体怎么改?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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