summaryrefslogtreecommitdiff
path: root/win32/makedrop/makedrop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'win32/makedrop/makedrop.cpp')
-rw-r--r--win32/makedrop/makedrop.cpp74
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;
+}