扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:潇潇 来源:天极网 2007年10月31日
关键字:
function WindowProc ( hwnd : HWnd ; Msg : UINT; Wparam : WPARAM ; Lparam : LPARAM ) : LRESULT ; stdcall ; export ; var dc : hdc ; rc : Trect ; ps : TpaintStruct ; begin case Msg of WM_PAINT : Begin dc : = BeginPaint ( hwnd , ps ) ; …… …… EndPaint (hwnd, &ps) ; Exit ; end; WM_COMMAND : …… …… WM_DESTROY : Begin PostQuitMessage ( 0 ) ; Exit ; end ; end; Result : = DefWindowProc ( hWnd , Msg , wParam , lParam ) ; end ; |
tagWNDCLASSA = packed record style : UINT ; lpfnWndProc : TFNWndProc ; cbClsExtra : Integer ; cbWndExtra : Integer ; hInstance : HINST ; hIcon : HICON ; hCursor : HCURSOR ; hbrBackground : HBRUSH ; lpszMenuName : PansiChar ; lpszClassName : PansiChar ; end ; |
WindowClass . style : = CS_VREDRAW + CS_HREDRAW + CS_DBLCLKS ; WindowClass . lpfnWndProc : = @DefWindowProc ; WindowClass . hCursor : = LoadCursor ( 0 , IDC_ARROW ) ; WindowClass . hbrBackground : = 0 ; WindowClass . hInstance : = Hinstance ; StrPCopy ( WinClassName , ClassName ) ; |
function CreateWindow ( lpClassName : Pchar ; lpWindowName : PChar ; dwStyle : DWORD ; X , Y , nWidth , nHeight : Integer ; hWndParent : HWND ; hMenu : HMENU ; hInstance : HINST ; lpParam : Pointer ) : HWND ; |
program Project1; { $ APPTYPE CONSOLE } uses Windows , Messages ; { uses SysUtils ; } var wClass : TWndClass; // 主窗口类 hInst , //应用程序句柄 Handle : HWnd ; // 主窗口 aMsg : TMsg ; //消息 RCT : TRect ; //区域 ps : TPaintStruct ; //显示 dc : hdc ; //设备上下文 //函数:WindowProc //作用:处理主窗口的消息 function WindowProc ( hWnd , Msg , wParam , lParam : Longint ) : Longint ; stdcall ; begin WindowProc : = 0 ; case Msg of WM_PAINT : begin dc : =BeginPaint ( hWnd , ps ) ; GetClientRect ( hWnd , RCT ) ; DrawText ( dc , ' hello , world ! ' , -1 , RCT , Dt_SINGLELINE or DT_CENTER or DT_VCENTER ) ; EndPaint ( hWnd , ps ) ; Exit ; end ; WM_DESTROY : //结束应用程序 Begin PostQuitMessage ( 0 ) ; Exit ; end ; end ; Result : = DefWindowProc ( hWnd , Msg , wParam , lParam ) ; //消息默认处理 end ; //主窗口 begin // hInst : = GetModuleHandle ( nil ) ; // 获得应用程序句柄 with wClass do //初始化窗口类 begin hInstance : = system.MainInstance ; Style : = CS_HREDRAW or CS_VREDRAW ; HIcon : = LoadIcon ( 0 , IDI_APPLICATION ) ; LpfnWndProc : = @WindowProc ; HbrBackground : = GetStockObject ( WHITE_BRUSH ) ; lpszClassName : = ' Sample Class ' ; hCursor : = LoadCursor ( 0 , IDC_ARROW ) ; end ; RegisterClass ( wClass ) ; // 注册窗口类 //创建主窗口 Handle : = CreateWindow ( ' Sample Class ' , // 窗口类名 ' Windows API在Delphi中的应用 ' , //窗口标题 WS_OVERLAPPEDWINDOW or WS_VISIBLE , // 窗口风格 10 , //左边界坐标 10 , //上边界坐标 400 , // 宽度 300 , // 高度 0 , // 父窗口句柄 0 , //菜单句柄 system . MainInstance , // 应用程序实例 nil //创建窗口的附加参数 ) ; if Handle <> 0 then begin ShowWindow ( Handle , SW_SHOW ) ; UpdateWindow ( Handle ) ; end ; while ( GetMessage ( aMsg , Handle , 0 , 0 ) ) do //消息循环 begin TranslateMessage ( aMsg ) ; //翻译消息 DispatchMessage ( aMsg ) ; //发送消息 end ; end . |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者