|
发表于 2013-7-13 11:38:31
|
显示全部楼层
大厅客户端资源:PublicDlg.cpp
1、函数:UserShowDlgProc(),绘制头像处更改为:- g.DrawImage( g_pbmpUserFace, 280, 10, g_pbmpUserFace->GetWidth(), g_pbmpUserFace->GetHeight() );
复制代码 说明:主要是后面增加了宽度、高度。
2、载入头像函数更改为:(此处解决你论坛上有玩家报告不显示头像问题)- void LoadFaceImage()
- {
- wchar_t szFace[256];
- if( g_nFaceItem != 99 )
- {
- wsprintfW( szFace, L"Face%ld%02ld", g_pUserInfo->m_nSex ? 1 : 0, g_nFaceItem );
- }
- else
- { //自定的
- wsprintfW( szFace, L"Face999" );
- }
- Clean( 2 );
- TCHAR szTemp[MAX_PATH];
- ::GetCurrentDirectory( MAX_PATH, szTemp );
- _tcscat_s( szTemp, L"\\UserShow.dll" );
- HMODULE hModule = ::LoadLibrary( szTemp );
- if( hModule )
- {
- g_pbmpUserFace = LoadResImage( hModule, szFace, L"PNG" );
- if( NULL == g_pbmpUserFace )
- {
- g_pbmpUserFace = Gdiplus::Bitmap::FromResource( hModule, szFace );
- }
- ::FreeLibrary( hModule );
- }
- }
复制代码 说明:主要是新版本将头像图片移到usershow.dll中,此处需要更换模块。
3、UserInfoDlgProc函数将- ::SetWindowText( ::GetDlgItem( hWnd, IDC_EDIT_NAME ), g_pUserInfo->m_szName );
复制代码 更换为- if(::IsWindowUnicode( ::GetParent( hWnd ) ) )
- ::SetWindowTextW( ::GetDlgItem( hWnd, IDC_EDIT_NAME ), g_pUserInfo->m_szName );
- else
- ::SetWindowTextA( ::GetDlgItem( hWnd, IDC_EDIT_NAME ), (char*)g_pUserInfo->m_szName );
复制代码 说明:新版本客户端(Unicode)与旧版本客户(Ansi)字符集不同造成原名称显示乱码。
4、UserFullDlgProc函数将- wsprintfA( g_lpszCmd, " 你好:%s[%ld],请输入卡号和密码进行充值财富或会员时间", g_pUserInfo->m_szName, g_pUserInfo->m_nUin );
- ::SetDlgItemTextA( hWnd, IDC_STATIC_WELCOME, g_lpszCmd );
复制代码 更换为:- if(::IsWindowUnicode( ::GetParent( hWnd ) ) )
- {
- wsprintf( (WCHAR*)g_lpszCmd, L" 你好:%s[%ld],请输入卡号和密码进行充值财富或会员时间", g_pUserInfo->m_szName, g_pUserInfo->m_nUin );
- ::SetDlgItemText( hWnd, IDC_STATIC_WELCOME, (WCHAR*)g_lpszCmd );
- }
- else
- {
- wsprintfA( g_lpszCmd, " 你好:%s[%ld],请输入卡号和密码进行充值财富或会员时间", g_pUserInfo->m_szName, g_pUserInfo->m_nUin );
- ::SetDlgItemTextA( hWnd, IDC_STATIC_WELCOME, g_lpszCmd );
- }
复制代码 5、SafeBoxDlgProc 参考 UserFullDlgProc 进行判断处理。 |
|