建立一个简易登录界面

#include<windows.h>

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;
    HFONT hfont, ohfont;
    static HWND hwndedit, hedit, hwndButton;

    switch(message)
    {
        case WM_CREATE:                                //应用程序建立一个窗口
                        hwndedit = CreateWindow( TEXT("edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 90, 60, 150, 30, hwnd, NULL, NULL, NULL);
                        hedit = CreateWindow( TEXT("edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 90, 100, 150, 30, hwnd, NULL, NULL, NULL);
                        hwndButton = CreateWindow( TEXT("button"), TEXT("安全登录"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON , 90, 200, 80, 28, hwnd, NULL, NULL, NULL);
            return 0;
        case WM_COMMAND:                            //处理点击按钮、菜单等控件时的触发消息
                        if( (HWND)lParam == hwndButton )
                        {
                            MessageBox( hwnd, TEXT("登录测试成功!"), TEXT("测试"), MB_ICONINFORMATION | MB_OK);
                        }
            return 0;
        case WM_PAINT:                                //重新自我绘制
                        hdc = BeginPaint (hwnd, &ps) ;
                        GetClientRect (hwnd, &rect) ;
                        hfont = CreateFont(30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "微软雅黑");
                        ohfont=SelectObject(hdc,hfont);
                        TextOut(hdc, 20, 60, "账户:", 5);
                        TextOut(hdc, 20, 100, "密码:", 5);
                        EndPaint(hwnd, &ps);
            return 0;
        case WM_DESTROY:                            //当窗口关闭时产生的原因
                        PostQuitMessage(0);            //产生WM_QUIT消息
            return 0;
        case WM_CLOSE:
                        DestroyWindow(hwnd);
            return 0;
    }
    return DefWindowProc(hwnd,message,wParam,lParam);
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    static TCHAR szAppName[]    =    TEXT ("DARKCHII");
    HWND hwnd;
    HBRUSH hbrh;
    MSG msg;
    WNDCLASS wndclass;
    hbrh=CreateSolidBrush(RGB(255,255,255));

    wndclass.cbClsExtra            =    0;
    wndclass.cbWndExtra            =    0;
    wndclass.hbrBackground        =    hbrh;
    wndclass.hCursor            =    LoadCursor(NULL, IDC_ARROW);
    wndclass.hIcon                =    LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hInstance            =    hInstance;
    wndclass.lpfnWndProc        =    WndProc;
    wndclass.lpszClassName        =    szAppName;
    wndclass.lpszMenuName        =    NULL;
    wndclass.style                =    CS_HREDRAW|CS_VREDRAW;

    if(!RegisterClass (&wndclass))
    {
        MessageBox(NULL,TEXT("注册窗口失败!"),szAppName,MB_ICONERROR);
        return 0;
    }

    hwnd = CreateWindow(szAppName,
            "DarkChii",
            WS_OVERLAPPEDWINDOW,
            640,                    //窗口的初始位置左边距
            180,                    //窗口的初始位置顶边距
            280,
            380,
            NULL,
            NULL,
            hInstance,
            NULL);

    ShowWindow(hwnd,nCmdShow);
    UpdateWindow(hwnd);

    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}

运行效果:

时间: 2024-10-26 09:08:40

建立一个简易登录界面的相关文章

Socket 初识 用Socket建立一个简易Web服务器

摘自<Asp.Net 本质论>作者:郝冠军 //在.Net中.system.Net命名空间提供了网络编程的大多数数据据类型以及常用操作,其中常用的类型如下:/*IPAddress 类表示一个IP地址* IPEndPoint类用来表示一个IP地址和一个端口号的组合,成为网络的端点.* System.Net.Sockets命名空间中提供了基于Socked编程的数据类型.* Socket类封装了Socked的操作.* 常见的操作:* Listen:设置基于连接通信的Socket进入监听状态,并设置等

简易登录界面

1 package Layout; 2 import java.awt.*; 3 import javax.swing.*; 4 public class LoginInterface extends JFrame{ 5 private ImageIcon photo = new ImageIcon("photo/psb.jpg"); 6 private JLabel l1 = new JLabel(photo); 7 private JLabel l2 = new JLabel(&q

19.3.19 使用Flask框架搭建一个简易登录服务器

import Flask import json from Flask import request server1 = flask.Flask(__name__) #实例化一个flask对象 @server1.route('/login',methods=['get','post']) #@server.route()可以将普通函数转换为服务器,包括登录接口路径.请求方式 def login(): username = request.values.get('name') #获取通过url请求

Android studio 开发一个用户登录界面

activity_main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/re

数据库编程(初次尝试)登录界面

1编程模型 1)首先创建数据库并在系统中设置好 2)使用CDatabase打开数据源的连接,如果利用AppWizard生成一个ODBC数据库应用程序,则会自动完成操作 3)使用ClassWizard加入由CRecordset类派生出的用户记录集,完成对数据库表的绑定 4)创建记录集对象,如果利用AppWard生成一个ODBC数据库应用程序,则会在文档类中创建 5)使用记录集对象对数据库进行遍历,增加,删除和修改等操作 6)使用CDataBase类的ExcuteSQL()函数直接进行SQL命令 7

Eclipse配置实现定制登录界面

Eclipse工具我相信定制对于开发的人员来说都很熟悉了,但是对我这个菜鸟来说是相当的有挑战性,因为我是从学习到工作一直学习的是运维相关工作,没有接触开发相关工作,所以在使用中比较困难,但是对于一个对技术有追求的人来说,应该上道比较快,我学习了半个月的java,因为工作忙,没有时间学习,通过这半个月基本上了解了最最基本的概念而已.因为公司最近更新架构,想吧公司的一些信息写入到sql下,然后通过web查询,所以自己摸索着实现Ecclipse下部署第一个web登录界面,在此给大家分享一下:具体见下:

【Android】利用表格布局,Android中xml文件与java的交互制作登录界面

登录界面是图形编程.网页编程的一个经典而又基础的程序. 在安卓中,如图所示一个基本登录界面: 点击取消按钮就关闭这个程序,点击登录按钮则显示用户输入的用户名与密码. 一.基本布局 这个程序利用到安卓中的表格布局. 先打开res/values/strings.xml中定义几个字符串.之所以不直接把字符串直接写在activity_main.xml的组件中,是因为免得Eclipse出现警告.这个文件的代码如下: <?xml version="1.0" encoding="ut

限制在同一台电脑上只允许有一个用户登录系统

在web应用系统中,出于安全性考虑,经常需要对同一客户端登录的用户数量和一个客户同时在多个客户端登陆进行限制.具体一点就是: 1.在同一台电脑上一次只允许有一个用户登录系统,2.一个用户在同一时间只允许在一个客户端登录. 我最近做的一个系统就遇到了这样的问题,本来系统已经开发完成了,但是安全测评没有通过,就是因为没有做这两个限制.怎么来做这样的限制呢?我在网上找了很久,发现问这个问题的人很多,但是没有找到特别清楚的答案.后来自己摸索着,看了一些书,终于找到解决办法了. 要解决这个问题实际上不难,

jsp简易登录和注册及JDBC连接Oracle

一:JDBC连接数据库(Oracle参考) public class DBTest {//测试 public static void main(String[] args) {  ResultSet rs = null;  Statement stmt = null;  Connection conn = null;  try {   // 加载驱动   Class.forName("oracle.jdbc.driver.OracleDriver");   // 连接数据库   Str