COLED::COLED(IUnknown* pUnkOuter) : COControl(_T("LEDCOControl"), pUnkOuter, (ILED*)this, LIBID_BVR20983_0_CC, IID_ILED, CLSID_LED,DIID_DLEDEvent ) { GetPropertySet().AddPropertyName(_T("16segment")); GetPropertySet().AddPropertyName(_T("clock")); GetPropertySet().AddPropertyName(_T("24hour")); GetPropertySet().AddPropertyName(_T("suppress0")); GetPropertySet().AddPropertyName(_T("text")); GetPropertySet().AddPropertyName(_T("fgcolor")); GetPropertySet().AddPropertyName(_T("bgcolor")); GetPropertySet().AddPropertyName(_T("fillcolor")); GetPropertySet().AddPropertyName(_T("transparent")); GetPropertySet().AddPropertyName(_T("windowless")); GetPropertySet().AddPropertyName(_T("usethread")); GetPropertySet().AddPropertyName(_T("drawdirectinthread")); InitializeControl(); } // of COLED::COLED()
BOOL CUploadListCtrl::Create(CRect& rt, CWnd* pParentWnd) { if(!CListCtrl::CreateEx(WS_EX_CLIENTEDGE, LVS_OWNERDRAWFIXED | LVS_REPORT | LVS_SHOWSELALWAYS | WS_BORDER | WS_VISIBLE | WS_CHILD, rt, pParentWnd, 0)) return FALSE; SetExtendedStyle(LVS_EX_INFOTIP | LVS_EX_FULLROWSELECT); return InitializeControl(); }
/* * Message Action Function */ LRESULT MainWindow::OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandle) { auto hr = Initialize(); if (hr != S_OK) { ::MessageBoxW(nullptr, L"Initialize() failed", L"Fatal error", MB_OK | MB_ICONSTOP); std::terminate(); return S_FALSE; } HICON hIcon = LoadIconW(GetModuleHandleW(nullptr), MAKEINTRESOURCEW(IDI_CLANGBUILDERUI)); SetIcon(hIcon, TRUE); HFONT hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT); LOGFONTW logFont = { 0 }; GetObjectW(hFont, sizeof(logFont), &logFont); DeleteObject(hFont); hFont = NULL; logFont.lfHeight = 19; logFont.lfWeight = FW_NORMAL; wcscpy_s(logFont.lfFaceName, L"Segoe UI"); hFont = CreateFontIndirectW(&logFont); auto LambdaCreateWindow = [&](LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HMENU hMenu)->HWND{ auto hw = CreateWindowExW(WINDOWEXSTYLE, lpClassName, lpWindowName, dwStyle, X, Y, nWidth, nHeight, m_hWnd, hMenu, HINST_THISCOMPONENT, nullptr); if (hw) { ::SendMessageW(hw, WM_SETFONT, (WPARAM)hFont, lParam); } return hw; }; hCobVS_ = LambdaCreateWindow(WC_COMBOBOXW, L"", COMBOBOXSTYLE, 200, 20, 400, 30, nullptr); hCobArch_ = LambdaCreateWindow(WC_COMBOBOXW, L"", COMBOBOXSTYLE, 200, 60, 400, 30, nullptr); hCobFlavor_ = LambdaCreateWindow(WC_COMBOBOXW, L"", COMBOBOXSTYLE, 200, 100, 400, 30, nullptr); hCheckBoostrap_ = LambdaCreateWindow(WC_BUTTONW, L"Clang Boostrap", CHECKBOXSTYLE, 200, 160, 360, 27, nullptr); hCheckReleased_ = LambdaCreateWindow(WC_BUTTONW, L"Released Revision", CHECKBOXSTYLE, 200, 190, 360, 27, nullptr); hCheckPackaged_ = LambdaCreateWindow(WC_BUTTONW, L"Make installation package", CHECKBOXSTYLE, 200, 220, 360, 27, nullptr); hCheckCleanEnv_ = LambdaCreateWindow(WC_BUTTONW, L"Use Clean Environment", CHECKBOXSTYLE, 200, 250, 360, 27, nullptr); hCheckLink_ = LambdaCreateWindow(WC_BUTTONW, L"Link Static Runtime Library", CHECKBOXSTYLE, 200, 280, 360, 27, nullptr); hCheckNMake_ = LambdaCreateWindow(WC_BUTTONW, L"Use NMake Makefiles", CHECKBOXSTYLE, 200, 310, 360, 27, nullptr); hCheckLLDB_ = LambdaCreateWindow(WC_BUTTONW, L"Build LLDB (Visual Studio 2015 or Later)", CHECKBOXSTYLE, 200, 340, 360, 27, nullptr); //Button_SetElevationRequiredState hButtonTask_ = LambdaCreateWindow(WC_BUTTONW, L"Build Now", PUSHBUTTONSTYLE, 200, 395, 195, 30, (HMENU)IDC_BUTTON_STARTTASK); hButtonEnv_ = LambdaCreateWindow(WC_BUTTONW, L"Startup Env", PUSHBUTTONSTYLE | BS_ICON, 410, 395, 195, 30, (HMENU)IDC_BUTTON_STARTENV); HMENU hSystemMenu = ::GetSystemMenu(m_hWnd, FALSE); InsertMenuW(hSystemMenu, SC_CLOSE, MF_ENABLED, IDM_CLANGBUILDER_ABOUT, L"About ClangbuilderUI\tAlt+F1"); label_.push_back(KryceLabel(30, 20, 190, 50, L"Visual Studio\t\xD83C\xDD9A:")); label_.push_back(KryceLabel(30, 60, 190, 90, L"Address Mode\t\xD83D\xDEE0:")); label_.push_back(KryceLabel(30, 100, 190, 130, L"Configuration\t\x2699:")); label_.push_back(KryceLabel(30, 160, 190, 200, L"Compile Switch\t\xD83D\xDCE6:")); /// if (!InitializeControl()) { } //DeleteObject(hFont); return S_OK; }