俄罗斯方块白屏-我用c++在做俄罗斯方块,但是出现了一个网上也没搜到的问题

问题描述

我用c++在做俄罗斯方块,但是出现了一个网上也没搜到的问题

为什么运行一段时间后,窗体就会变成白色了呢?这个问题我困扰了很久,不解决的话,下面我就难以实行其他功能了!我是个新手,请大家多多指教!有图有源码!

#include "stdafx.h"
#include "俄罗斯方块游戏2.h"
#include
#define MAX_LOADSTRING 100
#define N 20 //小方块大小
HWND hWnd = NULL;
#define W 600 //窗口大小
#define H 610
HGDIOBJ oldbrush;
HBRUSH hb;

int X1=10;
int Y1=0;
bool ShowTetris[30][30]={0};

class Tetris //“父类”组成大方块中的小方块
{
public:
POINT p[4];
public:
virtual void one(HDC hdc,int x,int y){};
virtual void two(HDC hdc,int x,int y){};
virtual void three(HDC hdc,int x,int y){};
virtual void four(HDC hdc,int x,int y){};
void drawing(HDC hdc ,int x,int y);

};
void Tetris::drawing(HDC hdc ,int x,int y)
{
POINT A[4];
for(int i=0;i<4;i++)
{

    A[0].x = x+p[i].x*N;     A[0].y = y+p[i].y*N;
    A[1].x = x + N+p[i].x*N; A[1].y = y+p[i].y*N;
    A[2].x = x + N+p[i].x*N; A[2].y = y + N+p[i].y*N;
    A[3].x = x+p[i].x*N;     A[3].y = y + N+p[i].y*N;
    Polygon(hdc, A, 4);
}

}

class T1:public Tetris //"田条"
{
public:
void one(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(255,2,100));
oldbrush=SelectObject(hdc,(HBRUSH)(hb));
p[0].x=0,p[0].y=0;
p[1].x=1,p[1].y=0;
p[2].x=0,p[2].y=1;
p[3].x=1,p[3].y=1;
drawing(hdc,x,y);
}
void two(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(255,2,100));
oldbrush=SelectObject(hdc,(HBRUSH)(hb));
p[0].x=0,p[0].y=0;
p[1].x=1,p[1].y=0;
p[2].x=0,p[2].y=1;
p[3].x=1,p[3].y=1;
drawing(hdc,x,y);
}
void three(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(255,2,100));
oldbrush=SelectObject(hdc,(HBRUSH)(hb));
p[0].x=0,p[0].y=0;
p[1].x=1,p[1].y=0;
p[2].x=0,p[2].y=1;
p[3].x=1,p[3].y=1;
drawing(hdc,x,y);
}
void four(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(255,2,100));
oldbrush=SelectObject(hdc,(HBRUSH)(hb));
p[0].x=0,p[0].y=0;
p[1].x=1,p[1].y=0;
p[2].x=0,p[2].y=1;
p[3].x=1,p[3].y=1;
drawing(hdc,x,y);
}

};class T2:public Tetris //“竖条”
{
public:
void one(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(52,52,100));
oldbrush=SelectObject(hdc,(HBRUSH)(hb));
p[0].x=0,p[0].y=0;
p[1].x=0,p[1].y=1;
p[2].x=0,p[2].y=2;
p[3].x=0,p[3].y=3;
drawing(hdc,x,y);

}
void two(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(52,52,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));
    p[0].x=0,p[0].y=0;
    p[1].x=1,p[1].y=0;
    p[2].x=2,p[2].y=0;
    p[3].x=3,p[3].y=0;
    drawing(hdc,x,y);

}
void three(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(52,52,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));
    p[0].x=0,p[0].y=0;
    p[1].x=0,p[1].y=1;
    p[2].x=0,p[2].y=2;
    p[3].x=0,p[3].y=3;
    drawing(hdc,x,y);

}
void four(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(52,52,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));
    p[0].x=0,p[0].y=0;
    p[1].x=1,p[1].y=0;
    p[2].x=2,p[2].y=0;
    p[3].x=3,p[3].y=0;
    drawing(hdc,x,y);

}

};
class T3:public Tetris //“T条”
{
public:
void one(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(95,102,100));

oldbrush=SelectObject(hdc,(HBRUSH)(hb));
p[0].x=1,p[0].y=0;
p[1].x=0,p[1].y=1;
p[2].x=1,p[2].y=1;
p[3].x=2,p[3].y=1;
drawing(hdc,x,y);

}
void two(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(95,102,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));
    p[0].x=0,p[0].y=0;
    p[1].x=0,p[1].y=1;
    p[2].x=0,p[2].y=2;
    p[3].x=1,p[3].y=1;
    drawing(hdc,x,y);

}
void three(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(95,102,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));
    p[0].x=1,p[0].y=0;
    p[1].x=0,p[1].y=0;
    p[2].x=1,p[2].y=1;
    p[3].x=2,p[3].y=0;
    drawing(hdc,x,y);

}
void four(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(95,102,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));
    p[0].x=1,p[0].y=0;
    p[1].x=1,p[1].y=1;
    p[2].x=1,p[2].y=2;
    p[3].x=0,p[3].y=1;
    drawing(hdc,x,y);

}

};

class T4:public Tetris //“L形条第一种”
{
public:
void one(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(200,82,150));

oldbrush=SelectObject(hdc,(HBRUSH)(hb));
p[0].x=0,p[0].y=0;
p[1].x=0,p[1].y=1;
p[2].x=0,p[2].y=2;
p[3].x=1,p[3].y=0;
drawing(hdc,x,y);

}
void two(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(200,82,150));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=0,p[0].y=0;
    p[1].x=1,p[1].y=0;
    p[2].x=2,p[2].y=0;
    p[3].x=2,p[3].y=1;
    drawing(hdc,x,y);

}
void three(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(200,82,150));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=1,p[0].y=0;
    p[1].x=1,p[1].y=1;
    p[2].x=1,p[2].y=2;
    p[3].x=0,p[3].y=2;
    drawing(hdc,x,y);

}
void four(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(200,82,150));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=0,p[0].y=0;
    p[1].x=0,p[1].y=1;
    p[2].x=1,p[2].y=1;
    p[3].x=2,p[3].y=1;
    drawing(hdc,x,y);

}

};

class T5:public Tetris //“L形条第二种”
{
public:
void one(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(270,152,170));

oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=1,p[0].y=0;
    p[1].x=0,p[1].y=0;
    p[2].x=1,p[2].y=1;
    p[3].x=1,p[3].y=2;
    drawing(hdc,x,y);

}
void two(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(270,152,170));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=2,p[0].y=0;
    p[1].x=2,p[1].y=1;
    p[2].x=1,p[2].y=1;
    p[3].x=0,p[3].y=1;
    drawing(hdc,x,y);

}
void three(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(270,152,170));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=0,p[0].y=0;
    p[1].x=0,p[1].y=1;
    p[2].x=0,p[2].y=2;
    p[3].x=1,p[3].y=2;
    drawing(hdc,x,y);

}
void four(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(270,152,170));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=2,p[0].y=0;
    p[1].x=1,p[1].y=0;
    p[2].x=0,p[2].y=0;
    p[3].x=0,p[3].y=1;
    drawing(hdc,x,y);

}

};
class T6:public Tetris //“Z形条第一种”
{
public:
void one(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(255,252,100));

oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=0,p[0].y=0;
    p[1].x=1,p[1].y=0;
    p[2].x=1,p[2].y=1;
    p[3].x=2,p[3].y=1;
    drawing(hdc,x,y);

}
void two(HDC hdc,int x,int y)
{

    hb=CreateSolidBrush(RGB(255,252,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=1,p[0].y=0;
    p[1].x=1,p[1].y=1;
    p[2].x=0,p[2].y=1;
    p[3].x=0,p[3].y=2;
    drawing(hdc,x,y);

}
void three(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(255,252,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=0,p[0].y=0;
    p[1].x=1,p[1].y=0;
    p[2].x=1,p[2].y=1;
    p[3].x=2,p[3].y=1;
    drawing(hdc,x,y);

}
void four(HDC hdc,int x,int y)
{

    hb=CreateSolidBrush(RGB(255,252,100));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=1,p[0].y=0;
    p[1].x=1,p[1].y=1;
    p[2].x=0,p[2].y=1;
    p[3].x=0,p[3].y=2;
    drawing(hdc,x,y);

}

};
class T7:public Tetris //“Z形条第二种”
{
public:
void one(HDC hdc,int x,int y)
{
hb=CreateSolidBrush(RGB(290,255,255));

oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=1,p[0].y=0;
    p[1].x=2,p[1].y=0;
    p[2].x=1,p[2].y=1;
    p[3].x=0,p[3].y=1;
    drawing(hdc,x,y);

}
void two(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(290,255,255));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=1,p[0].y=1;
    p[1].x=0,p[1].y=1;
    p[2].x=0,p[2].y=0;
    p[3].x=1,p[3].y=2;
    drawing(hdc,x,y);

}
void three(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(290,255,255));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=1,p[0].y=0;
    p[1].x=2,p[1].y=0;
    p[2].x=1,p[2].y=1;
    p[3].x=0,p[3].y=1;
    drawing(hdc,x,y);

}
void four(HDC hdc,int x,int y)
{
    hb=CreateSolidBrush(RGB(290,255,255));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));

    p[0].x=1,p[0].y=1;
    p[1].x=0,p[1].y=1;
    p[2].x=0,p[2].y=0;
    p[3].x=1,p[3].y=2;
    drawing(hdc,x,y);
}

};

T1 t1;
T2 t2;
T3 t3;
T4 t4;
T5 t5;
T6 t6;
T7 t7;

Tetris *p=new Tetris;

void ChooseTetris1(HDC hdc,int a)
{
switch(a)
{
case 0:p=new T1;break;
case 1:p=new T2;break;
case 2:p=new T3;break;
case 3:p=new T4;break;
case 4:p=new T5;break;
case 5:p=new T6;break;
case 6:p=new T7;break;
default:break;

}

}

void display(HDC hdc)
{
t1.one(hdc,500,10);
t2.one(hdc,500,75);
t3.one(hdc,500,180);
t4.one(hdc,500,245);
t5.one(hdc,500,325);
t6.one(hdc,500,410);
t7.one(hdc,500,480);

}

// 全局变量:
HINSTANCE hInst; // 当前实例
TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本
TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名
// 此代码模块中包含的函数的前向声明:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);

int R;

int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);

// TODO: 在此放置代码。
MSG msg;
HACCEL hAccelTable;
R=rand()%7;

// 初始化全局字符串
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_MY2CPP, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance);
srand((unsigned)time(NULL));

// 执行应用程序初始化:
if (!InitInstance (hInstance, nCmdShow))
{
    return FALSE;
}

hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY2CPP));

// 主消息循环:
while (GetMessage(&msg, NULL, 0, 0))
{
    if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

return (int) msg.wParam;

}

//
// 函数: MyRegisterClass()
//
// 目的: 注册窗口类。
//
// 注释:
//
// 仅当希望
// 此代码与添加到 Windows 95 中的“RegisterClassEx”
// 函数之前的 Win32 系统兼容时,才需要此函数及其用法。调用此函数十分重要,
// 这样应用程序就可以获得关联的
// “格式正确的”小图标。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.style          = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc    = WndProc;
wcex.cbClsExtra     = 0;
wcex.cbWndExtra     = 0;
wcex.hInstance      = hInstance;
wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY2CPP));
wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName   = MAKEINTRESOURCE(IDC_MY2CPP);
wcex.lpszClassName  = szWindowClass;
wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

return RegisterClassEx(&wcex);

}

//
// 函数: InitInstance(HINSTANCE, int)
//
// 目的: 保存实例句柄并创建主窗口
//
// 注释:
//
// 在此函数中,我们在全局变量中保存实例句柄并
// 创建和显示主程序窗口。
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;

hInst = hInstance; // 将实例句柄存储在全局变量中

hWnd = CreateWindow(szWindowClass, L"Tetris",WS_CAPTION|WS_SYSMENU,
CW_USEDEFAULT,CW_USEDEFAULT, W,H, NULL, NULL, hInstance, NULL);

if (!hWnd)
{
return FALSE;
}

ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

return TRUE;
}

int a=0;
int X[1000];
int Y[1000];

int JudgeTetris()
{
for(int i=0;i
{
if(p->p[i].y+Y1+1>=28)
return 0;

}
for(int i=0;i<4;i++)
{

    for(int j=0;j<a;j++)
    {
        if(p->p[i].y+Y1+1>=Y[j]&&p->p[i].x+X1==X[j])
        {
            return 0;
        }

    }

}
return 1;

}

void StopTetris()
{
int x, y;
for(int i=0;i
{
x=X1+p->p[i].x;
y=Y1+p->p[i].y;

// ShowTetris[x][y] = true;
X[a]=x;
Y[a]=y;
ShowTetris[X[a]][Y[a]] = true;
a++;
}

}

void Down(HDC hdc,int n)
{
switch(n)
{

     case 0: p->one(hdc,X1*N,Y1*N);break;
     case 1: p->two(hdc,X1*N,Y1*N);break;
     case 2: p->three(hdc,X1*N,Y1*N);break;
     case 3: p->four(hdc,X1*N,Y1*N);break;
     default:break;
}

if(JudgeTetris())
{
    Y1++;

}
else
{
    StopTetris();
    R=rand()%7;
    delete  p;
        //到达低端时,随机选择一个数
    ChooseTetris1(hdc,R);
    Y1=0;
    X1=10;
}
for (int i = 0; i < 30; i++)
{
    for (int j = 0; j < 30; j++)
    {
        if (ShowTetris[i][j])
        {
            hb=CreateSolidBrush(RGB(34,139,34));
            oldbrush=SelectObject(hdc,(HBRUSH)(hb));
            POINT a[4] = { i*N, j*N, (i + 1)*N, j*N, (i + 1)*N, (j + 1)*N, i*N, (j+1)*N };
            Polygon(hdc, a, 4);
        }
    }
}

}
void QuickDown(HDC hdc)
{

 Y1+=1;

InvalidateRect(hWnd,NULL,TRUE);

}

void GoLeft(HDC hdc)
{
if(X1<=0)
{
X1-=0;

}
else X1-=1;
InvalidateRect(hWnd,NULL,TRUE);

}

int JR() //判断右边界
{
for(int i=0;i
{
if(p->p[i].x+X1>=20)

    return 0;

}
return 1;

}

void GoRight(HDC hdc)
{
if(!JR())
{

X1+=0;

}
else X1+=1;
InvalidateRect(hWnd,NULL,TRUE);

}

int L=0;
void Deforming(HDC hdc)
{

L+=1;
L=L%4;
InvalidateRect(hWnd,NULL,TRUE);

}

// 函数: WndProc(HWND, UINT, WPARAM, LPARAM)
//
// 目的: 处理主窗口的消息。
//
// WM_COMMAND - 处理应用程序菜单
// WM_PAINT - 绘制主窗口
// WM_DESTROY - 发送退出消息并返回
//
//

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
HGDIOBJ oldbrush;
HBRUSH hb;
RECT rect;
srand((unsigned)time(NULL));

switch (message)
{
case WM_COMMAND:
    wmId    = LOWORD(wParam);
    wmEvent = HIWORD(wParam);
    // 分析菜单选择:
    switch (wmId)
    {
    case IDM_ABOUT:
        DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
        break;
    case IDM_EXIT:
        DestroyWindow(hWnd);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    break;
    case WM_CREATE:
        SetTimer(hWnd,1,700,NULL);      //函数反回值就是第一个参数值1,表示此定时器的ID号;第二个参数表示要等待700毫秒时间再重新处理一次。第三个参数在这种方法中一般用NULL。
    case WM_TIMER:

    InvalidateRect(hWnd,NULL,TRUE);
    case WM_KEYDOWN:        //键盘控制方块移动
    hdc=GetDC(hWnd);
    switch((int)wParam)
    {

    case VK_DOWN:
        QuickDown(hdc);break;   //加速下落
    case VK_LEFT:
        GoLeft(hdc);break;      //键盘左移
    case VK_RIGHT:
        GoRight(hdc);break;     //键盘右移
    case VK_UP:
        Deforming(hdc);break;   //变形
    }
    ReleaseDC ( hWnd,hdc );
    return 0;
case WM_PAINT:
    hdc = BeginPaint(hWnd, &ps);
    ChooseTetris1(hdc,R);

    hb=CreateSolidBrush(RGB(255,228,181));//hb=CreateSolidBrush(RGB(255,192,250));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));
    Rectangle(hdc,0,0,420,560);     //游戏区域画刷

    hb=CreateSolidBrush(RGB(176,224,230));//hb=CreateSolidBrush(RGB(255,192,250));
    oldbrush=SelectObject(hdc,(HBRUSH)(hb));
    Rectangle(hdc,420,0,600,560);       //游戏区域画刷

    display(hdc);
    Down(hdc,L);
    // TODO: 在此添加任意绘图代码...
    EndPaint(hWnd, &ps);
    break;
case WM_DESTROY:
    KillTimer (hWnd, 1) ;
    PostQuitMessage(0);
    break;
default:
    return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;

}

// “关于”框的消息处理程序。
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;

case WM_COMMAND:
    if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
    {
        EndDialog(hDlg, LOWORD(wParam));
        return (INT_PTR)TRUE;
    }
    break;
}![图片](http://img.ask.csdn.net/upload/201605/23/1464003773_584645.jpg)![图片](http://img.ask.csdn.net/upload/201605/23/1464003943_873881.jpg)![图片](http://img.ask.csdn.net/upload/201605/23/1464004017_919643.jpg)

解决方案

http://wenku.baidu.com/link?url=w3-YVmtBDHFQXoxYmRGdckiHAidluFi7cNcvlsQTyff3AmnRh4R6Sg5fvF0uiMtur-CGhKJ4yvoXiP2eWp7vf0pUmg2a15-7LM8br6i7P9q

解决方案二:

http://wenku.baidu.com/link?url=w3-YVmtBDHFQXoxYmRGdckiHAidluFi7cNcvlsQTyff3AmnRh4R6Sg5fvF0uiMtur-CGhKJ4yvoXiP2eWp7vf0pUmg2a15-7LM8br6i7P9q

解决方案三:

代码太长了,估计是你刷新窗口之后没有再调用你原来的刷墙工刷上你原来的颜色所以是白的

时间: 2024-12-11 01:22:56

俄罗斯方块白屏-我用c++在做俄罗斯方块,但是出现了一个网上也没搜到的问题的相关文章

界面-软件锁屏的功能是怎么做的呢

问题描述 软件锁屏的功能是怎么做的呢 请问下一个winform的程序,我看到别人的可以就是界面弄锁屏了,就是那个软件只有输入密码才能把一个遮挡的东西弄掉,那个遮挡的东西是什么呢 解决方案 一般来说,遮挡的东西就是一个简单的窗体 如果只是遮挡自己软件的界面,还是比较简单的.如果还想遮挡系统的界面,则需要一些高级的技术,如遮挡 Win 按键等.可以考虑 HOOK 技术. 解决方案二: Winform 键盘钩子,锁屏小工具的实现http://blog.csdn.net/snlei/article/de

看电影白屏怎么办

  电脑白屏这个问题,相对于电脑蓝屏和电脑黑屏来说,出现的可能性要小,但也不排除在看电影等情况下会出现这种情况.有多种原因可能会导致电脑的白屏,每种原因都有相应的解决办法.接下来,我跟大家分享一下导致电脑白屏的几种原因以及如何处理电脑白屏的问题,希望对大家有所帮助. 方法重启电脑 当我们不知道具体是什么问题导致电脑白屏的时候,最先要做的就是重启电脑试试,说不定白屏问题自然而然就解决了哈,这也是对付电脑蓝屏的常用方法,很多时候也是相当有效地方法.降低"硬件加速" 在电脑桌面上点击鼠标右键

电脑开机白屏怎么办?

  根据初步现状来判断 1.如有警报声,根据警报声来判断相关问题 2.如没有警报声,可以正常开机,只是开机以后运行某个软件才出现该类问题,可以将该软件卸载后重装,如依然不行,可以升级显卡驱动,如依然不行,可以尝试重装系统. 3.如可以正常开机,一开机就白屏.可先更换其他一块同类显卡后关注相关情况,如果依然还是此情况,可重装系统,如重装系统后还出现该类问题,在把显卡的金手指(显卡下方金色部分).插槽等用酒精擦拭后再试,如不行,找售后做检测 祝您早日解决您的问题!

Android开发之解决APP启动白屏或者黑屏闪现的问题

在做搜芽的过程中,发现那个外包人缘做的不行,因为启动的时候会停顿,然后白屏一会,联想到几个月前我在我的三僚企业通信软件里面拉起9K-Mail的时候也会黑屏,所以决定学习一下.解决一下.这不,万能的网络还是非常有用的. 在这里总结一下. (参考及转载:http://www.2cto.com/kf/201409/339293.html) 欢迎页启动的线程由于请求和处理的数据量过大而,导致欢迎页在出现之前界面上会有一个短暂的白色闪屏停留,当然白色闪屏的停留是因为 application 的主题样式an

windows编程-Window编程闪屏双缓冲就显示白屏问题,求教,谢谢

问题描述 Window编程闪屏双缓冲就显示白屏问题,求教,谢谢 一直试验不成功,不知道原因在哪里,用窗口hdc就可以,用创建的hMemDc就不行...一直显示白屏,在这里求教?http://pan.baidu.com/s/1ntIhANB 帖了百度盘的链接,里面有代码. 代码就是加载了背景图,和一张图片.然后移动的图片,出现闪屏,所以想用双缓冲来弄. 懂的人,帮个忙,谢谢.折腾了三天了. 下面是核心代码,真心不知道哪里出错了!!!链接里有工程代码,有点乱,见谅...在学习中..麻烦懂的人帮我看一

wpf-WPF在跳转窗体的时候会出现白屏,如何才能不出现白屏直接显示要跳转的窗体?

问题描述 WPF在跳转窗体的时候会出现白屏,如何才能不出现白屏直接显示要跳转的窗体? 现在在用WPF做一个展示用的程序,类似PPT的播放.现在碰到一个问题是在用Windows.Show() 跳转窗体的时候(窗体都是占满屏幕的),总会先出现白屏,然后新窗体的内容才显示出来..如何才能不显示白屏直接显示内容呢?求大神指点 解决方案 这个问题是因为窗口渲染的耗时导致的,耗时短的话可以设置窗口AllowsTransparency属性为true,这样的话不会出现等待窗口渲染的过程中整个窗口都白掉. 这种方

上传图片显示白屏,该页无法显示的问题

问题描述 我家网络慢.无法改变的事实.导致我写的程序,上传图片有时候成功,有时候就出现显示白屏,或者该页无法显示的问题.请问,在不改变网络的情况下,怎么才能把这种情况压到最低.当然网络好的时候上传图片就不会出现异常.但是这个程序要写给别人.别人的网络大部分都是差的.所以想问下,在网络不改变的情况.怎么改变代码.或者增加什么连接数.或者数据库方面做什么改进.把一切的方法告诉我好吗.谢谢 解决方案 解决方案二:该回复于2010-12-03 11:48:49被版主删除解决方案三:个人感觉貌似上传跟网络

WordPress白屏问题的解决方法

解决白屏 要解决白屏之前首先要知道它是怎么产生的,回想一下,一般是做过以下几项操作之后产生了白屏: 1.修改了主题或者插件的代码. 修改了wordpress主题或者插件的代码是最常见的情况,你要做的就是登录 FTP 删除掉你修改的主题或者插件(主题目录:wp-content/themes:插件目录:wp-content/plugins),再登录后台,重新安装主题或者插件. 2.修改了 WordPress 核心文件. 如果你修改了 WordPress 的核心文件之后产生了白屏,请到 WordPre

Google Analytics白屏问题解决方法

3月29日Google Analytics无法访问,部分用户访问时出现白屏.主要原因是为GA提供CSS文件资源的ssl.gstatic.com域名被某墙阻塞.如果你也遇到了这个问题,请按以下步骤解决.   特别说明:此方法由新浪微博用户@飞翔猪啊在3月30日00:06第一时间提供.感谢飞翔猪啊.   1 在C:Windows System32 drivers etc下用记事本打开hosts文档.   2 在hosts文档中寻找ssl.gstatic.com记录,并将IP地址修改为74.125.3