OSDN Git Service

GitBlame Use command Line argument to open file
[tortoisegit/TortoiseGitJp.git] / src / crashrpt / BaseDialog.h
1 #pragma once\r
2 #include <string>\r
3 \r
4 \r
5 /**\r
6  * A base window class.\r
7  * Provides separate window message handlers for every window object based on\r
8  * this class.\r
9  */\r
10 class CDialog\r
11 {\r
12 public:\r
13         INT_PTR DoModal(HINSTANCE hInstance, int resID, HWND hWndParent);\r
14 \r
15         virtual LRESULT CALLBACK DlgFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) = 0;\r
16 \r
17         operator HWND() {return m_hwnd;}\r
18 protected:\r
19         HINSTANCE hResource;\r
20         HWND m_hwnd;\r
21 \r
22         void InitDialog(HWND hwndDlg, UINT iconID);\r
23 \r
24         // the real message handler\r
25         static INT_PTR CALLBACK stDlgFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);\r
26 \r
27         // returns a pointer the dialog (stored as the WindowLong)\r
28         inline static CDialog * GetObjectFromWindow(HWND hWnd)\r
29         {\r
30                 return (CDialog *)GetWindowLongPtr(hWnd, GWLP_USERDATA);\r
31         }\r
32 };\r
33 \r