/** * 从profile中读取大头像, 如果本地没有则进行下载 * * \param pApp * \param ResponseInfoPhoto * * \return */ Boolean TPhotosGetAlbumsForm::_UpdateProfilePhoto(TApplication* pApp, tResponseUsersGetInfo* ResponseInfoPhoto) { if(ResponseInfoPhoto == NULL) return FALSE; if(ResponseInfoPhoto->nArraySize > 0) { TBitmap* pDownLoadBitmap = NULL; pDownLoadBitmap = LoadImgByUrl(ResponseInfoPhoto->Array[0].headurl); if(pDownLoadBitmap == NULL) { RenRenAPICommon_DownloadPhoto(ResponseInfoPhoto->Array[0].headurl, this->GetWindowHwndId(), FEED_PROFILE_IMAGE_INDEX); } else { TMaskButton* pLogo = NULL; pLogo = static_cast<TMaskButton*>(GetControlPtr(m_ProfileImageID)); if(pLogo) { TRectangle rc; TBitmap * pProfileImageTmp = NULL; //Profile的头像 pLogo->GetBounds(&rc); pProfileImageTmp = TBitmap::Create(RR_HEAD_W, RR_HEAD_W, pDownLoadBitmap->GetDepth()); pProfileImageTmp->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255)); pLogo->SetCaption(TUSTR_Re_NULL,0,0); pLogo->SetImage(pProfileImageTmp, (rc.Width()-pProfileImageTmp->GetWidth())/2, (rc.Height()-pProfileImageTmp->GetHeight())/2); pLogo->Draw(); //如果先Desroy,则会崩溃,很奇怪,原因不明,暂时这么处理 if( pProfileImage != NULL) { pProfileImage->Destroy(); pProfileImage = NULL; } pProfileImage = pProfileImageTmp; } //释放图片 pDownLoadBitmap->Destroy(); pDownLoadBitmap = NULL; } } return TRUE; }
/** 将字符串转为TRectangle * * \param x char*字符串,Left坐标。 * \param y char*字符串,Right坐标。 * \param w char*字符串,宽度W。 * \param h char*字符串,高度H。 * \param[out] rc 转化成的TRectangle * \return 是否成功 */ bool StringToRect(const char* x, const char* y, const char* w, const char* h, TRectangle& rc) { if ( x == NULL || x == 0 || y == NULL || y == 0|| w == NULL || w== 0|| h == NULL || h== 0) return false; rc.SetX(atoi(x)); rc.SetY(atoi(y)); rc.SetWidth(atoi(w)); rc.SetHeight(atoi(h)); return true; }
CGRect CCXEGLView::getFrame() { TRectangle rc; GetClientBounds(&rc); return (CGRect((float)rc.X(), (float)rc.Y(), (float)rc.Width(), (float)rc.Height())); }
// 窗口初始化 Boolean TPhotosGetAlbumsForm::_OnWinInitEvent(TApplication * pApp, EventType * pEvent) { int nErrorCode = eFailed; Int32 Height_Panel = 0; //Panel高度 //m_TitleBtnLeft = SetAppTitleButton(this, APP_RE_ID_STRING_Comment,TITLE_BUTTON_LEFT); //显示不同的title if(m_FormMode == FORM_MODE_NORMAL) { SetAppTilte(this, APP_RE_ID_STRING_Album); m_TitleBtnRight = SetAppTitleButton(this, APP_RE_ID_STRING_Back,TITLE_BUTTON_RIGHT); char* uid = NULL; uid = Get_Url_Params(RR_PhotosGetAlbums, "uid"); if( strcmp(uid, RenRenUserInfo.szuid) == 0) { m_TitleBtnLeft = SetAppBitmapButton(this, APP_RE_ID_BITMAP_take_photo, APP_RE_ID_BITMAP_take_photo); } } else if(m_FormMode == FORM_MODE_MYHOME) { tResponseProfile* ResponseProfile; nErrorCode = RenRenAPI_JsonParse(RR_ProfileGetInfo, (void **)&ResponseProfile); if(ResponseProfile != NULL) { if(ResponseProfile->uid == RenRenUserInfo.uid) { SetAppTilte(this, APP_RE_ID_STRING_MyNews); m_TitleBtnRight = SetAppTitleButton(this, APP_RE_ID_STRING_Home, TITLE_BUTTON_RIGHT); m_TitleBtnLeft = SetAppBitmapButton(this, APP_RE_ID_BITMAP_take_photo, APP_RE_ID_BITMAP_take_photo); } else { //姓名 TUChar pszFName[64] = {0}; TUString::StrUtf8ToStrUnicode(pszFName , (const Char *)ResponseProfile->name); SetAppTilte(this, 0, pszFName); m_TitleBtnRight = SetAppTitleButton(this, APP_RE_ID_STRING_Back,TITLE_BUTTON_RIGHT); } delete ResponseProfile; ResponseProfile = NULL; } } //设置panel高度 TPanel* pTPanel = static_cast<TPanel*>(GetControlPtr(APP_RE_ID_CommonListForm_CommonPanel)); TCoolBarList* pCoolBarList = static_cast<TCoolBarList*>(GetControlPtr(APP_RE_ID_CommonListForm_CommonCoolBarList)); if(pTPanel) { TRectangle rect; Height_Panel = SCR_H - STATUSBAR_H - TITLEBAR_H; if(m_FormMode == FORM_MODE_MYHOME) Height_Panel -= BOTTOM_TAB_H; pTPanel->GetBounds(&rect); rect.SetHeight(Height_Panel); pTPanel->SetBounds(&rect); } if(m_FormMode == FORM_MODE_MYHOME) CreateProfileBottomTab(this, &BottomTabCtrID, 2); //显示个人信息 if(m_FormMode == FORM_MODE_MYHOME) { Int32 Height_Top = 0; //CoolBarList上面信息的高度 Int32 Height_CoolBarList = 0; //CoolBarList高度 tResponseProfile* ResponseProfile; nErrorCode = RenRenAPI_JsonParse(RR_ProfileGetInfo, (void **)&ResponseProfile); if(ResponseProfile != NULL) { //头像 TBitmap* pDownLoadBitmap = NULL; pDownLoadBitmap = LoadImgByUrl(ResponseProfile->headurl); //pProfileImage = LoadImgByUrl(ResponseProfile->headurl); const TBitmap * pImageDeault = TResource::LoadConstBitmap(APP_RE_ID_BITMAP_DefaultLarge); const TBitmap * pBackImage = TResource::LoadConstBitmap(APP_RE_ID_BITMAP_headmask_large); if(pDownLoadBitmap == NULL) { //RenRenAPICommon_DownloadPhoto(ResponseProfile->headurl, this->GetWindowHwndId(), FEED_PROFILE_IMAGE_INDEX); m_ProfileImageID = CtrlAddItemToPanel_MaskButton(this, pTPanel, RR_HEAD_X, RR_HEAD_Y, RR_HEAD_W, RR_HEAD_H, (TBitmap*)pImageDeault, (TBitmap*)pImageDeault, (TBitmap*)pBackImage ); this->DisableControl(m_ProfileImageID); } else { //需要做放大 pProfileImage = TBitmap::Create(RR_HEAD_W, RR_HEAD_W, pDownLoadBitmap->GetDepth()); pProfileImage->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255)); m_ProfileImageID = CtrlAddItemToPanel_MaskButton(this, pTPanel, RR_HEAD_X, RR_HEAD_Y, RR_HEAD_W, RR_HEAD_H, (TBitmap*)pProfileImage, (TBitmap*)pProfileImage, (TBitmap*)pBackImage ); this->DisableControl(m_ProfileImageID); //释放图片 pDownLoadBitmap->Destroy(); pDownLoadBitmap = NULL; } //下载大头像 tResponseUsersGetInfo* ResponseUserInfoPhoto = NULL; RenRenAPI_JsonParse(RR_UsersGetInfoPhoto, (void **)&ResponseUserInfoPhoto); if(ResponseUserInfoPhoto) { if( (ResponseUserInfoPhoto->nArraySize > 0) && (ResponseUserInfoPhoto->Array[0].uid == ResponseProfile->uid) ) { _UpdateProfilePhoto(pApp, ResponseUserInfoPhoto); } else { Set_Url_Params(RR_UsersGetInfoPhoto, "uids", m_uid); RenRenAPICommon_Download(RR_UsersGetInfoPhoto, this->GetWindowHwndId(), 0, 0); } delete ResponseUserInfoPhoto; ResponseUserInfoPhoto = NULL; } else { Set_Url_Params(RR_UsersGetInfoPhoto, "uids", m_uid); RenRenAPICommon_Download(RR_UsersGetInfoPhoto, this->GetWindowHwndId(), 0, 0); } //姓名 TUChar pszFName[64] = {0}; TUString::StrUtf8ToStrUnicode(pszFName , (const Char *)ResponseProfile->name); CtrlAddItemToPanel_Label(this, pTPanel, RR_NAME_X, RR_NAME_Y, 0, FONT_NORMAL, pszFName, RGB_COLOR_BLACK); Height_Top += (RR_NAME_Y+RR_NAME_H); //状态 TUChar pszStatus[1024] = {0}; Coord nHeight_RichView = 0; if(ResponseProfile->nSize_status>0) { TUString::StrUtf8ToStrUnicode(pszStatus, (const Char *)ResponseProfile->status[0].content); CtrlAddItemToPanel_RichView(this, pTPanel, RR_STATUS_X, RR_STATUS_Y, RR_STATUS_W, &nHeight_RichView, FONT_MIDDLE, pszStatus, RGB_COLOR_BLACK); } //位置容错调整 if(nHeight_RichView > (RR_HEAD_H-RR_NAME_H) ) Height_Top += nHeight_RichView; else Height_Top += (RR_HEAD_H- RR_NAME_H); //调整间隔 Height_Top += 4; //设置CoolBarList高度 if(pCoolBarList) { TRectangle rect; Int32 nY = Height_Top; pCoolBarList->GetBounds(&rect); rect.SetY(nY); pCoolBarList->SetBounds(&rect); } delete ResponseProfile; ResponseProfile = NULL; } } //从对应Json中获取数据,用于更新UI nErrorCode = RenRenAPI_JsonParse(RR_PhotosGetAlbums, (void **)&Response); if (Response ) { _SetAlbumCoolBarList(pApp); delete Response; Response = NULL; } else { //显示无权限操作的情况(用户设置了阅读权限) if(nErrorCode == 200) { TUChar ErrorInfo[ERROR_INFO_LEN] = {0}; if(RenRenAPI_JsonParse_bSuccess(RR_PhotosGetAlbums, ErrorInfo) != 0) { if(TUString::StrLen(ErrorInfo) > 0) { //动态添加列表数据 TBarRowList* pRowList = NULL; TBarRow* pBarRow = NULL; pRowList = pCoolBarList->Rows(); pRowList->Clear(); pBarRow = pRowList->AppendRow(); //显示错误提示 TBarListItem* lpItem = NULL; lpItem = pBarRow->AppendItem(); if (lpItem) { CtrlAddItemToCoolBarList_Lable(this, lpItem, RR_INFO_X, RR_INFO_Y, RR_INFO_W, FONT_NORMAL, (TUChar*)ErrorInfo); lpItem->SetHeight(RR_INFO_H); lpItem->SetEnabled(FALSE); } } } } } return TRUE; }
// 窗口初始化 Boolean TGuestbookGetForm::_OnWinInitEvent(TApplication * pApp, EventType * pEvent) { m_TitleBtnLeft = SetAppBitmapButton(this, APP_RE_ID_BITMAP_write_but, APP_RE_ID_BITMAP_write_but_over); //m_TitleBtnRight = SetAppTitleButton(this, APP_RE_ID_STRING_Back,TITLE_BUTTON_RIGHT); //SetAppTilte(this, APP_RE_ID_STRING_Guestbook); //显示不同的title if(m_FormMode == FORM_MODE_NORMAL) { SetAppTilte(this, APP_RE_ID_STRING_Guestbook); m_TitleBtnRight = SetAppTitleButton(this, APP_RE_ID_STRING_Back,TITLE_BUTTON_RIGHT); } else if(m_FormMode == FORM_MODE_MYHOME) { tResponseProfile* ResponseProfile; RenRenAPI_JsonParse(RR_ProfileGetInfo, (void **)&ResponseProfile); if(ResponseProfile) { if(ResponseProfile->uid == RenRenUserInfo.uid) { SetAppTilte(this, APP_RE_ID_STRING_MyNews); m_TitleBtnRight = SetAppTitleButton(this, APP_RE_ID_STRING_Home,TITLE_BUTTON_RIGHT); } else { TUChar pszFName[64] = {0}; TUString::StrUtf8ToStrUnicode(pszFName , (const Char *)ResponseProfile->name); SetAppTilte(this, 0, pszFName); m_TitleBtnRight = SetAppTitleButton(this, APP_RE_ID_STRING_Back,TITLE_BUTTON_RIGHT); } delete ResponseProfile; ResponseProfile = NULL; } } //设置panel高度 TPanel* pTPanel = static_cast<TPanel*>(GetControlPtr(APP_RE_ID_CommonListForm_CommonPanel)); TCoolBarList* pCoolBarList = static_cast<TCoolBarList*>(GetControlPtr(APP_RE_ID_CommonListForm_CommonCoolBarList)); if( (pTPanel == NULL) || (pCoolBarList == NULL) ) return FALSE; //调整Panel高度 { TRectangle rect; Int32 Height_Panel = 0; //Panel高度 Height_Panel = SCR_H - STATUSBAR_H - TITLEBAR_H; if(m_FormMode == FORM_MODE_MYHOME) Height_Panel -= BOTTOM_TAB_H; pTPanel->GetBounds(&rect); rect.SetHeight(Height_Panel); pTPanel->SetBounds(&rect); } if(m_FormMode == FORM_MODE_MYHOME) CreateProfileBottomTab(this, &BottomTabCtrID, 4); //:TODO: //显示个人信息 if(m_FormMode == FORM_MODE_MYHOME) { Int32 Height_Top = 0; //CoolBarList上面信息的高度 tResponseProfile* ResponseProfile; RenRenAPI_JsonParse(RR_ProfileGetInfo, (void **)&ResponseProfile); if(ResponseProfile != NULL) { //头像 TBitmap* pDownLoadBitmap = NULL; pDownLoadBitmap = LoadImgByUrl(ResponseProfile->headurl); //pProfileImage = LoadImgByUrl(ResponseProfile->headurl); const TBitmap * pImageDeault = TResource::LoadConstBitmap(APP_RE_ID_BITMAP_DefaultLarge); const TBitmap * pBackImage = TResource::LoadConstBitmap(APP_RE_ID_BITMAP_headmask_large); if(pDownLoadBitmap == NULL) { //RenRenAPICommon_DownloadPhoto(ResponseProfile->headurl, this->GetWindowHwndId(), FEED_PROFILE_IMAGE_INDEX); m_ProfileImageID = CtrlAddItemToPanel_MaskButton(this, pTPanel, RR_HEAD_X, RR_HEAD_Y, RR_HEAD_W, RR_HEAD_H, (TBitmap*)pImageDeault, (TBitmap*)pImageDeault, (TBitmap*)pBackImage ); this->DisableControl(m_ProfileImageID); } else { //需要做放大 pProfileImage = TBitmap::Create(RR_HEAD_W, RR_HEAD_W, pDownLoadBitmap->GetDepth()); pProfileImage->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255)); m_ProfileImageID = CtrlAddItemToPanel_MaskButton(this, pTPanel, RR_HEAD_X, RR_HEAD_Y, RR_HEAD_W, RR_HEAD_H, (TBitmap*)pProfileImage, (TBitmap*)pProfileImage, (TBitmap*)pBackImage ); this->DisableControl(m_ProfileImageID); //释放图片 pDownLoadBitmap->Destroy(); pDownLoadBitmap = NULL; } //下载大头像 tResponseUsersGetInfo* ResponseUserInfoPhoto = NULL; RenRenAPI_JsonParse(RR_UsersGetInfoPhoto, (void **)&ResponseUserInfoPhoto); if(ResponseUserInfoPhoto) { if( (ResponseUserInfoPhoto->nArraySize > 0) && (ResponseUserInfoPhoto->Array[0].uid == ResponseProfile->uid) ) { _UpdateProfilePhoto(pApp, ResponseUserInfoPhoto); } else { Set_Url_Params(RR_UsersGetInfoPhoto, "uids", m_uid); RenRenAPICommon_Download(RR_UsersGetInfoPhoto, this->GetWindowHwndId(), 0, 0); } delete ResponseUserInfoPhoto; ResponseUserInfoPhoto = NULL; } else { Set_Url_Params(RR_UsersGetInfoPhoto, "uids", m_uid); RenRenAPICommon_Download(RR_UsersGetInfoPhoto, this->GetWindowHwndId(), 0, 0); } //姓名 TUChar pszFName[64] = {0}; TUString::StrUtf8ToStrUnicode(pszFName , (const Char *)ResponseProfile->name); CtrlAddItemToPanel_Label(this, pTPanel, RR_NAME_X, RR_NAME_Y, 0, FONT_NORMAL, pszFName, RGB_COLOR_BLACK); Height_Top += (RR_NAME_Y+RR_NAME_H); //状态 TUChar pszStatus[1024] = {0}; Coord nHeight_RichView = 0; if(ResponseProfile->nSize_status>0) { TUString::StrUtf8ToStrUnicode(pszStatus, (const Char *)ResponseProfile->status[0].content); CtrlAddItemToPanel_RichView(this, pTPanel, RR_STATUS_X, RR_STATUS_Y, RR_STATUS_W, &nHeight_RichView, FONT_MIDDLE, pszStatus, RGB_COLOR_BLACK); } //位置容错调整 if(nHeight_RichView > (RR_HEAD_H-RR_NAME_H) ) Height_Top += nHeight_RichView; else Height_Top += (RR_HEAD_H- RR_NAME_H); //调整间隔 Height_Top += 4; //设置CoolBarList高度 if(pCoolBarList) { TRectangle rect; Int32 nY = Height_Top; pCoolBarList->GetBounds(&rect); rect.SetY(nY); pCoolBarList->SetBounds(&rect); } delete ResponseProfile; ResponseProfile = NULL; } } //从对应Json中获取数据,用于更新UI int nErrorCode = eFailed; tResponseGuestbookGet* Response = NULL; nErrorCode = RenRenAPI_JsonParse(RR_GuestbookGet, (void **)&Response); //动态添加列表数据 TBarRowList* pRowList = NULL; TBarRow* pBarRow = NULL; pRowList = pCoolBarList->Rows(); pRowList->Clear(); pBarRow = pRowList->AppendRow(); if(Response != NULL) { TBarListItem* pListItem = NULL; //背景设置为白色底色 pCoolBarList->SetColor(CTL_COLOR_TYPE_FOCUS_BACK, RGB_COLOR_WHITE); pRowList->BeginUpdate(); if(Response->nArraySize == 0) { TUChar pszCount[64] = {0}; TUString::StrPrintF(pszCount, TResource::LoadConstString(APP_RE_ID_STRING_GuestbookCount), Response->nArraySize); TBarListItem* lpItem = NULL; lpItem = pBarRow->AppendItem(); lpItem->SetCaption(pszCount); lpItem->SetEnabled(FALSE); } //以下为增加列表项 for (int i = 0; i < Response->nArraySize; i++) { TUChar pszString[4096] = {0}; Coord nHeigh = 0; pListItem = pBarRow->AppendItem(); if (pListItem) { //属性设置 pListItem->SetTitle(NULL); pListItem->SetCaption(NULL); pListItem->SetIndicatorType(itNone); //先读取磁盘cache, 无文件再下载 gItemData[i].pBmp = LoadImgByUrl(Response->Array[i].headurl); if( gItemData[i].pBmp != NULL) { //头像,需要做缩放 gItemData[i].pBmpZoom = gItemData[i].pBmp->Create(HEADPHOTO_W, HEADPHOTO_H, 32); gItemData[i].pBmpZoom->QuickSpecialZoom(gItemData[i].pBmp, 0, 0); gItemData[i].HeadMaskButtonID = CtrlAddItemToCoolBarList_MaskButton(this, pListItem, HEADMASK_X, HEADMASK_Y, HEADMASKBUTTON_W, HEADMASKBUTTON_H, gItemData[i].pBmpZoom, (TBitmap*)TBitmap::LoadResBitmap(APP_RE_ID_BITMAP_head1)); } else { gItemData[i].HeadMaskButtonID = CtrlAddItemToCoolBarList_MaskButton(this, pListItem, HEADMASK_X, HEADMASK_Y, HEADMASKBUTTON_W, HEADMASKBUTTON_H, (TBitmap*)TBitmap::LoadResBitmap(APP_RE_ID_BITMAP_Default), (TBitmap*)TBitmap::LoadResBitmap(APP_RE_ID_BITMAP_head1)); RenRenAPICommon_DownloadPhoto(Response->Array[i].headurl, this->GetWindowHwndId(), i ); } //姓名 TUString::StrUtf8ToStrUnicode(pszString , (const Char *)Response->Array[i].name); CtrlAddItemToCoolBarList_Lable(this, pListItem, NAME_X, NAME_Y, 0, NAME_FONT, pszString, RGB_COLOR_LIGHTBLUE); //悄悄话 if(Response->Array[i].is_whisper != 0) { gItemData[i].bWhisper = TRUE; CtrlAddItemToCoolBarList_Image(this, pListItem, WHISPER_X, WHISPER_Y , 49, 15, (TBitmap*)TResource::LoadConstBitmap(APP_RE_ID_BITMAP_whisper)); } //内容,去掉html格式化内容 StrRemoveAtoB(Response->Array[i].content, strlen(Response->Array[i].content), "<", ">"); TUString::StrUtf8ToStrUnicode(pszString , (const Char *)Response->Array[i].content); CtrlAddItemToCoolBarList_RichView(this, pListItem, CONTENT_X, CONTENT_Y, CONTENT_W, &nHeigh, CONTENT_FONT, pszString); //时间 TUString::StrUtf8ToStrUnicode(pszString , (const Char *)Response->Array[i].time); CtrlAddItemToCoolBarList_Lable(this, pListItem, TIME_X, CONTENT_Y+nHeigh, 0, TIME_FONT, pszString, RGB_COLOR_GRAY); //回复 if(Response->Array[i].uid != RenRenUserInfo.uid) { TUString::StrCopy(pszString,TResource::LoadConstString(APP_RE_ID_STRING_Reply)); gItemData[i].TButtonReplyID = CtrlAddItemToCoolBarList_Button(this, pListItem, BUTTON_REPLY_X, BUTTON_REPLY_Y, BUTTON_REPLY_W, BUTTON_REPLY_H, pszString); } //设置CoolBarList Item的高度 pListItem->SetHeight(60 + nHeigh); //保存id gItemData[i].id = Response->Array[i].id; gItemData[i].uid = Response->Array[i].uid; } } pRowList->EndUpdate(); delete Response; Response = NULL; } else { //显示无权限操作的情况(用户设置了阅读权限) if(nErrorCode == 200) { TUChar ErrorInfo[ERROR_INFO_LEN] = {0}; int iResult = RenRenAPI_JsonParse_bSuccess(RR_GuestbookGet, ErrorInfo); if(iResult != 0) { if(TUString::StrLen(ErrorInfo) > 0) { //显示错误提示 TBarListItem* lpItem = NULL; lpItem = pBarRow->AppendItem(); if (lpItem) { CtrlAddItemToCoolBarList_Lable(this, lpItem, RR_INFO_X, RR_INFO_Y, RR_INFO_W, FONT_NORMAL, (TUChar*)ErrorInfo); lpItem->SetHeight(RR_INFO_H); lpItem->SetEnabled(FALSE); } } } } } return TRUE; }
// 窗口事件处理 Boolean TPhotosGetAlbumsForm::EventHandler(TApplication * pApp, EventType * pEvent) { Boolean bHandled = FALSE; switch (pEvent->eType) { //窗口创建 case EVENT_WinInit: { _OnWinInitEvent(pApp, pEvent); bHandled = TRUE; } break; //窗口关闭 case EVENT_WinClose: { _OnWinClose(pApp, pEvent); } break; //点击控件 case EVENT_CtrlSelect: { bHandled = _OnCtrlSelectEvent(pApp, pEvent); } break; //控件获取焦点 case EVENT_CtrlSetFocus: { bHandled = _OnCtrlSetFocusEvent(pApp, pEvent); } break; //控件丢失焦点 case EVENT_CtrlKillFocus : { bHandled = _OnCtrlKillFocusEvent(pApp, pEvent); } break; //输入框内容变化 case EVENT_FieldChanged: { _OnFldChangedEvent(pApp, pEvent); bHandled = TRUE; } break; //窗口的背景 case EVENT_WinEraseClient: { TDC dc(this); WinEraseClientEventType *pEraseEvent = reinterpret_cast< WinEraseClientEventType* >( pEvent ); TRectangle rc(pEraseEvent->rc); dc.SetBackColor(RGB_COLOR_FORM_BACKGROUND); dc.EraseRectangle(&rc, 0); dc.DrawBitmapsH(TResource::LoadConstBitmap(APP_RE_ID_BITMAP_title_bg), 0, 0, SCR_W,GUI_API_STYLE_ALIGNMENT_LEFT); if(m_FormMode == FORM_MODE_MYHOME) dc.DrawBitmapsH(TResource::LoadConstBitmap(APP_RE_ID_BITMAP_Bottom_btn_bg), 0, BOTTOM_TAB_Y, SCR_W,GUI_API_STYLE_ALIGNMENT_LEFT); pEraseEvent->result = 1; bHandled = TRUE; } break; // 右软键事件 case EVENT_KeyCommand: { if( pEvent->sParam1 == SYS_KEY_SOFTKEY_RIGHT_UP || pEvent->sParam1 == SYS_KEY_SOFTKEY_RIGHT_LONG ) { // 模拟标题栏右按钮选中消息 HitControl(m_TitleBtnRight); bHandled = TRUE; } } break; //下载完成事件 case MSG_DL_THREAD_NOTIFY: { NotifyMsgDataType notifyData; Sys_GetMessageBody((MESSAGE_t *)pEvent, ¬ifyData, sizeof(NotifyMsgDataType)); bHandled = TRUE; switch(notifyData.nAccessType) { case RR_PhotoDownload: { if(notifyData.nParam == FEED_PROFILE_IMAGE_INDEX) { //下载完后更新对应的图片 TBitmap* pDownLoadBitmap = NULL; pDownLoadBitmap = LoadImgByPath(notifyData.pszFilePath); if(pDownLoadBitmap) { TMaskButton* pLogo = NULL; pLogo = static_cast<TMaskButton*>(GetControlPtr(m_ProfileImageID)); if(pLogo) { TRectangle rc; pLogo->GetBounds(&rc); if( pProfileImage != NULL) { pProfileImage->Destroy(); pProfileImage = NULL; } pProfileImage = TBitmap::Create(RR_HEAD_W, RR_HEAD_W, pDownLoadBitmap->GetDepth()); pProfileImage->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255)); pLogo->SetCaption(TUSTR_Re_NULL,0,0); pLogo->SetImage(pProfileImage, (rc.Width()-pProfileImage->GetWidth())/2, (rc.Height()-pProfileImage->GetHeight())/2); pLogo->Draw(); } //释放图片 pDownLoadBitmap->Destroy(); pDownLoadBitmap = NULL; } break; } TBitmap* pDownLoadBitmap = NULL; pDownLoadBitmap= LoadImgByPath(notifyData.pszFilePath); if(pDownLoadBitmap != NULL) { TImage* pImage = static_cast<TImage*>(GetControlPtr(gItemData[notifyData.nParam].nImageID)); if(pImage != NULL) { if( gItemData[notifyData.nParam].pBmp != NULL) { gItemData[notifyData.nParam].pBmp->Destroy(); gItemData[notifyData.nParam].pBmp = NULL; } gItemData[notifyData.nParam].pBmp = pDownLoadBitmap->Create(IMAGE_W, IMAGE_H, 32); gItemData[notifyData.nParam].pBmp->QuickSpecialZoom(pDownLoadBitmap, 0, 0); //pImage->SetImage(gItemData[notifyData.nParam].pBmp, (HEADMASKBUTTON_W - gItemData[notifyData.nParam].pBmp->GetWidth())/2, (HEADMASKBUTTON_H - gItemData[notifyData.nParam].pBmp->GetHeight())/2 ); pImage->SetBitmap(gItemData[notifyData.nParam].pBmp); pImage->Draw(); } //释放图片 pDownLoadBitmap->Destroy(); pDownLoadBitmap = NULL; } } break; case RR_PhotosUpload: { if(pApp->MessageBox(TResource::LoadConstString(APP_RE_ID_STRING_PhotoUploadContinue),TResource::LoadConstString(APP_RE_ID_STRING_PhotoUploadSuccess),WMB_YESNO) ==0 ) { HitControl(m_TitleBtnLeft); } else { RenRenAPICommon_Download(RR_PhotosGetAlbums, this->GetWindowHwndId(), 0, m_FormMode); } break; } case RR_UsersGetInfoPhoto: { tResponseUsersGetInfo* Response = NULL; RenRenAPI_JsonParse(RR_UsersGetInfoPhoto, (void **)&Response); if(Response) { _UpdateProfilePhoto(pApp, Response); delete Response; Response = NULL; } } break; default: break; } } break; case MSG_POST_THREAD_NOTIFY: { PostNotifyMsgDataType notifyData; Sys_GetMessageBody((MESSAGE_t *)pEvent, ¬ifyData, sizeof(PostNotifyMsgDataType)); if(notifyData.nParam == EDIT_PARAM_PASSWORD) { Set_Url_Params(RR_PhotosGet, "password", (char*)notifyData.pszEditContent); RenRenAPICommon_Download(RR_PhotosGet, this->GetWindowHwndId(), 0, 0); } else if(notifyData.nParam == RR_PhotosUpload) { Set_Url_Params(RR_PhotosUpload, "caption", (char*)notifyData.pszEditContent); RenRenAPICommon_Download(RR_PhotosUpload, this->GetWindowHwndId(), 0, 0); } bHandled = TRUE; break; } default: break; } if (!bHandled) { bHandled = TWindow::EventHandler(pApp, pEvent); } return bHandled; }
// 窗口事件处理 Boolean TGuestbookGetForm::EventHandler(TApplication * pApp, EventType * pEvent) { Boolean bHandled = FALSE; switch (pEvent->eType) { //窗口创建 case EVENT_WinInit: { _OnWinInitEvent(pApp, pEvent); bHandled = TRUE; } break; //窗口关闭 case EVENT_WinClose: { _OnWinClose(pApp, pEvent); } break; //点击控件 case EVENT_CtrlSelect: { bHandled = _OnCtrlSelectEvent(pApp, pEvent); } break; //控件获取焦点 case EVENT_CtrlSetFocus: { bHandled = _OnCtrlSetFocusEvent(pApp, pEvent); } break; //控件丢失焦点 case EVENT_CtrlKillFocus : { bHandled = _OnCtrlKillFocusEvent(pApp, pEvent); } break; //输入框内容变化 case EVENT_FieldChanged: { _OnFldChangedEvent(pApp, pEvent); bHandled = TRUE; } break; //窗口的背景 case EVENT_WinEraseClient: { TDC dc(this); WinEraseClientEventType *pEraseEvent = reinterpret_cast< WinEraseClientEventType* >( pEvent ); TRectangle rc(pEraseEvent->rc); dc.SetBackColor(RGB_COLOR_FORM_BACKGROUND); dc.EraseRectangle(&rc, 0); dc.DrawBitmapsH(TResource::LoadConstBitmap(APP_RE_ID_BITMAP_title_bg), 0, 0, SCR_W,GUI_API_STYLE_ALIGNMENT_LEFT); if(m_FormMode == FORM_MODE_MYHOME) dc.DrawBitmapsH(TResource::LoadConstBitmap(APP_RE_ID_BITMAP_Bottom_btn_bg), 0, BOTTOM_TAB_Y, SCR_W,GUI_API_STYLE_ALIGNMENT_LEFT); pEraseEvent->result = 1; bHandled = TRUE; } break; // 右软键事件 case EVENT_KeyCommand: { if( pEvent->sParam1 == SYS_KEY_SOFTKEY_RIGHT_UP || pEvent->sParam1 == SYS_KEY_SOFTKEY_RIGHT_LONG ) { // 模拟标题栏右按钮选中消息 HitControl(m_TitleBtnRight); bHandled = TRUE; } } break; //下载完成事件 case MSG_DL_THREAD_NOTIFY: { NotifyMsgDataType notifyData; Sys_GetMessageBody((MESSAGE_t *)pEvent, ¬ifyData, sizeof(NotifyMsgDataType)); bHandled = TRUE; switch(notifyData.nAccessType) { case RR_PhotoDownload: { if(notifyData.nParam == FEED_PROFILE_IMAGE_INDEX) { //下载完后更新对应的图片 TBitmap* pDownLoadBitmap = NULL; pDownLoadBitmap = LoadImgByPath(notifyData.pszFilePath); if(pDownLoadBitmap) { TMaskButton* pLogo = NULL; pLogo = static_cast<TMaskButton*>(GetControlPtr(m_ProfileImageID)); if(pLogo) { TRectangle rc; pLogo->GetBounds(&rc); if( pProfileImage != NULL) { pProfileImage->Destroy(); pProfileImage = NULL; } pProfileImage = TBitmap::Create(RR_HEAD_W, RR_HEAD_W, pDownLoadBitmap->GetDepth()); pProfileImage->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255)); pLogo->SetCaption(TUSTR_Re_NULL,0,0); pLogo->SetImage(pProfileImage, (rc.Width()-pProfileImage->GetWidth())/2, (rc.Height()-pProfileImage->GetHeight())/2); pLogo->Draw(); } //释放图片 pDownLoadBitmap->Destroy(); pDownLoadBitmap = NULL; } break; } if( gItemData[notifyData.nParam].pBmp != NULL) { gItemData[notifyData.nParam].pBmp->Destroy(); gItemData[notifyData.nParam].pBmp = NULL; } if( gItemData[notifyData.nParam].pBmpZoom!= NULL) { gItemData[notifyData.nParam].pBmpZoom->Destroy(); gItemData[notifyData.nParam].pBmpZoom = NULL; } gItemData[notifyData.nParam].pBmp= LoadImgByPath(notifyData.pszFilePath); if(gItemData[notifyData.nParam].pBmp != NULL) { TMaskButton* pMyHeadMBtn = static_cast<TMaskButton*>(GetControlPtr(gItemData[notifyData.nParam].HeadMaskButtonID)); if(pMyHeadMBtn != NULL) { gItemData[notifyData.nParam].pBmpZoom = gItemData[notifyData.nParam].pBmp->Create(HEADPHOTO_W, HEADPHOTO_H, 32); gItemData[notifyData.nParam].pBmpZoom->QuickSpecialZoom(gItemData[notifyData.nParam].pBmp, 0, 0); pMyHeadMBtn->SetImage(gItemData[notifyData.nParam].pBmpZoom, (HEADMASKBUTTON_W - gItemData[notifyData.nParam].pBmpZoom->GetWidth())/2, (HEADMASKBUTTON_H - gItemData[notifyData.nParam].pBmpZoom->GetHeight())/2 ); pMyHeadMBtn->Draw(); } } break; } case RR_GuestbookPost: { pApp->MessageBox(TResource::LoadConstString(APP_RE_ID_STRING_Success), TResource::LoadConstString(APP_RE_ID_STRING_SendComment), WMB_OK); RenRenAPICommon_Download(RR_GuestbookGet, this->GetWindowHwndId(), 0, m_FormMode); break; } case RR_UsersGetInfoPhoto: { tResponseUsersGetInfo* Response = NULL; RenRenAPI_JsonParse(RR_UsersGetInfoPhoto, (void **)&Response); if(Response) { _UpdateProfilePhoto(pApp, Response); delete Response; Response = NULL; } } break; default: break; } } break; case MSG_POST_THREAD_NOTIFY: { PostNotifyMsgDataType notifyData; Sys_GetMessageBody((MESSAGE_t *)pEvent, ¬ifyData, sizeof(PostNotifyMsgDataType)); //if(notifyData.nEditType == NewBlogEdit) { char* uid = Get_Url_Params(RR_GuestbookGet, "uid"); Set_Url_Params(RR_GuestbookPost, "uid", uid); Set_Url_Params(RR_GuestbookPost, "content", (char*)notifyData.pszEditContent); //留言是否为悄悄话,1表示是,0表示否,缺省值为0 if(notifyData.bPrivacy == TRUE) Set_Url_Params(RR_GuestbookPost, "type", "1"); else Set_Url_Params(RR_GuestbookPost, "type", "0"); //回复他人的留言需要传rid if(bReply) { char rid[64] = {0}; sprintf(rid, "%d", gItemData[m_SelectReplyItem].uid); Set_Url_Params(RR_GuestbookPost, "rid", rid); } else { Set_Url_Params(RR_GuestbookPost, "rid", ""); } //当回复公共主页的留言时需要传reply_gossip_id //TUChar sID[64]={0}; //Char id[64]={0}; //TUString::StrI64ToA(sID,(Int64)gItemData[m_SelectReplyItem].id); //TUString::StrUnicodeToStrUtf8(id,sID); char id[64] = {0}; DoubleToChar(gItemData[m_SelectReplyItem].id, id); Set_Url_Params(RR_GuestbookPost, "reply_gossip_id", (char*)id); RenRenAPICommon_Download(RR_GuestbookPost, this->GetWindowHwndId(), 0, 0); } bHandled = TRUE; break; } default: break; } if (!bHandled) { bHandled = TWindow::EventHandler(pApp, pEvent); } return bHandled; }
// 窗口初始化 Boolean TGardenListForm::_OnWinInitEvent(TApplication * pApp, EventType * pEvent) { int iRet = eFailed; int nIndex = 0; TBarRowList *lpRowList = NULL; TRectangle Rc_CoolBarList; nListItems =0; Response = NULL; iRet = KaiXinAPI_JsonParse(KX_GardenList, (void **)&Response); m_BackBtn = SetAppBackButton(this); SetAppTilte(this, APP_KA_ID_STRING_Garden); if(iRet == 1) { TBarRow *lpRow = NULL; TCoolBarList* pCoolBarList = static_cast<TCoolBarList*>(GetControlPtr(APP_KA_ID_GardenListForm_GardenListCoolBarList)); if (pCoolBarList) { TBarListItem* lpItem = NULL; pCoolBarList->SetBounds(RC_LIST_LARGE); pCoolBarList->GetBounds(&Rc_CoolBarList); lpRowList = pCoolBarList->Rows(); //add row if (lpRowList) { lpRowList->BeginUpdate(); lpRowList->Clear(); lpRow = lpRowList->AppendRow(); lpRowList->EndUpdate(); if(lpRow) { //Title lpItem = lpRow->AppendItem(); if(lpItem) { TFont objFontType; Int32 ItemHeight = 0; TRectangle rect; TRectangle Rc_Temp; TUChar pszSubTitle[64] = {0}; lpItem->GetBounds(rect); lpItem->SetCaption(NULL); lpItem->SetIndicatorType(itNone); ItemHeight = ItemHeight + 30; TUString::StrPrintF(pszSubTitle, TResource::LoadConstString(APP_KA_ID_STRING_SubTitleGarden),TResource::LoadConstString(APP_KA_ID_STRING_Friend)); Int32 nTitlelabelId = lpItem->AddCtrl(CTL_CLASS_LABEL, 20, 5); TLabel* pTitlelabel = static_cast<TLabel*>(GetControlPtr(nTitlelabelId)); TRectangle Rc_Titlelabel(OFFSET_X, ItemHeight, SCR_W - 20, 20); pTitlelabel->SetBounds(&Rc_Titlelabel); objFontType = pTitlelabel->GetFont(); objFontType.Create(FONT_CONTENT, FONT_CONTENT); pTitlelabel->SetFont(objFontType); pTitlelabel->SetCaption(pszSubTitle,FALSE); pTitlelabel->GetBounds(&Rc_Temp); ItemHeight = ItemHeight + Rc_Temp.Height() + 30; lpItem->SetHeight(ItemHeight); } // 好友列表 nListItems = Response->nSize_friends; if(nListItems == 0) { lpItem = lpRow->AppendItem(); if(lpItem) { TFont objFontType; TUChar pszFriendName[32] = {0}; Int32 ItemHeight = 0; TRectangle rect; TRectangle Rc_Temp; lpItem->GetBounds(rect); lpItem->SetCaption(NULL); lpItem->SetIndicatorType(itNone); ItemHeight = ItemHeight + rect.Y() + 15; //好友的花园里还没有成熟的果实 Int32 nNoneHarvestId = lpItem->AddCtrl(CTL_CLASS_LABEL, 20, 5); TLabel* pNoneHarvest = static_cast<TLabel*>(GetControlPtr(nNoneHarvestId)); TRectangle Rc_NoneHarvest(OFFSET_X, ItemHeight, SCR_W - 40 , 20); pNoneHarvest->SetBounds(&Rc_NoneHarvest); objFontType = pNoneHarvest->GetFont(); objFontType.Create(FONT_CONTENT_DETAIL, FONT_CONTENT_DETAIL); pNoneHarvest->SetFont(objFontType); pNoneHarvest->SetColor(CTL_COLOR_TYPE_FORE,RGB_COLOR_GRAY); pNoneHarvest->SetCaption(TResource::LoadConstString(APP_KA_ID_STRING_NoneHarvestGarden),FALSE); pNoneHarvest->GetBounds(&Rc_Temp); ItemHeight = ItemHeight + Rc_Temp.Height() + 10; lpItem->SetHeight(ItemHeight - (rect.Y() - Rc_CoolBarList.Y()) + 10 ); } } else { for( nIndex = 0; nIndex < nListItems; nIndex++) { lpItem = lpRow->AppendItem(); if(lpItem) { TFont objFontType; TUChar pszFriendName[32] = {0}; Int32 ItemHeight = 0; TRectangle rect; TRectangle Rc_Temp; lpItem->GetBounds(rect); lpItem->SetCaption(NULL); lpItem->SetIndicatorType(itNone); ItemHeight = ItemHeight + rect.Y() + 15; //好友名字 TUString::StrUtf8ToStrUnicode(pszFriendName, (const Char *)Response->friends[nIndex].fname); nFriendNameId[nIndex] = lpItem->AddCtrl(CTL_CLASS_RICHVIEW, 20, 5); TRichView* pFriendName = static_cast<TRichView*>(GetControlPtr(nFriendNameId[nIndex])); TRectangle Rc_FriendName(OFFSET_X, ItemHeight, SCR_W - 40 , 20); pFriendName->SetBounds(&Rc_FriendName); objFontType = pFriendName->GetFont(); objFontType.Create(FONT_CONTENT_DETAIL, FONT_CONTENT_DETAIL); pFriendName->SetFont(objFontType); //pFriendName->SetColor(CTL_COLOR_TYPE_FORE,RGB_COLOR_BLUE); pFriendName->SetWordWrapAttr(TRUE); pFriendName->SetTransparent(TRUE); pFriendName->SetEnabled(TRUE); pFriendName->SetScrollBarMode(CTL_SCL_MODE_NONE); pFriendName->SetMaxVisibleLines(1, TRUE); pFriendName->SetCaption(pszFriendName,FALSE); pFriendName->GetBounds(&Rc_Temp); ItemHeight = ItemHeight + Rc_Temp.Height() + 5; lpItem->SetHeight(ItemHeight - (rect.Y() - Rc_CoolBarList.Y()) + 10 ); } } } } //:TODO:Add subject info lpRowList->BeginUpdate(); lpRow = lpRowList->AppendRow(); lpRowList->EndUpdate(); //add Item if(lpRow) { //nothing to do } } } } return TRUE; }
Int32 TUserInfoDetailForm::_SetCoolBarList(TApplication* pApp) { TBarRowList *lpRowList = NULL; TBarRow *lpRow = NULL; TCoolBarList* pCoolBarList = static_cast<TCoolBarList*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_InfoCoolBarList)); if (pCoolBarList) { #if 0 TRectangle rc; Int32 oldTop = 0; pCoolBarList->GetBounds(&rc); oldTop = rc.Y(); pCoolBarList->SetBounds(RC_LIST_NORMAL); pCoolBarList->GetBounds(&rc); rc.SetRect(rc.X(),oldTop,rc.Width(),rc.Height()); pCoolBarList->SetBounds(&rc); #endif TBarListItem* lpItem = NULL; lpRowList = pCoolBarList->Rows(); if (lpRowList) { lpRowList->BeginUpdate(); for(int i=0; i < lpRowList->Count(); i++) { lpRow = lpRowList->GetRow(i); if(lpRow) { for(int j = 0; j < lpRow->Count(); j++) { lpItem = lpRow->GetItem(j); if(lpItem) { Int32 ItemHeight = 60;//设置详情列表默认高度为60 lpItem->SetCaption(NULL); lpItem->SetIndicatorType(itNone); lpItem->SetHeight(ItemHeight); } } } } //取第一行的特别item,调整高度 lpRow = lpRowList->GetRow(0); if(lpRow) { TRectangle Rc_Temp; //HomeTown lpItem = lpRow->GetItem(3); if(lpItem) { Int32 ItemHeight = 60; TRichView* pView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_HomeTownValueView)); pView->GetBounds(&Rc_Temp); ItemHeight = 20 + Rc_Temp.Height() + 20; if(ItemHeight > 60) lpItem->SetHeight(ItemHeight); } } //取第二行的特别item,调整高度 lpRow = lpRowList->GetRow(1); if(lpRow) { TRectangle Rc_Temp; //MSN lpItem = lpRow->GetItem(3); if(lpItem) { Int32 ItemHeight = 60; TRichView* pView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_MSNValueView)); pView->GetBounds(&Rc_Temp); ItemHeight = 20 + Rc_Temp.Height() + 20; if(ItemHeight > 60) lpItem->SetHeight(ItemHeight); } //email lpItem = lpRow->GetItem(6); if(lpItem) { Int32 ItemHeight = 60; TRichView* pView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_EmailValueView)); pView->GetBounds(&Rc_Temp); ItemHeight = 20 + Rc_Temp.Height() + 20; if(ItemHeight > 60) lpItem->SetHeight(ItemHeight); } //教育背景 lpItem = lpRow->GetItem(7); if(lpItem) { Int32 ItemHeight = 60; TRichView* pView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_EduValueView)); pView->GetBounds(&Rc_Temp); ItemHeight = 20 + Rc_Temp.Height() + 20; if(ItemHeight > 60) lpItem->SetHeight(ItemHeight); } //工作经历 lpItem = lpRow->GetItem(8); if(lpItem) { Int32 ItemHeight = 60; TRichView* pView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_CareerValueView)); pView->GetBounds(&Rc_Temp); ItemHeight = 20 + Rc_Temp.Height() + 20; if(ItemHeight > 60) lpItem->SetHeight(ItemHeight); } } lpRowList->EndUpdate(); } } return TRUE; }
// 窗口事件处理 Boolean TUserInfoDetailForm::EventHandler(TApplication * pApp, EventType * pEvent) { Boolean bHandled = FALSE; switch (pEvent->eType) { case EVENT_WinInit: { _OnWinInitEvent(pApp, pEvent); bHandled = TRUE; break; } case EVENT_WinClose: { _OnWinClose(pApp, pEvent); break; } case EVENT_WinEraseClient: { TDC dc(this); WinEraseClientEventType *pEraseEvent = reinterpret_cast< WinEraseClientEventType* >( pEvent ); TRectangle rc(pEraseEvent->rc); TRectangle rcBack(5, 142, 310, 314); GetBounds(&rcBack); // 擦除 dc.EraseRectangle(&rc, 0); dc.DrawBitmapsH(TResource::LoadConstBitmap(APP_KA_ID_BITMAP_title_bg), 0, 0, SCR_W, GUI_API_STYLE_ALIGNMENT_LEFT); //dc.DrawBitmapsH(TResource::LoadConstBitmap(APP_KA_ID_BITMAP_bottom_bg), 0, rcBack.Bottom()-44, //320, GUI_API_STYLE_ALIGNMENT_LEFT|GUI_API_STYLE_ALIGNMENT_TOP); pEraseEvent->result = 1; bHandled = TRUE; } break; case EVENT_CtrlSelect: { bHandled = _OnCtrlSelectEvent(pApp, pEvent); break; } //下载完成消息 case MSG_DL_THREAD_NOTIFY: { NotifyMsgDataType notifyData; Sys_GetMessageBody((MESSAGE_t *)pEvent, ¬ifyData, sizeof(NotifyMsgDataType)); switch(notifyData.nAccessType) { case KX_PhotoDownload: { if(pPhotoBmp != NULL) { pPhotoBmp->Destroy(); pPhotoBmp = NULL; } TBitmap* pDownLoadBitmap = NULL; pDownLoadBitmap = LoadImgByPath(notifyData.pszFilePath); TMaskButton* pHeadMBtn = static_cast<TMaskButton*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_UserDetailHeadMaskButton)); if(pDownLoadBitmap) { TRectangle rc; pHeadMBtn->GetBounds(&rc); pPhotoBmp = TBitmap::Create(PHOTO_W, PHOTO_H, pDownLoadBitmap->GetDepth()); pPhotoBmp->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255)); pHeadMBtn->SetImage(pPhotoBmp,(rc.Width()-pPhotoBmp->GetWidth())/2, (rc.Height()-pPhotoBmp->GetHeight())/2); pHeadMBtn->Draw(); //释放图片 pDownLoadBitmap->Destroy(); pDownLoadBitmap = NULL; } break; } default: break; } bHandled = TRUE; break; } case EVENT_KeyCommand: { // 抓取右软键事件 if (pEvent->sParam1 == SYS_KEY_SOFTKEY_RIGHT_UP || pEvent->sParam1 == SYS_KEY_SOFTKEY_RIGHT_LONG) { // 模拟退出按钮选中消息 HitControl(m_BackBtn); bHandled = TRUE; } } break; default: break; } if (!bHandled) { bHandled = TWindow::EventHandler(pApp, pEvent); } return bHandled; }
void TUserInfoDetailForm::_SetDataToCtrls(TApplication* pApp) { if(this->Response && Response->nSize_friends != 0) { TFont objFontType; TUChar pszState[1024] = {0}; TUChar pszStateTime[32] = {0}; TUChar pszLogoPath[256] = {0}; TUChar pszUserName[32] = {0}; TRectangle Rc_Temp; TRectangle rect; TMaskButton* pUserHeadMBtn = static_cast<TMaskButton*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_UserDetailHeadMaskButton)); TBitmap* pDownLoadBitmap = NULL; //Photo, 先读取磁盘cache pDownLoadBitmap = LoadImgByUrl(Response->friends[0].flogo90); //磁盘cache无文件,再下载 if( pDownLoadBitmap == NULL) { TRectangle rc; KaiXinAPICommon_DownloadPhoto(Response->friends[0].flogo90, this->GetWindowHwndId(), 0 ); const TBitmap * pBmp = TResource::LoadConstBitmap(APP_KA_ID_BITMAP_Default); pUserHeadMBtn->GetBounds(&rc); pUserHeadMBtn->SetEnabled(FALSE); pUserHeadMBtn->SetCaption(TUSTR_Kx_NULL,0,0); pUserHeadMBtn->SetImage(pBmp,(rc.Width()-pBmp->GetWidth())/2, (rc.Height()-pBmp->GetHeight())/2); } else { TRectangle rc; pUserHeadMBtn->GetBounds(&rc); pUserHeadMBtn->SetEnabled(FALSE); pUserHeadMBtn->SetCaption(TUSTR_Kx_NULL,0,0); pPhotoBmp = TBitmap::Create(PHOTO_W, PHOTO_H, pDownLoadBitmap->GetDepth()); pPhotoBmp->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255)); pUserHeadMBtn->SetImage(pPhotoBmp,(rc.Width()-pPhotoBmp->GetWidth())/2, (rc.Height()-pPhotoBmp->GetHeight())/2); //释放图片 pDownLoadBitmap->Destroy(); pDownLoadBitmap = NULL; } //用户名 TRichView *pUserName = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_NameLbl)); if(pUserName) { TUString::StrUtf8ToStrUnicode(pszUserName , (const Char *)Response->friends[0].fname); objFontType = pUserName->GetFont(); objFontType.Create(FONT_LARGE_NAME, FONT_LARGE_NAME); pUserName->SetFont(objFontType); pUserName->SetColor(CTL_COLOR_TYPE_FORE, RGB(67, 67, 135)); pUserName->SetTransparent(TRUE); pUserName->SetCaption(pszUserName, FALSE); pUserName->SetEnabled(TRUE); } //用户状态 TPanel*pPanel = static_cast<TPanel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_StateContPanel)); TRichView* pRichView = new TRichView(); Int32 nRichViewId = 0; if(pRichView->Create(pPanel)) { TRectangle obBtnRec(0,0,0,0); pPanel->GetBounds(&obBtnRec); obBtnRec.SetX(0); obBtnRec.SetY(0); pRichView->SetBounds(&obBtnRec); TUString::StrUtf8ToStrUnicode(pszState, (Char*)Response->friends[0].state); objFontType = pRichView->GetFont(); objFontType.Create(FONT_STATE, FONT_STATE); pRichView->SetFont(objFontType); pRichView->SetCaption(pszState,FALSE); pRichView->SetEnabled(FALSE); pRichView->SetWordWrapAttr(TRUE); pRichView->SetTransparent(TRUE); pRichView->SetScrollBarMode(CTL_SCL_MODE_NONE); pRichView->SetUnderLine(TRUE); Int32 nLineCount = pRichView->GetLinesCount(); if(nLineCount <7) nLineCount = 7; pRichView->SetMaxVisibleLines(nLineCount, TRUE); } //状态更新时间 TRichView* pStateTime = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_StateTimeLbl)); if(pStateTime) { objFontType = pStateTime->GetFont(); objFontType.Create(FONT_OTHER_INFO, FONT_OTHER_INFO); pStateTime->SetFont(objFontType); pStateTime->SetColor(CTL_COLOR_TYPE_FORE, RGB_COLOR_GRAY); pStateTime->SetTransparent(TRUE); //pStateTime->SetCaption(pszStateTime, FALSE); pStateTime->SetEnabled(TRUE); if(strcmp(Response->friends[0].state,"")==0) { TUString::StrCat(pszStateTime, TUSTR_Kx_Left_Parenthesis); TUString::StrCat(pszStateTime, TResource::LoadConstString(APP_KA_ID_STRING_NoState)); TUString::StrCat(pszStateTime, TUSTR_Kx_Right_Parenthesis); pStateTime->SetCaption(pszStateTime, FALSE); } else { TUChar* pszDateTime = NULL; cUnixTime_ConvertUnixTimeToFormatString( Response->friends[0].statetime, KX_TIME_FORMAT_YY_MM_DD, &pszDateTime ); if(pszDateTime != NULL) { TUString::StrCat(pszStateTime, TUSTR_Kx_Left_Parenthesis); TUString::StrCat(pszStateTime, pszDateTime); TUString::StrCat(pszStateTime, TUSTR_Kx_Right_Parenthesis); } pStateTime->SetCaption(pszStateTime, FALSE); if(pszDateTime != NULL) { delete pszDateTime; pszDateTime = NULL; } } } //Set InfoCoolBar Ctrls data //基本信息 objFontType.Create(14, 14); /*"性别"*/ TLabel* pGenderLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_GenderLbl)); TLabel* pGenderValueLble = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_GenderValueLbl)); if(pGenderLbl) { pGenderLbl->SetFont(objFontType); pGenderLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pGenderValueLble) { pGenderValueLble->SetFont(objFontType); if(Response->friends[0].gender == 1) { pGenderValueLble->SetCaption(TResource::LoadConstString(APP_KA_ID_STRING_Female),FALSE); } else { pGenderValueLble->SetCaption(TResource::LoadConstString(APP_KA_ID_STRING_Male),FALSE); } } /*"出生日期"*/ TUChar pszBirthdayValue[32] = {0}; TUString::StrUtf8ToStrUnicode(pszBirthdayValue , (const Char *)Response->friends[0].birthday); TLabel* pBirthdayLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_BirthdayLbl)); TLabel* pBirthdayValueLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_BirthdayValueLbl)); if(pBirthdayLbl) { pBirthdayLbl->SetFont(objFontType); pBirthdayLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pBirthdayValueLbl) { pBirthdayValueLbl->SetFont(objFontType); pBirthdayValueLbl->SetCaption(pszBirthdayValue,FALSE); } /*"现居住地"*/ TUChar pszCityValue[64] = {0}; TUString::StrUtf8ToStrUnicode(pszCityValue , (const Char *)Response->friends[0].city); TLabel* pCityLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_CityLbl)); TRichView* pCityValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_CityValueView)); if(pCityLbl) { pCityLbl->SetFont(objFontType); pCityLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pCityValueView) { pCityValueView->SetCaption(pszCityValue,FALSE); pCityValueView->SetFont(objFontType); pCityValueView->SetWordWrapAttr(TRUE); pCityValueView->SetTransparent(TRUE); pCityValueView->SetEnabled(FALSE); pCityValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pCityValueView->SetMaxVisibleLines(pCityValueView->GetLinesCount(), TRUE); pCityValueView->GetBounds(&Rc_Temp); } /*" 家乡"*/ TUChar pszHomeTownValue[256*3] = {0}; TUString::StrUtf8ToStrUnicode(pszHomeTownValue , (const Char *)Response->friends[0].hometown); TLabel* pHomeTownLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_HomeTownLbl)); TRichView* pHomeTownValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_HomeTownValueView)); if(pHomeTownLbl) { pHomeTownLbl->SetFont(objFontType); pHomeTownLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pHomeTownValueView) { pHomeTownValueView->SetCaption(pszHomeTownValue,FALSE); pHomeTownValueView->SetFont(objFontType); pHomeTownValueView->SetWordWrapAttr(TRUE); pHomeTownValueView->SetTransparent(TRUE); pHomeTownValueView->SetEnabled(FALSE); pHomeTownValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pHomeTownValueView->SetMaxVisibleLines(pHomeTownValueView->GetLinesCount(), TRUE); pHomeTownValueView->GetBounds(&Rc_Temp); } /*"兴趣爱好"*/ TUChar pszInterestValue[1024*3] = {0}; TUString::StrUtf8ToStrUnicode(pszInterestValue , (const Char *)Response->friends[0].interest); TLabel* pInterestLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_InterestLbl)); TRichView* pInterestValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_InterestValueView)); if(pInterestLbl) { pInterestLbl->SetFont(objFontType); pInterestLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pInterestValueView) { pInterestValueView->SetCaption(pszInterestValue,FALSE); pInterestValueView->SetFont(objFontType); pInterestValueView->SetWordWrapAttr(TRUE); pInterestValueView->SetTransparent(TRUE); pInterestValueView->SetEnabled(FALSE); pInterestValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pInterestValueView->SetMaxVisibleLines(pInterestValueView->GetLinesCount(), TRUE); pInterestValueView->GetBounds(&Rc_Temp); } //其他信息 /*"手机"*/ TUChar pszMobileValue[32] = {0}; TUString::StrUtf8ToStrUnicode(pszMobileValue , (const Char *)Response->friends[0].mobile); TLabel* pMobileLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_MobileLbl)); TRichView* pMobileValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_MobileValueView)); if(pMobileLbl) { pMobileLbl->SetFont(objFontType); pMobileLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pMobileValueView) { pMobileValueView->SetCaption(pszMobileValue,FALSE); pMobileValueView->SetFont(objFontType); pMobileValueView->SetWordWrapAttr(TRUE); pMobileValueView->SetTransparent(TRUE); pMobileValueView->SetEnabled(FALSE); pMobileValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pMobileValueView->SetMaxVisibleLines(pMobileValueView->GetLinesCount(), TRUE); pMobileValueView->GetBounds(&Rc_Temp); } /*"电话"*/ TUChar pszTelValue[32] = {0}; TUString::StrUtf8ToStrUnicode(pszTelValue , (const Char *)Response->friends[0].tel); TLabel* pTelLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_TelLbl)); TRichView* pTelValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_TelValueView)); if(pTelLbl) { pTelLbl->SetFont(objFontType); pTelLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pTelValueView) { pTelValueView->SetCaption(pszTelValue,FALSE); pTelValueView->SetFont(objFontType); pTelValueView->SetWordWrapAttr(TRUE); pTelValueView->SetTransparent(TRUE); pTelValueView->SetEnabled(FALSE); pTelValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pTelValueView->SetMaxVisibleLines(pTelValueView->GetLinesCount(), TRUE); pTelValueView->GetBounds(&Rc_Temp); } /*"QQ号"*/ TUChar pszQQValue[32] = {0}; TUString::StrUtf8ToStrUnicode(pszQQValue , (const Char *)Response->friends[0].qq); TLabel* pQQLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_QQLbl)); TRichView* pQQValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_QQValueView)); if(pQQLbl) { pQQLbl->SetFont(objFontType); pQQLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pQQValueView) { pQQValueView->SetCaption(pszQQValue,FALSE); pQQValueView->SetFont(objFontType); pQQValueView->SetWordWrapAttr(TRUE); pQQValueView->SetTransparent(TRUE); pQQValueView->SetEnabled(FALSE); pQQValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pQQValueView->SetMaxVisibleLines(pQQValueView->GetLinesCount(), TRUE); pQQValueView->GetBounds(&Rc_Temp); } /*"MSN账号"*/ TUChar pszMSNValue[128] = {0}; TUString::StrUtf8ToStrUnicode(pszMSNValue , (const Char *)Response->friends[0].msn); TLabel* pMSNLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_MSNLbl)); TRichView* pMSNValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_MSNValueView)); if(pMSNLbl) { pMSNLbl->SetFont(objFontType); pMSNLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pMSNValueView) { pMSNValueView->SetCaption(pszMSNValue,FALSE); pMSNValueView->SetFont(objFontType); pMSNValueView->SetWordWrapAttr(TRUE); pMSNValueView->SetTransparent(TRUE); pMSNValueView->SetEnabled(FALSE); pMSNValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pMSNValueView->SetMaxVisibleLines(pMSNValueView->GetLinesCount(), TRUE); } /*"地址"*/ TUChar pszAddressValue[1024] = {0}; TUString::StrUtf8ToStrUnicode(pszAddressValue , (const Char *)Response->friends[0].address); TLabel* pAddressLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_AddressLbl)); TRichView* pAddressValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_AddressValueView)); if(pAddressLbl) { pAddressLbl->SetFont(objFontType); pAddressLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pAddressValueView) { pAddressValueView->SetCaption(pszAddressValue,FALSE); pAddressValueView->SetFont(objFontType); pAddressValueView->SetWordWrapAttr(TRUE); pAddressValueView->SetTransparent(TRUE); pAddressValueView->SetEnabled(FALSE); pAddressValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pAddressValueView->SetMaxVisibleLines(pAddressValueView->GetLinesCount(), TRUE); pAddressValueView->GetBounds(&Rc_Temp); } /*"邮编"*/ TUChar pszZipValue[32] = {0}; TUString::StrUtf8ToStrUnicode(pszZipValue , (const Char *)Response->friends[0].zip); TLabel* pZipLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_ZipLbl)); TRichView* pZipValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_ZipValueView)); if(pZipLbl) { pZipLbl->SetFont(objFontType); pZipLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pZipValueView) { pZipValueView->SetCaption(pszZipValue,FALSE); pZipValueView->SetFont(objFontType); pZipValueView->SetWordWrapAttr(TRUE); pZipValueView->SetTransparent(TRUE); pZipValueView->SetEnabled(FALSE); pZipValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pZipValueView->SetMaxVisibleLines(pZipValueView->GetLinesCount(), TRUE); pZipValueView->GetBounds(&Rc_Temp); } /*"电子邮件"*/ TUChar pszEmailValue[128] = {0}; TUString::StrUtf8ToStrUnicode(pszEmailValue , (const Char *)Response->friends[0].email); TLabel* pEmailLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_EmailLbl)); TRichView* pEmailValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_EmailValueView)); if(pEmailLbl) { pEmailLbl->SetFont(objFontType); pEmailLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pEmailValueView) { pEmailValueView->SetCaption(pszEmailValue,FALSE); pEmailValueView->SetFont(objFontType); pEmailValueView->SetWordWrapAttr(TRUE); pEmailValueView->SetTransparent(TRUE); pEmailValueView->SetEnabled(FALSE); pEmailValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pEmailValueView->SetMaxVisibleLines(pEmailValueView->GetLinesCount(), TRUE); pEmailValueView->GetBounds(&Rc_Temp); } /*"教育背景"*/ TUChar pszEduValue[1024] = {0}; for(int i=0; i<Response->friends[0].nSize_education; i++) { TUChar pszTemp[128*3] = {0}; TUChar pszYear[32] = {0}; //院校名 TUString::StrUtf8ToStrUnicode(pszTemp , (const Char *)Response->friends[0].education[i].school); TUString::StrCat(pszEduValue,pszTemp); TUString::StrCat(pszEduValue, TUSTR_Kx_Empty_Cell); //班级 TUString::StrUtf8ToStrUnicode(pszTemp , (const Char *)Response->friends[0].education[i].classEx); TUString::StrCat(pszEduValue,pszTemp); TUString::StrCat(pszEduValue, TUSTR_Kx_Ellipsis); //届 TUString::StrUtf8ToStrUnicode(pszYear , (const Char *)Response->friends[0].education[i].year); TUString::StrCat(pszEduValue,pszYear); TUString::StrCat(pszEduValue, (const TUChar*)TUSTR_Kx_Newline_Character); } TLabel* pEduLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_EduLbl)); TRichView* pEduValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_EduValueView)); if(pEduLbl) { pEduLbl->SetFont(objFontType); pEduLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pEduValueView) { pEduValueView->SetCaption(pszEduValue,FALSE); pEduValueView->SetFont(objFontType); pEduValueView->SetWordWrapAttr(TRUE); pEduValueView->SetTransparent(TRUE); pEduValueView->SetEnabled(FALSE); pEduValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pEduValueView->SetMaxVisibleLines(pEduValueView->GetLinesCount(), TRUE); pEduValueView->GetBounds(&Rc_Temp); } /*"工作经历"*/ TUChar pszCareerValue[1024] = {0}; for(int i=0; i<Response->friends[0].nSize_career; i++) { TUChar pszTemp[128*3] = {0}; TUChar pszYear[8] = {0}; TUChar pszMonth[8] = {0}; //公司名 TUString::StrUtf8ToStrUnicode(pszTemp , (const Char *)Response->friends[0].career[i].company); TUString::StrCat(pszCareerValue,pszTemp); TUString::StrCat(pszCareerValue, TUSTR_Kx_Empty_Cell); //部门名 TUString::StrUtf8ToStrUnicode(pszTemp , (const Char *)Response->friends[0].career[i].dept); TUString::StrCat(pszCareerValue,pszTemp); TUString::StrCat(pszCareerValue, TUSTR_Kx_Empty_Cell); //开始年月 TUString::StrUtf8ToStrUnicode(pszYear , (const Char *)Response->friends[0].career[i].beginyear); TUString::StrCat(pszCareerValue,pszYear); TUString::StrCat(pszCareerValue, TResource::LoadConstString(APP_KA_ID_STRING_Year)); TUString::StrUtf8ToStrUnicode(pszMonth , (const Char *)Response->friends[0].career[i].beginmonth); TUString::StrCat(pszCareerValue,pszMonth); TUString::StrCat(pszCareerValue, TResource::LoadConstString(APP_KA_ID_STRING_Month)); //分隔符- TUString::StrCat(pszCareerValue, TUSTR_Kx_Separator); //结束年月 TUString::StrUtf8ToStrUnicode(pszYear , (const Char *)Response->friends[0].career[i].endyear); if(TUString::StrLen(pszYear)==0) { TUString::StrCat(pszCareerValue, TResource::LoadConstString(APP_KA_ID_STRING_Now)); } else { TUString::StrCat(pszCareerValue,pszYear); TUString::StrCat(pszCareerValue, TResource::LoadConstString(APP_KA_ID_STRING_Year)); TUString::StrUtf8ToStrUnicode(pszMonth , (const Char *)Response->friends[0].career[i].endmonth); TUString::StrCat(pszCareerValue,pszMonth); TUString::StrCat(pszCareerValue, TResource::LoadConstString(APP_KA_ID_STRING_Month)); } TUString::StrCat(pszCareerValue, (const TUChar*)TUSTR_Kx_Newline_Character); } TLabel* pCareerLbl = static_cast<TLabel*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_CareerLbl)); TRichView* pCareerValueView = static_cast<TRichView*>(GetControlPtr(APP_KA_ID_UserInfoDetailForm_CareerValueView)); if(pCareerLbl) { pCareerLbl->SetFont(objFontType); pCareerLbl->SetColor(CTL_COLOR_TYPE_FORE, GRAY); } if(pCareerValueView) { pCareerValueView->SetCaption(pszCareerValue,FALSE); pCareerValueView->SetFont(objFontType); pCareerValueView->SetWordWrapAttr(TRUE); pCareerValueView->SetTransparent(TRUE); pCareerValueView->SetEnabled(FALSE); pCareerValueView->SetScrollBarMode(CTL_SCL_MODE_NONE); pCareerValueView->SetMaxVisibleLines(pCareerValueView->GetLinesCount(), TRUE); pCareerValueView->GetBounds(&Rc_Temp); } } }