|
@@ -1,25 +1,6 @@
|
|
|
-#include <windows.h>
|
|
|
-#include "resource.h"
|
|
|
+#include "stimpy.h"
|
|
|
#include "fileio.h"
|
|
|
|
|
|
-// Necessary to get the styles
|
|
|
-
|
|
|
-#pragma comment(linker, \
|
|
|
- "\"/manifestdependency:type='Win32' "\
|
|
|
- "name='Microsoft.Windows.Common-Controls' "\
|
|
|
- "version='6.0.0.0' "\
|
|
|
- "processorArchitecture='*' "\
|
|
|
- "publicKeyToken='6595b64144ccf1df' "\
|
|
|
- "language='*'\"")
|
|
|
-
|
|
|
-#pragma comment(lib, "ComCtl32.lib")
|
|
|
-
|
|
|
-#define IDC_MAIN_EDIT 101
|
|
|
-
|
|
|
-const char g_szClassName[] = "stimpyClass";
|
|
|
-
|
|
|
-OPENFILENAME ofn;
|
|
|
-
|
|
|
void ShowAlertAlreadyRunning()
|
|
|
{
|
|
|
MessageBoxW(NULL, L"This program is already running!", L"Warning!", MB_ICONWARNING);
|
|
@@ -30,12 +11,11 @@ void ShowAlertCurrentExe()
|
|
|
char szFileName[MAX_PATH];
|
|
|
HINSTANCE hInstance = GetModuleHandle(NULL);
|
|
|
GetModuleFileName(hInstance, (LPWSTR)szFileName, MAX_PATH);
|
|
|
- MessageBoxW(NULL, (LPWSTR)szFileName, L"About This Program", MB_OK | MB_ICONINFORMATION);
|
|
|
+ MessageBoxW(NULL, (LPWSTR)szFileName, L"About Stimpy", MB_OK | MB_ICONINFORMATION);
|
|
|
}
|
|
|
|
|
|
void OpenFile(HWND hWnd)
|
|
|
{
|
|
|
-
|
|
|
LPWSTR pwszBuf = (LPWSTR)GlobalAlloc(GPTR, (MAX_PATH) * sizeof(WCHAR));
|
|
|
|
|
|
ZeroMemory(&ofn, sizeof(ofn));
|
|
@@ -127,23 +107,58 @@ LRESULT CALLBACK WndProc(
|
|
|
break;
|
|
|
case WM_CREATE:
|
|
|
{
|
|
|
- HGDIOBJ hfDefault;
|
|
|
- HWND hEdit;
|
|
|
+ // Edit Box
|
|
|
DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL;
|
|
|
- hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", L"", dwStyle, 0, 0, 0, 0, hWnd, (HMENU)IDC_MAIN_EDIT, GetModuleHandle(NULL), NULL);
|
|
|
+ HWND hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", L"", dwStyle, 0, 0, 0, 0, hWnd, (HMENU)IDC_MAIN_EDIT, GetModuleHandle(NULL), NULL);
|
|
|
if(hEdit == NULL)
|
|
|
MessageBox(hWnd, L"Could not create edit box.", L"Error", MB_OK | MB_ICONERROR);
|
|
|
- hfDefault = GetStockObject(DEFAULT_GUI_FONT);
|
|
|
+
|
|
|
+ HGDIOBJ hfDefault = GetStockObject(DEFAULT_GUI_FONT);
|
|
|
SendMessage(hEdit, WM_SETFONT, (WPARAM)hfDefault, MAKELPARAM(FALSE, 0));
|
|
|
+
|
|
|
+ // Toolbar
|
|
|
+ TBBUTTON tbb[3];
|
|
|
+ TBADDBITMAP tbab;
|
|
|
+ tbab.hInst = HINST_COMMCTRL;
|
|
|
+ tbab.nID = IDB_STD_SMALL_COLOR;
|
|
|
+
|
|
|
+ ZeroMemory(tbb, sizeof(tbb));
|
|
|
+ tbb[0].iBitmap = STD_FILENEW;
|
|
|
+ tbb[0].fsState = TBSTATE_ENABLED;
|
|
|
+ tbb[0].fsStyle = TBSTYLE_BUTTON;
|
|
|
+ tbb[0].idCommand = IDR_OPEN;
|
|
|
+
|
|
|
+ tbb[1].iBitmap = STD_FILEOPEN;
|
|
|
+ tbb[1].fsState = TBSTATE_ENABLED;
|
|
|
+ tbb[1].fsStyle = TBSTYLE_BUTTON;
|
|
|
+ tbb[1].idCommand = IDR_SAVE;
|
|
|
+
|
|
|
+ tbb[2].iBitmap = STD_FILESAVE;
|
|
|
+ tbb[2].fsState = TBSTATE_ENABLED;
|
|
|
+ tbb[2].fsStyle = TBSTYLE_BUTTON;
|
|
|
+ tbb[2].idCommand = IDR_SAVE;
|
|
|
+
|
|
|
+ HWND hToolbar = CreateToolbarEx(hWnd, WS_CHILD | WS_VISIBLE, IDC_MAIN_TOOL, 3, 0, 0, (LPCTBBUTTON)&tbb, 3, 16, 16, 0, 0, sizeof(TBBUTTON));
|
|
|
+
|
|
|
+ SendMessage(hToolbar, TB_ADDBITMAP, 1, (LPARAM)&tbab);
|
|
|
+
|
|
|
+ ShowWindow(hToolbar, SW_SHOW);
|
|
|
}
|
|
|
break;
|
|
|
case WM_SIZE:
|
|
|
{
|
|
|
+ RECT rcTool;
|
|
|
+ HWND hTool = GetDlgItem(hWnd, IDC_MAIN_TOOL);
|
|
|
+ SendMessage(hTool, TB_AUTOSIZE, 0, 0);
|
|
|
+ GetWindowRect(hTool, &rcTool);
|
|
|
+ int iToolHeight = rcTool.bottom - rcTool.top;
|
|
|
+
|
|
|
HWND hEdit;
|
|
|
RECT rcClient;
|
|
|
GetClientRect(hWnd, &rcClient);
|
|
|
+ int iEditHeight = rcClient.bottom - iToolHeight;
|
|
|
hEdit = GetDlgItem(hWnd, IDC_MAIN_EDIT);
|
|
|
- SetWindowPos(hEdit, NULL, 0, 0, rcClient.right, rcClient.bottom, SWP_NOZORDER);
|
|
|
+ SetWindowPos(hEdit, NULL, 0, iToolHeight, rcClient.right, iEditHeight, SWP_NOZORDER);
|
|
|
}
|
|
|
break;
|
|
|
case WM_DESTROY:
|
|
@@ -187,6 +202,8 @@ int WINAPI WinMain(
|
|
|
SECURITY_ATTRIBUTES sa;
|
|
|
DWORD err;
|
|
|
|
|
|
+ InitCommonControls();
|
|
|
+
|
|
|
// Only one instance of this application at a time, please!
|
|
|
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
|
|
|
sa.bInheritHandle = NULL;
|