我以下的程序,窗口为什么不重绘?
请把代码拷贝到你的delphi中运行一下忙看一下为什么uses
Windows,
Messages,
ShellAPI,
sysutils;
const
AppName = 'DeskTop Hide';
function DummyWindowProc (Wnd: hWnd; Msg, wParam: Word; lParam: LongInt) : LongInt; stdcall; {注意这里有一个 stdcall;定义了回调函数}
var
dc: hDC;
ps: PaintStruct;
begin
DummyWindowProc := 0;
if Msg=wm_Destroy then {收到关闭窗口消息时的处理}
PostQuitMessage (0)
else if (Msg=WM_Paint) then
begin
dc:=BeginPaint(wnd,ps);
FillPath(dc);
LineTo(dc, 100, 100);
EndPaint(wnd,ps);
end;
DummyWindowProc := DefWindowProc (Wnd, Msg, wParam, lParam);
end;procedure WinMain;
var
Wnd: hWnd;
Msg: TMsg;
cls: TWndClass;
begin
FillChar (cls, sizeof (cls), 0);
cls.lpfnWndProc := @DummyWindowProc;
cls.hInstance := hInstance;
cls.lpszClassName := AppName;
cls.hbrBackground := COLOR_WINDOW+2;
cls.style := CS_HREDRAW or CS_VREDRAW;
RegisterClass (cls);
Wnd := CreateWindow(AppName, AppName, ws_OverlappedWindow,
cw_UseDefault, cw_UseDefault, cw_UseDefault,
cw_UseDefault, 0, 0, hInstance, Nil);
ShowWindow (Wnd,sw_Show);
UpdateWindow(Wnd);
while GetMessage (Msg, 0, 0, 0) do
begin
TranslateMessage (Msg);
DispatchMessage (Msg);
end;
end;
begin
WinMain;
end.
请把代码拷贝到你的delphi中运行一下忙看一下为什么uses
Windows,
Messages,
ShellAPI,
sysutils;
const
AppName = 'DeskTop Hide';
function DummyWindowProc (Wnd: hWnd; Msg, wParam: Word; lParam: LongInt) : LongInt; stdcall; {注意这里有一个 stdcall;定义了回调函数}
var
dc: hDC;
ps: PaintStruct;
begin
DummyWindowProc := 0;
if Msg=wm_Destroy then {收到关闭窗口消息时的处理}
PostQuitMessage (0)
else if (Msg=WM_Paint) then
begin
dc:=BeginPaint(wnd,ps);
FillPath(dc);
LineTo(dc, 100, 100);
EndPaint(wnd,ps);
end;
DummyWindowProc := DefWindowProc (Wnd, Msg, wParam, lParam);
end;procedure WinMain;
var
Wnd: hWnd;
Msg: TMsg;
cls: TWndClass;
begin
FillChar (cls, sizeof (cls), 0);
cls.lpfnWndProc := @DummyWindowProc;
cls.hInstance := hInstance;
cls.lpszClassName := AppName;
cls.hbrBackground := COLOR_WINDOW+2;
cls.style := CS_HREDRAW or CS_VREDRAW;
RegisterClass (cls);
Wnd := CreateWindow(AppName, AppName, ws_OverlappedWindow,
cw_UseDefault, cw_UseDefault, cw_UseDefault,
cw_UseDefault, 0, 0, hInstance, Nil);
ShowWindow (Wnd,sw_Show);
UpdateWindow(Wnd);
while GetMessage (Msg, 0, 0, 0) do
begin
TranslateMessage (Msg);
DispatchMessage (Msg);
end;
end;
begin
WinMain;
end.
解决方案 »
- CLASS的内存释放的问题
- 记事本中的查找代码和查找下一个代码怎么写?
- 我在delphi7中找不到TNMSMTP,在哪里啊,请大家帮帮忙
- 在用ADO向ORACLE中插入日期数据
- 请问怎么样才能用TTS使电脑发中文,我就要它发中文,不强求中英文都能发!!!
- 关于作图软件中的选定功能
- Tstrings的过程问题,为什么这样做会出错?该怎样写呢。
- 如何获得mouse在屏幕上的位置(mouse.x,mouse.y)?
- ==哪里有象浏览器上的“前进”“后退”类型的按钮??===
- 请问:Delphi5.0中有没有像OutLook中左边文件夹的控件?
- 问题并没有完全解决,怎样改本地计算机的IP地址,而不是获得IP地址!
- 请教一个最基础的问题
function DummyWindowProc (Wnd: hWnd; Msg, wParam:
LongInt; { <- }
lParam: LongInt) : LongInt; stdcall;