| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 385 人关注过本帖
标题:到底该怎样???求解……拜托了~~~~(>_<)~~~~
只看楼主 加入收藏
MrBluer
Rank: 4
等 级:业余侠客
威 望:1
帖 子:120
专家分:263
注 册:2010-10-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
到底该怎样???求解……拜托了~~~~(>_<)~~~~
程序代码:
//全局变量声明
HINSTANCE hInst;
HPEN hPen[7];
HBRUSH hBru[7];
int sPen[7] = {PS_SOLID,PS_DASH,PS_DASHDOT,PS_DASHDOTDOT,PS_NULL,PS_INSIDEFRAME};
int sBru[6] = {HS_VERTICAL,HS_HORIZONTAL,HS_CROSS,HS_DIAGCROSS,HS_FDIAGONAL,HS_BDIAGONAL};
//、、、、、初始化函数
//建立7中不同的画笔及画刷对象
BOOL InitInstance(HINSTANCE hTnstance,int nCmdShow)
{
    HWND hWnd;
    HDC hdc;
    int i;

    hInst = hInstance;

    hWnd = CreateWindow("canvas","绘图窗口",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,
        NULL,hInstance,NULL);

    if (!hWnd)
    {
        return FALSE;
    }

    MoveWindow(hWnd,10,10650,350,ture);
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);

    for(i=0;i<=6;i++)
    {
        hPen[i] = CreatePen(sPen[i],1,RGB(255,0,0));
        if(i = 6)
            hBru[i] = CreateSolidBrush(RGB(0,225,0));
        else
            hBru[i] = CreateHatchBrush(sBru[i],RGB(0,225,0));
    }

    hdc = GetDC(hwnd);
    Mypaint(hdc);
    ReleaseDC(hWnd);

    return TRUE;
}

//////////自定义绘图函数、、、、、、、、、
//////////以各式画笔及画刷绘制线条与填充矩阵
void MyPaint(HDC hdc)
{
    int i,x1,x2,y;

    //////以7种不同画笔绘制线条
    for(i=0;i<=6;i++)
    {
        y = (i+i)* 30;

        SelectObject(hdc,hPen[i]);
        MoveToEx(hdc,30,y,NULL);
        LineTo(hdc,100,y);
    }

    x1 = 120;
    x2 = 180;

    /////以7种不同的画刷填充矩阵
    for(i=0;i<=6;i++)
    {
        SelectObject(hdc,hBru[i]);
        Rectangle(hdc,x1,30,x2,y);
        x1+=70;
        x2+=70;
    }
}


///////////消息处理函数
///////////1.窗口重绘消息发生时调用M有Paint()
///////////2.窗口结束消息发生时删除GDI对象
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM
                         1Param)
{
    PAINTSTRUCT ps;
    HDC hdc;
    int i;

    switch(message)
    {
    case WM_PAINT:
        hdc = BeginPaint(hWnd,&ps);
        MyPaint(hdc);
        EndPaint(hWnd,&ps);
        break;
    case WM_DESTROY:
        for(i=0;i<=6;i++)
        {
            DeleteObject(hPen[i]);
            DeleteObject(hBru[i]);
        }
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd,message,wParam,1Param);
    }
    return 0;
}



对于打的这段代码无法通过visual C++6.0编译器,在Win32 Application里建立工程还是直接做源文件运行都不行,两个提示也不一样,真不知道该怎样办了,老鸟们,help!help!
搜索更多相关主题的帖子: 求解 
2010-10-28 18:26
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
楼主厉害

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-28 18:30
WDMfans
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:168
注 册:2010-9-19
收藏
得分:0 
错别字一大堆
API使用错误
程序代码:
HINSTANCE hInst;
HPEN hPen[7];
HBRUSH hBru[7];
int sPen[7] = {PS_SOLID,PS_DASH,PS_DASHDOT,PS_DASHDOTDOT,PS_NULL,PS_INSIDEFRAME};
int sBru[6] = {HS_VERTICAL,HS_HORIZONTAL,HS_CROSS,HS_DIAGCROSS,HS_FDIAGONAL,HS_BDIAGONAL};
//、、、、、初始化函数
//建立7中不同的画笔及画刷对象


//////////自定义绘图函数、、、、、、、、、
//////////以各式画笔及画刷绘制线条与填充矩阵
void MyPaint(HDC hdc)
{
    int i,x1,x2,y;
   
    //////以7种不同画笔绘制线条
    for(i=0;i<=6;i++)
    {
        y = (i+i)* 30;
       
        SelectObject(hdc,hPen[i]);
        MoveToEx(hdc,30,y,NULL);
        LineTo(hdc,100,y);
    }
   
    x1 = 120;
    x2 = 180;
   
    /////以7种不同的画刷填充矩阵
    for(i=0;i<=6;i++)
    {
        SelectObject(hdc,hBru[i]);
        Rectangle(hdc,x1,30,x2,y);
        x1+=70;
        x2+=70;
    }
}



BOOL InitInstance(HINSTANCE hInstance,int nCmdShow)
{
    HWND hWnd;
    HDC hdc;
    int i;
   
    hInst = hInstance;
   
    hWnd = CreateWindow("canvas","绘图窗口",
        WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,
        NULL,0,hInstance,NULL);
   
    if (!hWnd)
    {
        return FALSE;
    }
   
    MoveWindow(hWnd,10,1065,0,350,1);
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);
   
    for(i=0;i<=6;i++)
    {
        hPen[i] = CreatePen(sPen[i],1,RGB(255,0,0));
        if(i = 6)
            hBru[i] = CreateSolidBrush(RGB(0,225,0));
        else
            hBru[i] = CreateHatchBrush(sBru[i],RGB(0,225,0));
    }
   
    hdc = GetDC(hWnd);
    MyPaint(hdc);
    ReleaseDC(hWnd,hdc);
   
    return TRUE;
}
///////////消息处理函数
///////////1.窗口重绘消息发生时调用M有Paint()
///////////2.窗口结束消息发生时删除GDI对象
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM
                         lParam)
{
    PAINTSTRUCT ps;
    HDC hdc;
    int i;
   
    switch(message)
    {
    case WM_PAINT:
        hdc = BeginPaint(hWnd,&ps);
        MyPaint(hdc);
        EndPaint(hWnd,&ps);
        break;
    case WM_DESTROY:
        for(i=0;i<=6;i++)
        {
            DeleteObject(hPen[i]);
            DeleteObject(hBru[i]);
        }
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd,message,wParam,lParam);
    }
    return 0;
}


[ 本帖最后由 WDMfans 于 2010-10-28 18:53 编辑 ]
2010-10-28 18:47
MrBluer
Rank: 4
等 级:业余侠客
威 望:1
帖 子:120
专家分:263
注 册:2010-10-23
收藏
得分:0 
回复 3楼 WDMfans
先说声谢啦!
不过……问题好似依旧啊……
2010-10-28 21:26
WDMfans
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:168
注 册:2010-9-19
收藏
得分:20 
你自己加个winmain函数 不久可以了
2010-10-28 21:41
快速回复:到底该怎样???求解……拜托了~~~~(>_<)~~~~
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024444 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved