reactos/base/applications/taskmgr/taskmgr.h
Joachim Henze 628d4a92e9
[TASKMGR] Fix text cutoff statusbar2 CPU%, improve statusbar3 Mem (#5978)
ReactOS taskmgr writes a bit more *useful* dynamically
generated strings in the status-bar field 3 with the memory
than MS Windows XP taskmgr does for example.
Available space in the statusbar is very limited,
therefore we use the following trick to get as much as possible of that helpful text visible
for the majority of the translations:
- We do shrink the CPU% column a bit in width and static text lengths, as it is the one which
has very little variety in length of its dynamic part: 0% to 100%

This improves the display for all languages, and for some languages it also fixes
text-cutoff that we even had with the wider width in the CPU% column already.

also fix an accelerator collision in nl-NL.rc
2023-11-27 17:53:34 +00:00

85 lines
2.5 KiB
C

/*
* PROJECT: ReactOS Task Manager
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Main Header
* COPYRIGHT: Copyright 1999-2001 Brian Palmer <brianp@reactos.org>
*/
#pragma once
#include "resource.h"
#define RUN_APPS_PAGE
#define RUN_PROC_PAGE
#define RUN_PERF_PAGE
#define STATUS_WINDOW 2001
#define STATUS_SIZE1 85
#define STATUS_SIZE2 157 // he-IL.rc determines minimum width: 72 == 157 - 85
#define STATUS_SIZE3 400
typedef struct
{
/* Window size & position settings */
BOOL Maximized;
int Left;
int Top;
int Right;
int Bottom;
/* Tab settings */
int ActiveTabPage;
/* Options menu settings */
BOOL AlwaysOnTop;
BOOL MinimizeOnUse;
BOOL HideWhenMinimized;
BOOL Show16BitTasks;
/* 0 - Paused, 1 - High, 2 - Normal, 4 - Low */
DWORD UpdateSpeed;
/* Applications page settings */
DWORD ViewMode;
/* Processes page settings */
BOOL ShowProcessesFromAllUsers;
BOOL Columns[COLUMN_NMAX];
int ColumnOrderArray[COLUMN_NMAX];
int ColumnSizeArray[COLUMN_NMAX];
int SortColumn;
BOOL SortAscending;
/* Performance page settings */
BOOL CPUHistory_OneGraphPerCPU;
BOOL ShowKernelTimes;
} TASKMANAGER_SETTINGS, *LPTASKMANAGER_SETTINGS;
/* Global Variables: */
extern HINSTANCE hInst; /* current instance */
extern HWND hMainWnd; /* Main Window */
extern HWND hStatusWnd; /* Status Bar Window */
extern HWND hTabWnd; /* Tab Control Window */
extern int nMinimumWidth; /* Minimum width of the dialog (OnSize()'s cx) */
extern int nMinimumHeight; /* Minimum height of the dialog (OnSize()'s cy) */
extern int nOldWidth; /* Holds the previous client area width */
extern int nOldHeight; /* Holds the previous client area height */
extern TASKMANAGER_SETTINGS TaskManagerSettings;
/* Forward declarations of functions included in this code module: */
INT_PTR CALLBACK TaskManagerWndProc(HWND, UINT, WPARAM, LPARAM);
BOOL OnCreate(HWND hWnd);
void OnSize(WPARAM nType, int cx, int cy);
void OnMove(WPARAM nType, int cx, int cy);
void FillSolidRect(HDC hDC, LPCRECT lpRect, COLORREF clr);
void LoadSettings(void);
void SaveSettings(void);
void TaskManager_OnRestoreMainWindow(void);
void TaskManager_OnMenuSelect(HWND hWnd, UINT nItemID, UINT nFlags, HMENU hSysMenu);
void TaskManager_OnViewUpdateSpeed(DWORD);
void TaskManager_OnTabWndSelChange(void);
BOOL ConfirmMessageBox(HWND hWnd, LPCWSTR Text, LPCWSTR Title, UINT Type);
VOID ShowWin32Error(DWORD dwError);
LPTSTR GetLastErrorText(LPTSTR lpszBuf, DWORD dwSize);
DWORD EndLocalThread(HANDLE *hThread, DWORD dwThread);