📄 dataengine.~dpr
字号:
program DataEngine;
uses
Windows,
Messages,
CommCtrl,
Resource in 'Resource.pas';
const
MAINDIALOG_STATUS_HEIGHT = 70;
MAINDIALOG_LABLES_HEIGHT = 70;
LABLE_HEIGHT = 8;
WM_MAIN = WM_USER + 1000;
WM_MAINTIMER = WM_MAIN + 1;
procedure InitStatusListView(Handle:HWND);
var
hStatusListView:HWND;
LvColumn:LV_COLUMN;
LvItem:LV_ITEM;
szText:array[0..63] of Char;
begin
hStatusListView:=GetDlgItem(Handle,MAINDIALOG_STATUS);
ListView_SetExtendedListViewStyle(hStatusListView, LVS_EX_GRIDLINES or LVS_EX_FULLROWSELECT);
LvColumn.mask := LVCF_FMT or LVCF_WIDTH or LVCF_TEXT or LVCF_SUBITEM;
LvColumn.pszText:= szText;
LvColumn.cx:=40;
LvColumn.iSubItem:=0;
LvColumn.fmt:= LVCFMT_CENTER;
LoadString(hResInstance, STRING_GATE_STATUS0, szText, SizeOf(szText));
ListView_InsertColumn(hStatusListView,LvColumn.iSubItem,LvColumn);
LvColumn.cx:=100;
LvColumn.iSubItem:=1;
LoadString(hResInstance, STRING_GATE_STATUS1, szText, SizeOf(szText));
ListView_InsertColumn(hStatusListView,LvColumn.iSubItem,LvColumn);
LvColumn.cx:=60;
LvColumn.iSubItem:=2;
LoadString(hResInstance, STRING_GATE_STATUS2, szText, SizeOf(szText));
ListView_InsertColumn(hStatusListView,LvColumn.iSubItem,LvColumn);
LvColumn.cx:=60;
LvColumn.iSubItem:=3;
LoadString(hResInstance, STRING_GATE_STATUS3, szText, SizeOf(szText));
ListView_InsertColumn(hStatusListView,LvColumn.iSubItem,LvColumn);
LvColumn.cx:=60;
LvColumn.iSubItem:=4;
LoadString(hResInstance, STRING_GATE_STATUS4, szText, SizeOf(szText));
ListView_InsertColumn(hStatusListView,LvColumn.iSubItem,LvColumn);
LvColumn.cx:=60;
LvColumn.iSubItem:=5;
LoadString(hResInstance, STRING_GATE_STATUS5, szText, SizeOf(szText));
ListView_InsertColumn(hStatusListView,LvColumn.iSubItem,LvColumn);
LvColumn.cx:=60;
LvColumn.iSubItem:=6;
LoadString(hResInstance, STRING_GATE_STATUS6, szText, SizeOf(szText));
ListView_InsertColumn(hStatusListView,LvColumn.iSubItem,LvColumn);
end;
procedure RestWindows(Handle:HWND);
var
rcMainWnd,rcMainMemoWnd,rcStatus:TRECT;
begin
GetClientRect(Handle,rcMainWnd);
MoveWindow(GetDlgItem(Handle,MAINDIALOG_STATUS),
0,
rcMainWnd.Bottom - MAINDIALOG_STATUS_HEIGHT,
rcMainWnd.Right - rcMainWnd.Left,
MAINDIALOG_STATUS_HEIGHT,
True);
GetClientRect(Handle,rcStatus);
MoveWindow(GetDlgItem(Handle,MAINDIALOG_MEMO),
0,
0,
rcMainWnd.Right - rcMainWnd.Left,
(rcMainWnd.Bottom - rcMainWnd.Top) - MAINDIALOG_STATUS_HEIGHT - MAINDIALOG_LABLES_HEIGHT,// - (rcStatus.Bottom - rcStatus.Top) - MAINDIALOG_LABLES_HEIGHT,
True);
end;
procedure MainTimerProc(Handle:HWND;uMsg:UINT;idEvent:UINT;dwTime:LongWord);stdcall;
begin
if idEvent = WM_MAINTIMER then begin
exit;
end;
end;
function MainDialogProc(Handle:HWND;MsgID:UINT;wParam,lParam:Integer):BOOL;stdcall;
var
rcMainWnd:TRECT;
szText :array[0..63] of Char;
szMsg :array[0..63] of Char;
begin
Result:=True;
case MsgID of
WM_INITDIALOG: begin
LoadString(hResInstance, STRING_ENGINE_TITLE, szText, SizeOf(szText));
SetWindowText(Handle,szText);
SetClassLong(Handle, GCL_HICON, LoadIcon(hResInstance, MakeIntResource(PChar(2000))));
//MessageBox(Handle,GetCommandLine(),'test',MB_OK);
GetWindowRect(Handle,rcMainWnd);
RestWindows(Handle);
MoveWindow(Handle,
300,
200,
rcMainWnd.Right - rcMainWnd.Left,
rcMainWnd.Bottom - rcMainWnd.Top,
True);
InitStatusListView(Handle);
SetTimer(Handle, WM_MAINTIMER, 1000, @MainTimerProc);
end;
WM_SIZE: begin
RestWindows(Handle);
end;
WM_TIMER: begin
// if wParam = WM_MAINTIMER then begin
// end;
end;
WM_CLOSE: begin
LoadString(hResInstance, STRING_ENGINE_TITLE, szText, SizeOf(szText));
LoadString(hResInstance, STRING_ENGINE_EXIT, szMsg, SizeOf(szMsg));
if MessageBox(Handle,szMsg,szText,MB_ICONQUESTION or MB_YESNO)=IDYES then begin
EndDialog(Handle, 0);
end;
exit;
end;
WM_COMMAND: begin
if wParam = MENU_CONTROL_EXIT then begin
SendMessage(Handle,WM_CLOSE,0,0);
end;
exit;
end;
end;
Result:=False;
end;
begin
hResInstance:=LoadLibrary(RESLIBRARYFILENAME);
InitCommonControls();
DialogBox(hResInstance,MakeIntResource(PChar(1000)), 0, @MainDialogProc);
FreeLibrary(hResInstance);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -