diff options
Diffstat (limited to 'win32/makedrop/makedrop.cpp')
-rw-r--r-- | win32/makedrop/makedrop.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/win32/makedrop/makedrop.cpp b/win32/makedrop/makedrop.cpp new file mode 100644 index 0000000..79a5b19 --- /dev/null +++ b/win32/makedrop/makedrop.cpp @@ -0,0 +1,74 @@ +/* + * AUTHOR + * N. Nielsen + * + * LICENSE + * This software is in the public domain. + * + * The software is provided "as is", without warranty of any kind, + * express or implied, including but not limited to the warranties + * of merchantability, fitness for a particular purpose, and + * noninfringement. In no event shall the author(s) be liable for any + * claim, damages, or other liability, whether in an action of + * contract, tort, or otherwise, arising from, out of, or in connection + * with the software or the use or other dealings in the software. + * + * SUPPORT + * Send bug reports to: <nielsen@memberwebs.com> + */ + +#include "stdafx.h" +#include "resource.h" +#include <initguid.h> +#include "DropSheet.h" +#include "ProcessPage.h" +#include "SettingsPage.h" + +// ATL Support stuff +CComModule _Module; +BEGIN_OBJECT_MAP(ObjectMap) +END_OBJECT_MAP() + + +// _tWinMain: ------------------------------------------------------------ +// Our application entry point +extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, + HINSTANCE /*hPrevInstance*/, LPTSTR /* lpCmdLine */, int /*nShowCmd*/) +{ + // ATL Support Stuff + HRESULT hRes = CoInitialize(NULL); + _ASSERTE(SUCCEEDED(hRes)); + _Module.Init(ObjectMap, hInstance, NULL); + + int nRet = 0; + + // Create and start the property sheet + DropSheet sheet; + ProcessPage page1(sheet.getDroplet()); + SettingsPage page2(sheet.getDroplet()); + sheet.AddPage(&page1); + sheet.AddPage(&page2); + sheet.Create(); + + // Load the keyboard shortcuts + HACCEL accel = LoadAccelerators(_Module.GetResourceInstance(), + MAKEINTRESOURCE(IDR_ACCEL)); + + // Process messages + MSG msg; + while(GetMessage(&msg, NULL, 0, 0)) + { + if(!accel || !TranslateAccelerator(sheet.m_hWnd, accel, &msg)) + { + if(!sheet.IsWindow() || !sheet.IsDialogMessage(&msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + } + + _Module.Term(); + CoUninitialize(); + return nRet; +} |