BOOL WindowSelector::PreCreateWindow(CREATESTRUCT& cs) { if (!CWnd::PreCreateWindow(cs)) { return FALSE; } // don't want to be in task bar if (!m_bOwnerCreated) { CRect rect; LPCTSTR lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, ::LoadCursor(NULL, IDC_ARROW), HBRUSH(COLOR_BTNFACE+1), NULL); m_bOwnerCreated = m_wndOwnerWindow.CreateEx(0, lpszClass, "Hidden Owner", WS_POPUP, rect, NULL, 0) != FALSE; if (m_bOwnerCreated) { m_wndOwnerWindow.ShowWindow(SW_HIDE); } } // set the hidden window as a parent of frame window if (m_bOwnerCreated) { cs.hwndParent = m_wndOwnerWindow.GetSafeHwnd(); } return TRUE; }
void WindowSelector::Init( SelectCallback cbSelect, PlotsCallback minPlotsCallback, TilePlotsCallback tilePlotsCallback) { m_cbSelect = cbSelect; m_minPlotsCallback = minPlotsCallback; m_tilePlotsCallback = tilePlotsCallback; VERIFY(m_bmpPinned.LoadBitmap(IDB_PP_PINNED)); VERIFY(m_bmpUnpinned.LoadBitmap(IDB_PP_UNPINNED)); LPCTSTR lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, ::LoadCursor(NULL, IDC_ARROW), HBRUSH(COLOR_BTNFACE+1), NULL); int xScreen = ::GetSystemMetrics(SM_CXFULLSCREEN); int yScreen = ::GetSystemMetrics(SM_CYFULLSCREEN); CRect rect(xScreen-120, 0, xScreen, 220); VERIFY(CWnd::CreateEx(WS_EX_PALETTEWINDOW|WS_EX_TOOLWINDOW, lpszClass, "Window List", WS_POPUPWINDOW|WS_CAPTION|WS_THICKFRAME, rect, NULL, 0)); if (!m_wndToolBar.Create(this) //if (!m_wndToolBar.CreateEx(this) || !m_wndToolBar.LoadToolBar(IDR_WINDOW_SELECTOR_TOOLBAR)) { TRACE0("Failed to create toolbar\n"); } m_wndToolBar.SetHeight(10); m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() | CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC ); if (projectUtilities::IsWindows2000()) { w2KDll.Load(); if (!w2KDll.IsLoaded()) { m_wndToolBar.GetToolBarCtrl().HideButton(ID_TOGGLE_TRANSPARENCY, true); } else { if (projectUtilities::GetTransparent()) { ToggleTransparency(projectUtilities::GetAlpha()); } } } else { m_wndToolBar.GetToolBarCtrl().HideButton(ID_TOGGLE_TRANSPARENCY, true); } RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0); VERIFY(m_list.Create(WS_CHILD|WS_VISIBLE|WS_BORDER |LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SHOWSELALWAYS|LVS_SINGLESEL, rect, this, ID_SELECTION_LIST)); VERIFY(m_list.InsertColumn(0, "", LVCFMT_LEFT, rect.Width()-4) != -1); Redraw(); m_bInit = true; }
HRESULT BaseWindow::Init() { if (s_atomThisProperty == NULL) s_atomThisProperty = GlobalAddAtom(L"BaseWindowThisProperty"); HWND hWndITC = FindWindow(L"iTunesControl", L"iTunesControl"); HINSTANCE g_hinst = (HINSTANCE)GetWindowLongPtr(hWndITC, GWLP_HINSTANCE); if (s_atomClass == NULL) { WNDCLASS wc = { 0 }; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpszClassName = TEXT("BaseWindow"); wc.lpfnWndProc = s_WndProc; wc.hInstance = g_hinst; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = HBRUSH(COLOR_WINDOW + 1); s_atomClass = RegisterClass(&wc); } if (s_atomClass && s_atomThisProperty) return S_OK; return HRESULT_FROM_WIN32(GetLastError()); }
void CInfoBar::OnPaint() { CPaintDC dc(this); // device context for painting CRect r; GetClientRect(r); CalcInsideRect(r, TRUE); r.InflateRect(0, 2); CFont* pOldFont = dc.SelectObject(&m_font); dc.SetTextColor(m_crTextColor); UINT nFormat = DT_EDITCONTROL|DT_EXTERNALLEADING|DT_LEFT|DT_WORDBREAK|DT_END_ELLIPSIS; dc.DrawText(m_sCaption, -1, r, nFormat); if (m_bPictureSet) { if (m_hIcon == NULL) dc.DrawState(CPoint(r.right - m_sizeBitmap.cx,(r.bottom - m_sizeBitmap.cy)/2), m_sizeBitmap, &m_bm, DST_BITMAP); else dc.DrawState(CPoint(r.right - m_sizeBitmap.cx,(r.bottom - m_sizeBitmap.cy)/2), m_sizeBitmap, m_hIcon, DST_ICON, HBRUSH(NULL) ); } if (pOldFont != NULL) dc.SelectObject(pOldFont); }
HBRUSH CNGWizardPage::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if (!m_bmpWatermark.IsEmpty() ) { if (NULL != m_bmpWatermark.GetPixelPtr() ) { switch (nCtlColor) { case CTLCOLOR_STATIC: // The Slider Control has CTLCOLOR_STATIC, but doesn't let // the background shine through, TCHAR lpszClassName[255]; GetClassName(pWnd->m_hWnd, lpszClassName, 255); if(_tcscmp(lpszClassName, TRACKBAR_CLASS) == 0) { return CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor); } case CTLCOLOR_BTN: // Let static controls shine through pDC->SetBkMode(TRANSPARENT); return HBRUSH(m_HollowBrush); default: break; } } } // If we reach this line, we haven't set a brush so far return CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor); }
HBRUSH JHCEdit::OnCtlColorEdit(CDCHandle dc, CEdit edit) { dc.SetTextColor(colorTx); dc.SetBkColor(colorBg); dc.SetDCBrushColor(colorBg); return HBRUSH(GetStockObject(DC_BRUSH)); }
int RadioButtonGroup::Start() { RegisterWindowClass(CS_HREDRAW | CS_VREDRAW, HBRUSH(COLOR_WINDOW)); int res = Create(); if (res) { return res; } Header = new Static(IDSC_STATIC, Instance, ThisWindow, 0, 0, 0, 0, Id + 1, Title); for (int i = 0; i < RadioButtonsCount; i++) RadioButtons[i] = new Button(IDSC_BUTTON, Instance, ThisWindow, 0, 0, 200, 20, Id + 2 + i, RadioButtonsText[i], BS_RADIOBUTTON); bool result = true; result = result && !Header->Start(); for (int i = 0; i < RadioButtonsCount; i++) result = result && !RadioButtons[i]->Start(); if (!result) return 3; CheckedButton = 1; Button_SetCheck(RadioButtons[CheckedButton - 1]->ThisWindow, TRUE); return 0; }
int MainWindow::Start() { RegisterWindowClass(CS_HREDRAW | CS_VREDRAW, HBRUSH(COLOR_WINDOW), IDC_ARROW, MAKEINTRESOURCE(IDI_ICON), MAKEINTRESOURCE(IDI_ICON_SMALL), MAKEINTRESOURCE(IDR_MENU)); int res = Create(); if (res) { return res; } LPWSTR figures[4] = { L"Rhombus", L"Square", L"Circle", L"Star" }; LPWSTR colors[3] = { L"Red", L"Green", L"Blue" }; FigureRadioButtonGroup = new RadioButtonGroup(Instance, ThisWindow, 0, 0, 0, 0, IDC_FIGURERADIOBUTTONGROUP, L"Figures", NULL, (const wchar_t**)figures, 4); ColorRadioButtonGroup = new RadioButtonGroup(Instance, ThisWindow, 0, 0, 0, 0, IDC_COLORRADIOBUTTONGROUP, L"Colors", NULL, (const wchar_t**)colors, 3); DrawCheckBox = new Button(IDSC_BUTTON, Instance, ThisWindow, 0, 0, 0, 0, IDC_DRAWCHECKBOX, L"Draw", BS_CHECKBOX); bool result = true; result = result && !FigureRadioButtonGroup->Start(); result = result && !ColorRadioButtonGroup->Start(); result = result && !DrawCheckBox->Start(); if (!result) return 3; return 0; }
//----------------------------------------------------------------------------- // Purpose: // Input : pDC - // Output : Returns TRUE on success, FALSE on failure. //----------------------------------------------------------------------------- BOOL CTextureBox::OnEraseBkgnd(CDC *pDC) { CRect r; GetUpdateRect(r); pDC->SetROP2(R2_COPYPEN); FillRect(pDC->m_hDC, r, HBRUSH(GetStockObject(BLACK_BRUSH))); return TRUE; }
//--------------------------------------------------------------------------------------------- // ok, initen wir mal das Window mit den Styleparametern... //--------------------------------------------------------------------------------------------- BOOL InitApplication( HINSTANCE hInstance, int nCmdShow, LPSTR lpCommandLine ) { WNDCLASSEX wcex; ZeroMemory( &wcex, sizeof(wcex) ); wcex.cbSize = sizeof(wcex); wcex.style = 0; wcex.lpfnWndProc = WindowProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(APPICON)); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = HBRUSH(GetStockObject(BLACK_BRUSH)); wcex.lpszMenuName = 0; wcex.lpszClassName = "MNGViewClass"; wcex.hIconSm = 0; if( !RegisterClassEx(&wcex) ) return Error( "RegisterClass failed!" ); // Init: W = 0; H = 0; AnimFile.isAnimation = 0; MemDC = 0; MemImage = 0; DefaultMemImage = 0; // Create the Window: hPicWin = CreateWindowEx( 0, "MNGViewClass", TITLE, WS_OVERLAPPEDWINDOW|WS_SYSMENU|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_HSCROLL|WS_VSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); if( !hPicWin ) return Error( "Couldn't create Window!" ); // Load our menu... hMenu = LoadMenu( GetModuleHandle(NULL), MAKEINTRESOURCE(THEMENU) ); if( hMenu == 0 ) Warning( "Unable to load Menu!" ); SetMenu( hPicWin, hMenu ); InitCommonControls(); UpdateWindow(hPicWin); ShowWindow(hPicWin, SW_NORMAL); return true; }
static ATOM RegisterWndClass() { WNDCLASSEX wndClass; SecureZeroMemory(&wndClass, sizeof(WNDCLASSEX)); wndClass.cbSize = sizeof(wndClass); wndClass.lpszClassName = L"ThinkMainWindowClass"; wndClass.lpfnWndProc = Think::Window<ThinkWindow>::Proc; wndClass.hbrBackground = HBRUSH(COLOR_WINDOW + 1); return RegisterClassEx(&wndClass); }
BOOL CContourView::PreCreateWindow( CREATESTRUCT& cs ) { // TODO: Add your specialized code here and/or call the base class // 使用一个持久的DC,即Private DC, 设置WNDCLS风格为CS_OWNDC cs.lpszClass = AfxRegisterWndClass( CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS | CS_OWNDC, ::LoadCursor( NULL, IDC_ARROW ), HBRUSH( COLOR_WINDOW + 1 ), NULL ); return CLogScrollView::PreCreateWindow( cs ); }
HBRUSH CNGWizard::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if (!m_bmpHeader.IsEmpty() ) { CPropertyPageEx* pPage = (CPropertyPageEx*)GetActivePage( ); if (NULL != pPage) { BOOL bHasWizard97Header = ( (pPage->m_psp.dwFlags & PSP_HIDEHEADER) == 0); if (bHasWizard97Header && (m_bmpHeader.GetPixelPtr() != NULL) ) { // If the page has a header, we need to paint the area above the border. // By inspection (Spy++), the border is a static control with ID 0x3027 CWnd* pTopBorder = GetDlgItem(0x3027); ASSERT(NULL != pTopBorder); if (NULL != pTopBorder) { CRect rectTopBorder; pTopBorder->GetWindowRect(rectTopBorder); ScreenToClient(rectTopBorder); CRect rectCtrl; pWnd->GetWindowRect(rectCtrl); ScreenToClient(rectCtrl); if (rectCtrl.top < rectTopBorder.bottom) { switch(nCtlColor) { case CTLCOLOR_STATIC: // The Slider Control has CTLCOLOR_STATIC, but doesn't let // the background shine through, TCHAR lpszClassName[255]; GetClassName(pWnd->m_hWnd, lpszClassName, 255); if (_tcscmp(lpszClassName, TRACKBAR_CLASS) == 0) { return CNGWizard_BASE::OnCtlColor(pDC, pWnd, nCtlColor); } case CTLCOLOR_BTN: // let static controls shine through pDC->SetBkMode(TRANSPARENT); return HBRUSH(m_HollowBrush); default: break; } } } } } } // if we reach this line, we haven't set a brush so far return CNGWizard_BASE::OnCtlColor(pDC, pWnd, nCtlColor); }
BOOL CFullscreenWnd::PreCreateWindow(CREATESTRUCT& cs) { if (!CWnd::PreCreateWindow(cs)) { return FALSE; } cs.style &= ~WS_BORDER; cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, m_hCursor, HBRUSH(COLOR_WINDOW+1), NULL); return TRUE; }
BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) { if(!CWnd::PreCreateWindow(cs)) return FALSE; cs.style &= ~WS_BORDER; cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, ::LoadCursor(NULL, IDC_HAND), HBRUSH(COLOR_WINDOW+1), NULL); return TRUE; }
HBRUSH CDlgNotify::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(pWnd->GetDlgCtrlID() == IDC_STATIC_TEXT) { pDC-> SetBkMode(TRANSPARENT); pDC-> SetTextColor(RGB(0,0,0)); return HBRUSH(GetStockObject(HOLLOW_BRUSH)); } return hbr; }
BOOL CChildFormView::PreCreateWindow(CREATESTRUCT& cs) { if (!CFormView::PreCreateWindow(cs)) return FALSE; cs.dwExStyle &= ~(WS_EX_CLIENTEDGE|WS_EX_STATICEDGE); cs.style &= ~WS_BORDER; cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, ::LoadCursor(NULL, IDC_ARROW), HBRUSH(COLOR_WINDOW+1), NULL); return TRUE; }
BOOL CBrowserView::PreCreateWindow(CREATESTRUCT& cs) { if (!CWnd::PreCreateWindow(cs)) return FALSE; cs.dwExStyle |= WS_EX_CLIENTEDGE; cs.style &= ~WS_BORDER; cs.lpszClass = AfxRegisterWndClass(CS_DBLCLKS, ::LoadCursor(NULL, IDC_ARROW), HBRUSH(COLOR_WINDOW+1), NULL); return TRUE; }
DWORD myWndProcThread(LPVOID lpParam){ RECT rectWin; memcpy(&rectWin, lpParam, sizeof(RECT));// (RECT)lpParam; HBRUSH redBrush = CreateSolidBrush(RGB(0xef,0x00,0x70)); WNDCLASS wndclass = { CS_DBLCLKS, WindowProcedure, 0, //clsExtra 0, //winExtra GetModuleHandle(0), //instance NULL, //LoadIcon(0,IDI_APPLICATION), //icon NULL, //LoadCursor(0,IDC_ARROW), //cursor HBRUSH(redBrush),//COLOR_WINDOW+1), //background 0, //menu name myclass //class name } ; int captH = GetSystemMetrics(SM_CYCAPTION); if( RegisterClass(&wndclass) ) { HWND window = CreateWindowEx( 0, myclass, L"title", WS_OVERLAPPED | //WS_OVERLAPPED makes a floating window, WS_EX_CAPTIONOKBTN | WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_SYSMENU, // WS_SYSMENU shows the closing X in caption rectWin.left, rectWin.top, //CW_USEDEFAULT, CW_USEDEFAULT, rectWin.right, captH*2, //rectWin.bottom*2,// 200, 200, // CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, GetModuleHandle(0), 0 ) ; if(window) { hWndMain=window; ShowWindow( window, SW_SHOWNORMAL ) ; UpdateWindow(window); SetWindowTop(window, TRUE); MSG msg ; while( GetMessage( &msg, 0, 0, 0 ) ) { TranslateMessage(&msg); DispatchMessage(&msg); } } else{ SetEvent(stopHandle); return -2; } } else { SetEvent(stopHandle); return -3; } stopApp=TRUE; SetEvent(stopHandle); return 0; }
HBRUSH GAME4::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if( nCtlColor == CTLCOLOR_STATIC) { pDC->SetBkMode(TRANSPARENT); return HBRUSH(GetStockObject(HOLLOW_BRUSH)); } // TODO: 在此更改 DC 的任何特性 // TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr; }
int MainWindow::Start() { RegisterWindowClass(CS_HREDRAW | CS_VREDRAW, HBRUSH(COLOR_WINDOW), MAKEINTRESOURCE(IDC_CURSOR), MAKEINTRESOURCE(IDI_ICON), MAKEINTRESOURCE(IDI_ICON_SMALL)); int res = Create(); if (res) { return res; } return 0; }
HBRUSH CSkinDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CXTPDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here if(CTLCOLOR_STATIC==nCtlColor || CTLCOLOR_DLG==nCtlColor) { pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(m_mapColor["Text"]); return HBRUSH(GetStockObject(HOLLOW_BRUSH)); } // TODO: Return a different brush if the default is not desired return hbr; }
AFX_STATIC BOOL RegisterEyeDropperClass() { WNDCLASS wndcls; ::ZeroMemory(&wndcls, sizeof(wndcls)); wndcls.hInstance = AfxGetInstanceHandle(); wndcls.style = CS_DBLCLKS; wndcls.lpfnWndProc = ::DefWindowProc; wndcls.hCursor = ::LoadCursor(NULL, IDC_ARROW); wndcls.lpszClassName = XTPEYEDROPPER_CLASSNAME; wndcls.hbrBackground = HBRUSH(COLOR_WINDOW+1); return AfxRegisterClass(&wndcls); }
//============================================================================// si32 EC_WIDGET::fWdgtCreate(bool brdr) { if(fIsEmpty()) { //1 mLOGERROR("wdgt creation, class is empty"); return EFAIL; }//1 mBLOCK("Wnd class init"); WNDCLASSEXW wndcl; memset(&wndcl,0,sizeof(WNDCLASSEX)); wndcl.lpszClassName = m_wdgt_name.c_str(); wndcl.cbSize = sizeof(WNDCLASSEX); wndcl.hbrBackground = HBRUSH(4); wndcl.hInstance = GetModuleHandle(0); wndcl.hIcon = 0; wndcl.hIconSm = 0; wndcl.hCursor = LoadCursor(0,IDC_ARROW); wndcl.lpszMenuName = 0; wndcl.style = CS_HREDRAW | CS_VREDRAW; wndcl.cbWndExtra = 0; wndcl.cbClsExtra = 0; wndcl.lpfnWndProc = DefWndProc; mBLOCK("Wnd class create"); si32 hres = RegisterClassExW(&wndcl); if(!hres) { //1 mLOGERROR("wdgt class creation"); return EFAIL; }//1 mBLOCK("Window create"); DWORD exstyle = 0; UINT wnd_style = 0; if(!brdr) { //1 wnd_style = WS_VISIBLE | WS_POPUP; exstyle = WS_EX_WINDOWEDGE; }//1 m_core = CreateWindowExW(exstyle, m_wdgt_name.c_str(), L"", wnd_style, m_rect.x, m_rect.y, m_rect.w, m_rect.h, NULL, NULL, GetModuleHandle(0), this); if(!m_core) { //1 mLOGERROR("wdgt creation"); return EFAIL; }//1 return EDONE; }
BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) { //Trace("CChildView::PreCreate - Initializing"); if (!CWnd::PreCreateWindow(cs)) return FALSE; cs.dwExStyle |= WS_EX_CLIENTEDGE; cs.style &= ~WS_BORDER; cs.style |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;//for OpenGL cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, ::LoadCursor(NULL, IDC_ARROW), HBRUSH(COLOR_WINDOW+1), NULL); //Trace("CChildView::PreCreate - Done"); return TRUE; }
HBRUSH CNetTrafficMonitorDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CWnd::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性 if (nCtlColor == CTLCOLOR_STATIC) { pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(255, 255, 255)); return HBRUSH(GetStockObject(BLACK_BRUSH)); } // TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr; }
HBRUSH CDL便签Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何属性 int CtlID = pWnd->GetDlgCtrlID(); switch(CtlID) { case IDC_TEST+2: // 设置背景透明,以和主窗口融合 pDC->SetBkMode(TRANSPARENT); return HBRUSH(GetStockObject(NULL_BRUSH)); } // TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr; }
void PaintBrushLine(){ hdc = GetDC(hWnd); GetCursorPos(&pt); ScreenToClient(hWnd, &pt); char brushWidth[3]; GetWindowText(hWndEditText, brushWidth, 3); //MessageBox(NULL, (LPCSTR)brushWidth, (LPCSTR)L"Ok!", MB_OK); r.left = pt.x; r.top = pt.y; r.right = pt.x + atoi(brushWidth); r.bottom = pt.y + atoi(brushWidth); FillRect(hdc, &r, HBRUSH(CreateSolidBrush(RGB(rValue, gValue, bValue)))); //ValidateRect(hWnd, NULL); ReleaseDC(hWnd, hdc); }
_FileTransmissionPopup(void) { // 학생 목록 팝업 클래스를 등록한다. WNDCLASSEX wc; wc.cbSize = sizeof(WNDCLASSEX); wc.style = (CS_HREDRAW | CS_VREDRAW); wc.lpfnWndProc = FileTransmissionPopupProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = App::hInstance; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hIconSm = NULL; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = HBRUSH(COLOR_WINDOW + 1); wc.lpszMenuName = NULL; wc.lpszClassName = L"FileTransmissionPopup"; RegisterClassEx(&wc); }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { if(!DefineWindow( APP_CLASS_NAME, hInstance, ParentMessageProcessingHandler, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_TALK)), LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_TALK)), HBRUSH(COLOR_3DSHADOW), MAKEINTRESOURCE(IDR_APPMENU), LoadCursor(NULL, IDC_ARROW))) { ShowError("Error", NULL); return 0; } int screenWidth = GetSystemMetrics(SM_CXSCREEN); int screenHeight = GetSystemMetrics(SM_CYSCREEN); int x = screenWidth - APP_X_WDT; int height = screenHeight - 2 * APP_Y_SPC; if(!InstantiateWindow( APP_CLASS_NAME, hInstance, APP_NAME, x, APP_Y_SPC, APP_X_WDT, height, NULL, nCmdShow)) { ShowError("Error", NULL); return 0; } int winMainRetValue; winMainRetValue = DoMessageLoop(); return winMainRetValue; }