zoukankan      html  css  js  c++  java
  • 九九乘法表

    #include<Windows.h>
    
    #define TextHeight 20
    #define TextWdith 80
    
    LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine,int nShowCmd)
    {
    	static TCHAR szAPPName[] = TEXT("MyWindows");
    	HWND hwnd;
    	MSG msg;
    	WNDCLASS wndclass;
    
    	wndclass.style = CS_HREDRAW | CS_VREDRAW;
    	wndclass.hInstance = hInstance;
    	wndclass.lpfnWndProc = WndProc;
    	wndclass.cbClsExtra = 0;
    	wndclass.cbWndExtra = 0;
    	wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
    	wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
    	wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    	wndclass.lpszClassName = szAPPName;
    	wndclass.lpszMenuName = NULL;
    
    	if(!RegisterClass(&wndclass))
    	{
    		MessageBox(NULL,TEXT("这个程序需要在 windows NT 下菜能执行!"),TEXT("错误"),MB_OK | MB_ICONERROR);
    		return 0;
    	}
    
    	hwnd = CreateWindow(szAPPName,TEXT("Windows编程练习"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
    
    	ShowWindow(hwnd,nShowCmd);
    
    	UpdateWindow(hwnd);
    
    	while(GetMessage(&msg,NULL,0,0))
    	{
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    
    	return msg.wParam;
    }
    
    LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam)
    {
    	HDC hdc;
    	PAINTSTRUCT ps;
    	RECT rect;
    	TCHAR szBuffer[128];
    	int i,j,mul;
    	TCHAR szStrings[] = TEXT("九九乘法表");
    
    	switch(message)
    	{
    /*
    	case WM_PAINT:
    		hdc = BeginPaint(hwnd,&ps);
    		GetClientRect(hwnd,&rect);
    		DrawText(hdc,TEXT("This is my first window !"),-1,&rect,DT_VCENTER | DT_CENTER | DT_SINGLELINE);
    		EndPaint(hwnd,&ps);
    		return 0;
    */
    	case WM_PAINT:
    		hdc = BeginPaint(hwnd,&ps);
    		TextOut(hdc ,0,10,szStrings,lstrlen(szStrings));
    		for(i = 1;i < 10;i++)
    		{
    			for(j = 1;j <= i;j++)
    			{
    				mul = i*j;
    				wsprintf(szBuffer,TEXT("%d x %d = %d   "),i,j,i*j);
    				TextOut(hdc,TextWdith*(j - 1),20 + TextHeight*i,szBuffer,lstrlen(szBuffer));
    			}
    
    		}
    
    		EndPaint(hwnd,&ps);
    		return 0;
    
    	case WM_DESTROY:
    		PostQuitMessage(0);
    		return 0;
    
    
    	default:
    		return DefWindowProc(hwnd,message,wparam,lparam);
    
    	}
    }
    

      

  • 相关阅读:
    View Focus的处理过程及ViewGroup的mFocused字段分析
    Android按键事件处理流程 -- KeyEvent
    Android中将xml布局文件转化为View树的过程分析(下)-- LayoutInflater源码分析
    Android中将xml布局文件转化为View树的过程分析(上)
    IntentService源码分析
    Android源码分析之SharedPreferences
    进程间传递文件描述符
    Epoll在LT和ET模式下的读写方式
    gdb
    Android开发之漫漫长途 Fragment番外篇——TabLayout+ViewPager+Fragment
  • 原文地址:https://www.cnblogs.com/devinblog/p/4231930.html
Copyright © 2011-2022 走看看