Add base dialog
This commit is contained in:
parent
fdbe1a07bb
commit
1d3e58587d
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
.vs/
|
.vs/
|
||||||
build/
|
build/
|
||||||
|
*.aps
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
# Watchful Eye app CMakeLists.txt
|
# Watchful Eye app CMakeLists.txt
|
||||||
add_executable(WatchfulEye WIN32 "src/main.cpp" "src/pch.h")
|
add_executable(WatchfulEye WIN32 "src/main.cpp" "src/pch.h" "src/Application.h" "src/Application.cpp" "resource.rc" "src/resource.h")
|
||||||
|
|
||||||
set_property(TARGET WatchfulEye PROPERTY CXX_STANDARD 20)
|
set_property(TARGET WatchfulEye PROPERTY CXX_STANDARD 20)
|
||||||
|
|
||||||
|
|||||||
105
WatchfulEye/resource.rc
Normal file
105
WatchfulEye/resource.rc
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
// Microsoft Visual C++ generated resource script.
|
||||||
|
//
|
||||||
|
#include "src/resource.h"
|
||||||
|
|
||||||
|
#define APSTUDIO_READONLY_SYMBOLS
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 2 resource.
|
||||||
|
//
|
||||||
|
#include <winres.h>
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#undef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// English (United States) resources
|
||||||
|
|
||||||
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||||
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
#pragma code_page(1252)
|
||||||
|
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// TEXTINCLUDE
|
||||||
|
//
|
||||||
|
|
||||||
|
1 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"src/resource.h\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
2 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"#include <winres.h>\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
3 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"\r\n"
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Dialog
|
||||||
|
//
|
||||||
|
|
||||||
|
IDD_DIALOGMAIN DIALOGEX 0, 0, 300, 114
|
||||||
|
STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION
|
||||||
|
EXSTYLE WS_EX_TOPMOST
|
||||||
|
CAPTION "Dialog"
|
||||||
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
|
BEGIN
|
||||||
|
CTEXT "Time left on tester:",IDC_STATICTIME,17,27,266,60,SS_CENTERIMAGE
|
||||||
|
CTEXT "Time left on tester:",IDC_STATICUPPER,54,4,190,22,SS_CENTERIMAGE
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// DESIGNINFO
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
GUIDELINES DESIGNINFO
|
||||||
|
BEGIN
|
||||||
|
IDD_DIALOGMAIN, DIALOG
|
||||||
|
BEGIN
|
||||||
|
LEFTMARGIN, 7
|
||||||
|
RIGHTMARGIN, 293
|
||||||
|
TOPMARGIN, 7
|
||||||
|
BOTTOMMARGIN, 107
|
||||||
|
END
|
||||||
|
END
|
||||||
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// AFX_DIALOG_LAYOUT
|
||||||
|
//
|
||||||
|
|
||||||
|
IDD_DIALOGMAIN AFX_DIALOG_LAYOUT
|
||||||
|
BEGIN
|
||||||
|
0
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // English (United States) resources
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 3 resource.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#endif // not APSTUDIO_INVOKED
|
||||||
|
|
||||||
66
WatchfulEye/src/Application.cpp
Normal file
66
WatchfulEye/src/Application.cpp
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
// Application class implementation
|
||||||
|
#include "pch.h"
|
||||||
|
|
||||||
|
#include "Application.h"
|
||||||
|
|
||||||
|
#include "resource.h"
|
||||||
|
|
||||||
|
namespace watchfuleye {
|
||||||
|
Application::Application(const char* appName, const char* appVersion)
|
||||||
|
: m_appName(appName)
|
||||||
|
, m_appVersion(appVersion)
|
||||||
|
, m_mainDlg(nullptr)
|
||||||
|
{
|
||||||
|
std::cout << std::format("{} {}\n", m_appName, m_appVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Application::run() {
|
||||||
|
SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
|
||||||
|
|
||||||
|
m_mainDlg = CreateDialogParam(nullptr, MAKEINTRESOURCE(IDD_DIALOGMAIN), nullptr, reinterpret_cast<DLGPROC>(mainDlgProc), reinterpret_cast<LPARAM>(this));
|
||||||
|
|
||||||
|
ShowWindow(m_mainDlg, SW_SHOW);
|
||||||
|
|
||||||
|
MSG msg = {};
|
||||||
|
while (GetMessage(&msg, nullptr, 0, 0))
|
||||||
|
IsDialogMessage(m_mainDlg, &msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CALLBACK Application::mainDlgProc(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||||
|
static Application* app = nullptr;
|
||||||
|
|
||||||
|
switch (msg) {
|
||||||
|
case WM_INITDIALOG: {
|
||||||
|
app = reinterpret_cast<Application*>(lParam);
|
||||||
|
|
||||||
|
SetWindowText(dlg, app->m_appName.c_str());
|
||||||
|
// Set window icons
|
||||||
|
|
||||||
|
// Spawn in the lower right corner of the virtual screen (might be problematic in some cases)
|
||||||
|
int cornerX = GetSystemMetrics(SM_XVIRTUALSCREEN) + GetSystemMetrics(SM_CXVIRTUALSCREEN);
|
||||||
|
int cornerY = GetSystemMetrics(SM_YVIRTUALSCREEN) + GetSystemMetrics(SM_CYVIRTUALSCREEN);
|
||||||
|
|
||||||
|
SetWindowPos(dlg, nullptr, cornerX - 550, cornerY - 340, NULL, NULL, SWP_NOZORDER | SWP_NOSIZE);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WM_CLOSE: {
|
||||||
|
// Do nothing
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WM_DESTROY: {
|
||||||
|
PostQuitMessage(0);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Application::~Application() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
17
WatchfulEye/src/Application.h
Normal file
17
WatchfulEye/src/Application.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// Application class header
|
||||||
|
|
||||||
|
namespace watchfuleye {
|
||||||
|
class Application {
|
||||||
|
public:
|
||||||
|
Application(const char* appName, const char* appVersion);
|
||||||
|
|
||||||
|
void run();
|
||||||
|
|
||||||
|
~Application();
|
||||||
|
private:
|
||||||
|
static BOOL CALLBACK mainDlgProc(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
|
std::string m_appName, m_appVersion;
|
||||||
|
HWND m_mainDlg;
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -2,10 +2,20 @@
|
|||||||
#include "pch.h"
|
#include "pch.h"
|
||||||
|
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
#include "Application.h"
|
||||||
|
|
||||||
|
// Enable visual styles
|
||||||
|
#pragma comment(linker, "\"/manifestdependency:type='win32' \
|
||||||
|
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
|
||||||
|
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||||
|
|
||||||
|
#define APPNAME "Watchful Eye"
|
||||||
|
|
||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
std::cout << "Watchful Eye " APPVERSION "\n";
|
{
|
||||||
|
watchfuleye::Application app(APPNAME, APPVERSION);
|
||||||
|
app.run();
|
||||||
|
}
|
||||||
|
|
||||||
std::cin.get();
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
18
WatchfulEye/src/resource.h
Normal file
18
WatchfulEye/src/resource.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
// Used by C:\Users\Grayson\Documents\Visual Studio 18\Solutions\watchful-eye\WatchfulEye\resource.rc
|
||||||
|
//
|
||||||
|
#define IDD_DIALOGMAIN 101
|
||||||
|
#define IDC_STATICTIME 1000
|
||||||
|
#define IDC_STATICUPPER 1001
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 103
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
Loading…
x
Reference in New Issue
Block a user