⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 小小程序 (2001年5月12日).txt

📁 自己对DELPHI学习的一点体会
💻 TXT
字号:
小小程序 (2001年5月12日) 

网友更新  分类:所有类别   作者: zhuhongqing(推荐)  推荐:zhuhongqing   阅读次数:371  
(http://www.codesky.net)  

--------------------------------------------------------------------------------
  其实Delphi本质上仍是一种编程语言,只不过它的可视化特性太过强大,使得程序员往往忘了这一点。使用纯C语言编制Windows应用程序的朋友都知道,常规的方法是为Windows提供一个回调函数,在这个回调函数中处理各种消息,而程序的入口是一个名为WinMain的函数。 
  如果将Delphi看成一个单纯的PASCAL语言,就可以按上述的常规方法编制程序,下面就是这样一个例子,最终生成的可执行程序十分小,只有不到10KB。使用C语言编程的朋友可得会觉得下面的代码很眼熟。 

program MyApp; 

uses Windows, Messages; 

// 回调函数 
function AppWindowProc( 
hWnd:HWND; uMsg:UINT; 
wParam:WPARAM; lParam:LPARAM):LRESULT; stdcall; 
begin 
Result := 0; 
case uMsg of 
WM_DESTROY:begin 
PostQuitMessage(0); 
Exit; 
end; 
end; 
Result := 
DefWindowProc(hWnd, uMsg, wParam, lParam); 
end; 

var 
wc: TWndClass; 
hWnd: Integer; 
MSG: TMsg; 
begin 
// 程序从这里开始执行 
wc.style := CS_VREDRAW or CS_HREDRAW; 
wc.lpfnWndProc := @AppWindowProc; 
wc.cbClsExtra := 0; 

wc.cbWndExtra := 0; 
wc.hInstance := HInstance; 
wc.hIcon := LoadIcon(0, IDI_APPLICATION); 
wc.hCursor := LoadCursor(0, IDC_ARROW); 
wc.hbrBackground := (COLOR_BTNFACE+1); 
wc.lpszMenuName := nil; 
wc.lpszClassName := 'My App'; 
if RegisterClass(wc)=0 then Exit; 
hWnd := CreateWindow( 
wc.lpszClassName, 'TEST', 
WS_OVERLAPPEDWINDOW, 
CW_USEDEFAULT, CW_USEDEFAULT, 
CW_USEDEFAULT, CW_USEDEFAULT, 
0, 0, HInstance, nil); 
if hWnd=0 then Exit; 
ShowWindow(hWnd, SW_SHOWNORMAL); 
while GetMessage(MSG, 0, 0, 0) do begin 

TranslateMessage(MSG); 
DispatchMessage(MSG); 
end; 
Halt(MSG.wParam); 
end. 
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -