| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1662 人关注过本帖
标题:vc编写的windows程序编译链接都没错误,但窗口不能输出,求高人解答
取消只看楼主 加入收藏
tauke_wang
Rank: 2
等 级:论坛游民
帖 子:32
专家分:11
注 册:2011-9-22
结帖率:100%
收藏
 问题点数:0 回复次数:2 
vc编写的windows程序编译链接都没错误,但窗口不能输出,求高人解答
#include<windows.h>
#include<stdlib.h>
#include<string.h>
int i=0;

long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,long lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindowsClass(HINSTANCE hInstance,int nCmdShow);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpszCmdLine,int nCmdShow)
{
    MSG Message;
    if(!InitWindowsClass(hInstance))
        return FALSE;
    if(!InitWindowsClass(hInstance,nCmdShow))
        return FALSE;
    while(GetMessage(&Message,0,0,0))
    {
        TranslateMessage(&Message);
        DispatchMessage(&Message);
    }
    return Message.wParam;
}

long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam)
{
    HDC hDC;
    HBRUSH hBrush;
    HPEN hPen;
    PAINTSTRUCT PtStr;
    switch(iMessage)
    {
    case WM_PAINT:
        hDC=BeginPaint(hWnd,&PtStr);
        SetMapMode(hDC,MM_ANISOTROPIC);
        
        if(0==i%3)
        {
            hBrush=(HBRUSH)CreateSolidBrush(RGB(255,0,0));
        }
        else if(1==i%3)
        {
            hBrush=(HBRUSH)CreateSolidBrush(RGB(0,255,0));
        }
        else
        {
            hBrush=(HBRUSH)CreateSolidBrush(RGB(0,0,255));   
        }
        SelectObject(hDC,hBrush);
        Rectangle(hDC,0,0,1000,550);
        i++;
        
        DeleteObject(hBrush);
        EndPaint(hWnd,&PtStr);

        Sleep(1000);
        InvalidateRect(hWnd,NULL,1);
        return 0;
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    default:
        return DefWindowProc(hWnd,iMessage,wParam,lParam);
    }
}
BOOL InitWindowsClass(HINSTANCE hInstance)
{
    WNDCLASS wndclass;
    wndclass.cbClsExtra=0;
    wndclass.cbWndExtra=0;
    wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
    wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
    wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
    wndclass.hInstance=hInstance;
    wndclass.lpfnWndProc=WndProc;
    wndclass.lpszClassName="WinFill";
    wndclass.lpszMenuName=NULL;
    wndclass.style=CS_HREDRAW|CS_VREDRAW;
    return RegisterClass(&wndclass);
}
BOOL InitWindowsClass(HINSTANCE hInstance,int nCmdShow)
{
    HWND hWnd;
    hWnd=CreateWindow("颜色",
        "颜色",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT,
        0,
        CW_USEDEFAULT,
        0,
        NULL,
        NULL,
        hInstance,
        NULL);
    if(!hWnd)
        return FALSE;
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);
    return TRUE;
}


搜索更多相关主题的帖子: while include windows return 
2011-10-23 16:55
tauke_wang
Rank: 2
等 级:论坛游民
帖 子:32
专家分:11
注 册:2011-9-22
收藏
得分:0 
回复 2楼 naruto01
我其他的程序的结构也是这样写的,都可以运行的,没说WENCLASS HWND是局部变量的限制
2011-10-24 22:00
tauke_wang
Rank: 2
等 级:论坛游民
帖 子:32
专家分:11
注 册:2011-9-22
收藏
得分:0 
谢谢了!
2011-11-24 14:26
快速回复:vc编写的windows程序编译链接都没错误,但窗口不能输出,求高人解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014729 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved