BOOL CChatBkDlg::CanClose() { if (m_pCurrentUser && m_filleTree.GetSafeHwnd() && m_filleTree.GetCount()) { if (IDNO == MessageBox(_T("如果关闭窗口,将会终止文件传送。是否关闭?"), _T("RIM3.0 提示"), MB_YESNO)) { return FALSE; } } DoLogon(FALSE); return TRUE; }
bool CClientSession::Logon( const string& strUser, const string& strPassword ) { return SUCCEEDED(DoLogon(strUser, strPassword)); }
BOOL CChatBkDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 m_pngToolTipCtrl.Create(this, TTS_ALWAYSTIP); m_pngToolTipCtrl.AddTool(this, _T("")); //添加一个工具窗口,每增加一个就会生成 一个窗口 m_ImageBkTemp = ImageConfig::GetInstance()->m_ImageChatBk; m_ImageUserSelTemp = ImageConfig::GetInstance()->m_ImageUserSel; m_ImageMinNormalTemp = ImageConfig::GetInstance()->m_ImageMinNormal; m_ImageMinPushTemp = ImageConfig::GetInstance()->m_ImageMinPush; m_ImageRestoreNormalTemp = ImageConfig::GetInstance()->m_ImageRestoreNormal; m_ImageRestorePushTemp = ImageConfig::GetInstance()->m_ImageRestorePush; m_ImageMaxNormalTemp = ImageConfig::GetInstance()->m_ImageMaxNormal; m_ImageMaxPushTemp = ImageConfig::GetInstance()->m_ImageMaxPush; m_ImageCloseNormalTemp = ImageConfig::GetInstance()->m_ImageCloseNormal; m_ImageClosePushTemp = ImageConfig::GetInstance()->m_ImageClosePush; m_ImageSendNormalTemp = ImageConfig::GetInstance()->m_ImageSendNormal; m_ImageSendPushTemp = ImageConfig::GetInstance()->m_ImageSendPush; m_ImageClose1NormalTemp = ImageConfig::GetInstance()->m_ImageClose1Normal; m_ImageClose1PushTemp = ImageConfig::GetInstance()->m_ImageClose1Push; m_RichImageBkTemp = ImageConfig::GetInstance()->m_RichImageBk; m_FileNormalTemp = ImageConfig::GetInstance()->m_FileNormal; m_FilePushTemp = ImageConfig::GetInstance()->m_FilePush; m_DicNormalTemp = ImageConfig::GetInstance()->m_DicNormal; m_DicPushTemp = ImageConfig::GetInstance()->m_DicPush; m_PictureNormalTemp = ImageConfig::GetInstance()->m_PictureNormal; m_PicturePushTemp = ImageConfig::GetInstance()->m_PicturePush; { m_pDoc1 = (CChatDoc*)RUNTIME_CLASS(CChatDoc)->CreateObject(); m_pDoc1->m_bAutoDelete = TRUE; CCreateContext cc; cc.m_pCurrentDoc = m_pDoc1; m_pRecordView = (CChatRichView*)RUNTIME_CLASS(CChatRichView)->CreateObject(); m_pRecordView->Create(NULL, NULL, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | WS_HSCROLL | ES_LEFT | ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY, CRect(10, 10, 500, 300), this, 1001, &cc); m_pRecordView->DragAcceptFiles(FALSE); } { m_pDoc2 = (CChatDoc*)RUNTIME_CLASS(CChatDoc)->CreateObject(); m_pDoc2->m_bAutoDelete = TRUE; CCreateContext cc; cc.m_pCurrentDoc = m_pDoc2; m_pMsgEdit = (CChatRichView*)RUNTIME_CLASS(CChatRichView)->CreateObject(); m_pMsgEdit->Create(NULL, NULL, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | WS_HSCROLL | ES_LEFT | ES_MULTILINE | ES_AUTOHSCROLL, CRect(10, 10, 500, 300), this, 1002, &cc); m_pMsgEdit->DragAcceptFiles(TRUE); } m_pRecordView->GetRichEditCtrl().SetBackgroundColor(FALSE, RGB(249, 245, 237)); m_pMsgEdit->GetRichEditCtrl().SetBackgroundColor(FALSE, RGB(249, 245, 237)); m_pMsgEdit->GetRichEditCtrl().DragAcceptFiles(TRUE); m_filleTree.SetItemHeight(40); if (m_pMsgEdit->GetRichEditCtrl().GetSafeHwnd()) { //设置默认字体 CHARFORMAT charFormatTemp; m_pMsgEdit->GetRichEditCtrl().GetSelectionCharFormat(charFormatTemp); charFormatTemp.dwMask|=CFM_BOLD; charFormatTemp.dwEffects|=CFE_BOLD; //设置粗体,取消用charFormatTemp.dwEffects&=~CFE_BOLD; charFormatTemp.dwMask|=CFM_ITALIC; //charFormatTemp.dwEffects|=CFE_ITALIC; //设置斜体,取消用charFormatTemp.dwEffects&=~CFE_ITALIC; charFormatTemp.dwMask|=CFM_UNDERLINE; //charFormatTemp.dwEffects|=CFE_UNDERLINE;//设置斜体,取消用charFormatTemp.dwEffects&=~CFE_UNDERLINE; charFormatTemp.dwMask|=CFM_COLOR; charFormatTemp.crTextColor = RGB(0, 0, 0);//设置颜色 charFormatTemp.dwMask|=CFM_SIZE; charFormatTemp.yHeight =200;//设置高度 charFormatTemp.dwMask|=CFM_FACE; _tcscpy_s(charFormatTemp.szFaceName, LF_FACESIZE, _T("微软雅黑"));//设置字体 m_pRecordView->GetRichEditCtrl().SetDefaultCharFormat(charFormatTemp); m_pMsgEdit->GetRichEditCtrl().SetDefaultCharFormat(charFormatTemp); m_defaultCharFormat = charFormatTemp; charFormatTemp.crTextColor = RGB(0, 128, 0); charFormatTemp.dwEffects = 0; charFormatTemp.dwEffects&=~CFE_BOLD; m_sendUserCharFormat = charFormatTemp; charFormatTemp.crTextColor = RGB(0, 0, 143); charFormatTemp.dwEffects = 0; charFormatTemp.dwEffects&=~CFE_BOLD; m_recvUserCharFormat = charFormatTemp; //PARAFORMAT2 pf; //pf.cbSize = sizeof(PARAFORMAT2); //pf.dwMask = PFM_NUMBERING | PFM_OFFSET; //pf.wNumbering = PFN_BULLET; //注意PFM_NUMBERING //pf.dxOffset = 10; //m_pChatFrame->m_pMsgView->GetRichEditCtrl().getmargi; } CenterWindow(); RepositionSelfDlg(FALSE); RepositionSubDlg(); //ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); //ModifyStyle(WS_CAPTION | WS_CHILD, WS_POPUP | WS_SYSMENU | WS_MINIMIZEBOX |WS_MAXIMIZEBOX|WS_THICKFRAME); //ModifyStyleEx(0, WS_EX_LAYERED | WS_OVERLAPPED); //SetWindowLong(GetSafeHwnd(), GWL_STYLE, WS_POPUP | WS_VISIBLE | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX/* | WS_THICKFRAME */| WS_CLIPSIBLINGS | WS_CLIPCHILDREN); //SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, /*WS_EX_LAYERED |*/ WS_EX_LEFT | WS_EX_OVERLAPPEDWINDOW | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR); //SetLayeredWindowAttributes(g_transAlphaClr, 255, LWA_COLORKEY | LWA_ALPHA); //UpdateView(); //ShowWindow(SW_SHOW); DoLogon(TRUE); m_bInitDlg = TRUE; return FALSE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE }
static INT_PTR CALLBACK LoggedOutWindowProc( IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam) { PGINA_CONTEXT pgContext; pgContext = (PGINA_CONTEXT)GetWindowLongPtr(hwndDlg, GWL_USERDATA); switch (uMsg) { case WM_INITDIALOG: /* FIXME: take care of NoDomainUI */ pgContext = (PGINA_CONTEXT)lParam; SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pgContext); if (pgContext->bDontDisplayLastUserName == FALSE) SetDlgItemTextW(hwndDlg, IDC_USERNAME, pgContext->UserName); if (pgContext->bDisableCAD == TRUE) EnableWindow(GetDlgItem(hwndDlg, IDCANCEL), FALSE); if (pgContext->bShutdownWithoutLogon == FALSE) EnableWindow(GetDlgItem(hwndDlg, IDC_SHUTDOWN), FALSE); SetDomainComboBox(GetDlgItem(hwndDlg, IDC_LOGON_TO), pgContext); SetFocus(GetDlgItem(hwndDlg, pgContext->bDontDisplayLastUserName ? IDC_USERNAME : IDC_PASSWORD)); pgContext->hBitmap = LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ROSLOGO), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); return TRUE; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc; if (pgContext->hBitmap) { hdc = BeginPaint(hwndDlg, &ps); DrawStateW(hdc, NULL, NULL, (LPARAM)pgContext->hBitmap, (WPARAM)0, 0, 0, 0, 0, DST_BITMAP); EndPaint(hwndDlg, &ps); } return TRUE; } case WM_DESTROY: DeleteObject(pgContext->hBitmap); return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: if (DoLogon(hwndDlg, pgContext)) EndDialog(hwndDlg, WLX_SAS_ACTION_LOGON); return TRUE; case IDCANCEL: EndDialog(hwndDlg, WLX_SAS_ACTION_NONE); return TRUE; case IDC_SHUTDOWN: if (OnShutDown(hwndDlg, pgContext) == IDOK) EndDialog(hwndDlg, pgContext->nShutdownAction); return TRUE; } break; } return FALSE; }