标题:控制台程序中划线更新后消失怎么办?
只看楼主
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
已结贴  问题点数:10 回复次数:3 
控制台程序中划线更新后消失怎么办?
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <tchar.h>

extern "C"
{
    WINBASEAPI HWND WINAPI GetConsoleWindow();
}

int main(int argc, char *argv[])   //主线程运行结束,辅助线程也结束。
{
    HWND hwnd;
    HDC hdc;
    printf("There are some words in console window!\n在控制台窗口中绘图!\n");
    system("Color 3D");
    hwnd = GetConsoleWindow();
    hdc = GetDC(hwnd);
    LineTo(hdc, 200, 300);
    Rectangle(hdc, 10, 30, 300, 50);
    TextOut(hdc, 10, 10, _TEXT("Hello World\nYesNoConcel!"), 20);
    ReleaseDC(hwnd, hdc);
    getche();
    printf("After drawing!\n");
    return 0;
}
用上面的程序在VC控制台上划了一条线,但是刷新后这线就消失了,怎么才能保持刷新时不消失呢 ?
搜索更多相关主题的帖子: 控制台 划线 
2010-05-28 23:08
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
得分:10 
楼上的,没想到什么好办法,下面的做个参考:

……

    while(TRUE)
    {
        hdc = GetDC(hwnd);
        LineTo(hdc, 200, 300);
        TextOut(hdc, 10, 10, "Hello World", 10);

        Sleep(100);
        system("cls");
        ReleaseDC(hwnd, hdc);
    }

……

//以上只是画一条线和输出一个Hello World

做个有用的人!
2010-06-01 17:08
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 楼主 vfdff
用死循环 while(TRUE) 那不是程序就停那里了!

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2010-06-03 23:08
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
得分:0 
没错呀,程序是停在那里,满足一定条件后也可以退出。不知道,你想要实现什么功能。

做个有用的人!
2010-06-07 11:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-308564-1-1.html




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

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