用EASYX代替GUI绘图
easyx吧
全部回复
仅看楼主
level 11
l521088816 楼主
void main()
{
HWND hwnd;
HINSTANCE hInstance;
initgraph(X,Y);
hwnd=GetHWnd();
srcProc = GetWindowLong(hwnd,GWL_WNDPROC);
SetWindowLong(hwnd,GWL_WNDPROC,(LONG)WndProc);
hInstance=(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE);
SetWindowLong(hwnd,GWL_STYLE,WS_VISIBLE|WS_CLIPSIBLINGS|WS_OVERLAPPEDWINDOW-WS_THICKFRAME-WS_MAXIMIZEBOX);
while(1)
{
if(repaint == 1)
{
SetWindowLong(hwnd,GWL_WNDPROC,(LONG)srcProc);
PostMessage(hwnd,WM_PAINT,0,0);
SetWindowLong(hwnd,GWL_WNDPROC,(LONG)WndProc);
repaint = 0;
}
Sleep(5);
}
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
...
}
2015年01月02日 12点01分 1
level 11
l521088816 楼主
这样一来就可以用API中的各种资源了
2015年01月02日 12点01分 2
level 11
l521088816 楼主
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HMENU hmenu;
switch (message)
{
case WM_PAINT:
repaint = 1;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
2015年01月02日 12点01分 3
1